アイレットが提供するクラウドの導入設計から構築・運用・監視保守までのマネージドサービス「cloudpack」には、「24時間365日有人による監視運用」という強みがあります。
この「24時間365日有人による監視運用」を担当しているのは、アイレットのMSP(Managed Service Provider)チームであり、交代制でサーバーを見張り、お客様のインフラ環境やITシステムの安定運用を実現しています。
以前「MSP業務の効率化を実現〜PagerDutyを活用した次世代監視システムを開発〜」という記事で紹介しましたが、アイレットでは、MSPチームが有人で実施していた監視業務の一次対応の一部を自動化するため、「次世代監視基盤 AMS(Advanced Monitoring System)」を自社開発しました。
AMSの導入により有人による監視+システムによる自動監視というダブルチェック体制で、よりクオリティの高い監視業務が可能となりました。
今回、このAMSの開発効率アップのため、性能、柔軟性、制御性を兼ね備えたCIツールである「CircleCI」を導入しました。
この記事では、導入背景から導入後の効果などをまとめていきます。
導入背景
AMSでは、アラートのオープン、手順書確認、動作確認・情報取得、復旧対応・復旧確認、エスカレーション、アラートのクローズといった監視業務を全て自動化することができます。
このAMSの開発を担当しているのが、アイレットの「MSP開発チーム」です。
今までは、システム改修やバージョンアップ後のリリース作業を手作業で行っていたため、運用保守に時間がかかってしまうという課題がありました。
そこで、リリースプロセスの自動化により、運用保守の手間を削減し、新規開発により注力することでプロジェクト品質のさらなる向上を目的としました。
「CircleCI」を選んだ理由
アイレットが「CircleCI」を選んだ理由は以下の4つです。
- オンプレ型/SaaS型を選択できるため、SaaS型を使用すれば自前でCI/CD用サーバーを立てる必要がなく環境保守コストが低い
- コンテナの中で処理を行うため、コンテナを増やせば並列実行で処理速度を上げることができる。またコンテナへはSSHを経由してアクセスできるため、デバッグしやすい
- 多くのサービスやツールとの連携が可能(https://circleci.com/ja/integrations/)
- クラウドプロバイダーに依存しないので採用しやすい(AWSだけでなくGCP向けのサービス展開も今後対応予定のため)
ビルド時間短縮のために工夫したこと
MSP開発チームは、ローカル環境で開発したものが、自動でテスト/ビルドされ、本番のサーバーに反映される環境を構築することを目指しました。
CircleCIの以下の機能を使用することで、ビルド時間が短縮できました。
- Dockerレイヤーのキャッシュ/依存関係のキャッシュ
必要なデータを過去のジョブから再利用することができ、ジョブを高速化することができました。 - テストの並列実行
CircleCi側でテスト対象のファイルを自動で複数コンテナに分散して実行してくれるのでテストにかかる時間が減りました。 - ジョブの並列実行
ワークフロー機能でジョブの作業順を定義できるので、今まで順次手動実行していた作業を、互いに影響し合わない場合は並列実行させることで、時間短縮できました。
導入効果
「CircleCI」の導入により、GitHubのpushやtagビルドをトリガーにして、ブランチ毎に必要なコマンドを自動的に実行することが可能となったほか、開発からデプロイまでのプロセスが削減され、従来のリリース作業時間のうち約23%の時間削減ができました。
導入時には、無料で利用できるチャットサポートシステムにより、CircleCI社にも大いにご協力をいただきました。その結果、スムーズかつスピーディな業務遂行が実現できました。
まとめ
AMSに「CircleCI」を導入した結果をまとめました。
今回、開発効率のアップを実現できたことで、AMSはさらなるパワーアップを遂げました。
MSP開発チームでは、今後もMSP業務を効率化しながら、お客様がさらに安心して運用保守をcloudpackにおまかせいただけるようにスピード・安全性・スケーラビリティを高いレベルで確保する理想的な環境の構築を続けていきます。
運用監視でお困りの際はぜひcloudpackにお任せください!