クラウド移行により運用の課題を解決する
「COMPANY」は1996年に誕生し、(登壇時点で)24年目を迎えた歴史あるアプリケーションだ。日本の大手法人の人事関連業務をサポートするため、多種多様な顧客のニーズに対応できるように幅広い機能をそろえている。オンプレミスのサーバー向けに開発されたアプリケーションだが、新しいバージョンではAWSを用いたクラウドサービスとしての提供も行っている。
一方で、歴史があるということはシステムにおいて技術的負債が蓄積されていることも意味する。用いられている技術はレガシーであり、かつ膨大なコード量と各機能同士の密結合が存在している。具体例を挙げると、プログラムはJava6で書かれておりコード行数は320万以上。1~2年前まではビルドに約4時間もかかっていた。
クラウドサービスとしての提供にも多くの課題がある。例えば、新機能を顧客に提供する前にはPreparationという業務が必要になっている。これは、リリース作業後に社内のメンバーがデプロイの正常終了やアプリケーションの正常動作などを確認するための工程だ。この作業にかかる工数は非常に大きい。さらにAWSを用いてはいるが、Amazon EC2によるホスティングが多く、クラウドによるメリットを十分に発揮できてはいない。
「これらの課題を解決するため、Works Human Intelligenceは『COMPANY』をクラウド移行するプロジェクトを推進しています。私はこのプロジェクトに参画し、人事・給与関連の処理を担うAmazon EC2のバッチサーバーをAmazon ECS化していく役割を担いました。」と増井氏は述べる。
Amazon ECS化の理由は、以下の問題点を解決するためだ。
- 高負荷でメモリなどが枯渇することがある
- 負荷への対策がスケールアップしかない(そのためダウンタイムを伴う)
- 稼働状況によらず一定のコストがかかる(バッチインスタンスのサイズはm5.large ~ m5.2xlarge程度)
増井氏が本プロジェクトに参画した理由は3つある。1つ目はAWSについて学んできた経験をアプリケーションに生かすため。増井氏は過去にAWS Solution Architect Professionalの資格を取得しており、その知識をプロジェクトで試したいと考えた。2つ目はAmazon ECSに触れることで、コンテナ技術という新しいスキル・知見を得るため。3つ目は、今後のプロダクトの発展に貢献できるような影響力のある仕事をしたいと考えたためだという。