Skip to main content

再保険パッケージのコンテナ化とIaC

By May 30, 2021July 25th, 2021Ansible, 事例, Docker, IaC
Infrastructure-as-code

カバレッジ: 81%

コンテナ化:

ゼロからビルド環境まで

プロジェクト期間:

2ヶ月

再保険パッケージソフトの開発会社様

今回の事例は、再保険のパッケージソフトを開発しているインドの会社のものです。このパッケージは、オブジェクト指向の言語で書かれたWEBアプリケーションで、複数の国で提供されています。

課題

お客様は、オンプレミスの開発用サーバーのサポート終了に伴い、クラウドへの移行を計画されていました。ヒアリングを通じて、この移行と伴に並行して解決しなければならない3つの大きな課題が見えてきました。

1. 複雑な既存IaC

既存のChefコードは、共通化されておらず、非常に冗長で複雑になってしまっていました。そのため、クラウド移行の前に、既存コードの分析と部分的な再構築が必要でした。

2. 環境差異

IaCは導入済みでしたが、ローカル環境と結合テスト環境に違いがあり、テスト結果に差異が見られていました。

3. 適切なクラウド戦略

上記2つの課題の解決に加えて、将来の保守・管理を考慮した戦略的なクラウドプラットフォームの選択が必要でした。

解決策

分析フェーズで得た情報をもとに、お客様に合わせて以下の3つのアクションを計画し、実行しました。

1. ChefからAnsibleへの移行

IaCをよりシンプルに実現するために、ChefからAnsibleへの移行を決めました。同社のインフラチーム(運用チーム)がコードを確実に保守するためにIaCのシンプル化が必要でした。弊社は、インタビューの結果と既存のコードの分析結果から、AWS用にAnsibleのYAMLファイルを作成しました。その過程で、パラメータを適切に外部化し、メンテナンスを容易にするための共通部分を作成しました。

2. Dockerによるコンテナ化

2つ目のアクションは、結合テスト環境をコンテナ化し、テストごとにデプロイが行われるようにしたことです。コンテナは毎回削除され、新しいものと入れ替わるため、テスト環境は常にクリーンな状態に保たれます。このことで、環境差異をが生まれていくことを防いでいます。

3. AWSへの移行

AWSへの移行が3つ目のアクションでした。AWSエキスパートによって、AWS ECRとECSを使ってDockerコンテナ環境を作ることが容易だと判断され、AWSを選択しました。加えて、お客様のインフラチームのメンバーの中に、AWS経験者が複数いることも、大きな決定要因でした。

成果

オンプレミスのサーバーからAWSへの移行が問題なく完了しました。また、副次的な効果として障害対応のコストが削減されました。
IaCのカバレッジは既存のものと大きく変わりませんでしたが、メンテナンス性が飛躍的に向上しました。DevOpsでは定量的な評価だけでなく、定性的な評価も欠かせないことを示す好例といえるでしょう。
さらに、Dockerによるコンテナ化を実施したことで、結合テストの品質が大幅に向上しました。
このように、DevOpsのコンセプト自体は共通ですが、その実装は常にお客様固有になります。私たちは、お客様のDevOpsの仕組みを確立/改善するご支援しています。是非ご相談ください。

Leave a Reply

CAPTCHA