エンドツーエンドのHRテクノロジー製品であるSpotmentorは、製品開発のライフサイクル中の複数の課題に直面しました。
DevOpsへのモデルシフトが唯一の救済策でした。まずは、どの部分から始めるかの調査が始まり、開発時にどこに時間がかかっているかの調査を行いました。すると明らかにアプリケーションのデプロイに時間がかかっていることがわかりました。リリース時に、すべての構成をデプロイしてチェックするのに 2 時間かかっていました。自動化ツールであるCI/CD パイプラインによるビルドとデプロイの自動化プロセスの確立が急務でした。Jenkinsツールの使用が検討され、パイプラインは10日以内に開発されました。第2の重要課題は、モジュールの依存関係が複雑になっていることです。検討の結果、最終的にコードをマイクロサービスに分割することが決定されました。ただし、CI/CD部分はマイクロサービスに対応していませんでした。また、インフラストラクチャ全体がマイクロサービスをサポートできませんでした。検討の結果、これを解決するためのプロジェクトが立ち上げられました。Calanceはマイクロサービスに対応するインフラストラクチャの構築に取り組み、開発チームはアプリケーションをマイクロサービスに分割しました。DockerとKubernetesが、キーとなるテクノロジーでした。Kubernetes クラスターは、KOps (Infrastructure as Code) を使用して AWS でセットアップされました。安全性の高いシステムを作成するため、プライベートサブネットを構築しました。CI/CD は、マイクロサービス アプリケーションをデプロイできるように変更されました。このプロジェクトは1.5ヶ月以内に終了し,マイクロサービスをサポートするための新しいインフラストラクチャが非常に早いスピードで構築されました。最新のGitOps技術がアプリケーションの配布と状態管理に使用されました。このプロジェクトで、開発者のスキルも大きく向上しました。
結果は驚くべきものでした。週に5〜10台の範囲にあったサーバーの平均停止は、週あたり0.1に抑えられました。当初2時間かかっていたデプロイ時間は、ボタンをクリックするだけで10分に短縮されました。チームの全員がサーバー操作にも慣れ、調和のとれた開発と運用が実現しました。
Jenkins DSL, Kops, AWS EFK Stack (Elasticsearch, Fluentd and Kibana), Git and Github SonarQube Grafana, Prometheus and Alerts Manager