【事例】アジャイル開発を実践する老舗IT企業がCI/CDの効率化で生産性向上とコスト削減を実現
はじめに
前回まで、これからDevOpsを始めようと考えているチームのための入門編として、DevOpsに関する基本的なことを解説してきました。
今回からは、実例を通じてアジャイル開発やCI/CDなど、モダンな開発環境と運用をどのように実現していくのかを紹介していきます。初回の今回は、アメリカのIT企業におけるアジャイルフレームワークの構築について解説します。
どの企業も「DX」をキーワードに、ビジネスのデジタル化や抜本的な変革が求められています。今回取り上げる企業は創業が70年以上前でありながらも、今ではアジャイル開発やマルチクラウドなど最先端技術を駆使するIT企業です。
歴史をさかのぼると、食品加工でビジネスをしていた創業者が、1950年代初めに企業の情報管理で起業したのが始まりです。もちろん当時企業の情報は書類に記されていたので、実際には企業から書類を預かり、安全な倉庫で管理していたのです。コンピュータが登場するようになると、書類と並行してデジタルデータも管理するようにビジネスを変革し、最近では効率性を高めて温暖化ガス排出削減に寄与する取り組みも行っています。
物理資産(紙の書類)とデジタル資産の両方を安全に扱えるところや、顧客からの高い信頼は老舗企業ならではであり、スタートアップ企業が真似できないところです。ここに豊富な機能を俊敏に提供することや環境への配慮も可能とすることで、圧倒的な競争力につなげています。
こうしてこの企業は70年以上にわたり企業の情報管理をビジネスの柱としながらも、最先端技術を採用してビジネスの形を変貌させ続けています。昔も今も、DXを続けているような企業です。近年企業に求められるDXとは、このように永続的に変化を繰り返せる柔軟性や俊敏性を獲得することを求められているのではないでしょうか。
断片化したツールから
DevOpsを単一のビューで把握できるように
今回のテーマは「アジャイル開発環境における管理作業の高速化」です。
先述の企業では、オープンソースのツール群が断片化していること、開発と運用のコミュニケーションを妨げるギャップがあること、管理工数の負担が増していること、複雑なパイプラインのデプロイを効率的に保護する際に困難があることなどが課題となっていました。
具体的には、当時利用していたオンプレミスベースのプロジェクト管理システム「Jira」では、トラブルシューティングはプラグインになっており管理が煩雑でした。また既存のセキュリティソフトウェア「Veracode」では、開発サイクルの後半でしかコーディングの問題を発見できないような制限があり、手戻りが発生すると大量のリソースを費やす羽目に陥っていました。さらに「Kubernetes」といった新しいコンテナ環境を用いた開発のサポートや運用も課題となっていました。
これらの課題を解決するために、同企業のアーキテクチャおよびプラットフォームグループは、クラウドのマネージドサービスを利用可能とする全体戦略を実現するプラットフォームを構築するという目標を掲げました。そこでSaaSベースの統合プラットフォームの検討や評価を開始したのです。
複雑さを軽減し
セキュリティのシフトレフトも実現
最終的に同企業が選択したのはGoogle Cloud上でGitLabのUltimateプランのSaaS版を導入することでした。これにより、現在ではGoogle Kubernetes Engine(GKE)ワークロードで240もの自動クラウドデプロイを実行しています。
GitLab CI/CDを使用するとパイプラインの作成を効率化できるため、開発チームは時間を節約できるようになります。
同時に動的アプリケーションセキュリティテスト(DAST)や静的アプリケーションセキュリティテスト(SAST)などのセキュリティスキャンが可能となり、より良いセキュリティを担保することの後押しとなります。これは昨今セキュリティのベストプラクティスとして求められている「セキュリティのシフトレフト(セキュリティチェックを前倒しすること)」を実現することになり、同チームが目指していた課題解決にも合致します。
シフトレフトを実現するということは、セキュリティの責任を開発者の手に委ね、開発チームが開発プロセスの早い段階でセキュリティの欠陥を発見できるようになることを意味します。
GitLabはクラウドやマルチクラウドアーキテクチャに対応する新しいKubernetes環境を構築する際の開発者のニーズに応えつつ、管理を簡素化し、統合されたオーケストレーション環境としても機能します。GitLabの単一ソリューションとなるため複雑さを軽減でき、企業の技術計画に合致したコミュニティ主導のロードマップを後押しします。
また、パイプラインの作成を効率化するプラットフォームがあることで、開発者は管理作業に煩わされることなく開発に集中できるようになります。なおGitLabのUltimateプランはSaaSでありソフトウェアのメンテナンスもクラウド側で行われるため、これも開発者が開発に集中できることに寄与します。今ではGitLabは同企業のアジャイル開発におけるDevOpsに貢献しています。
GitLabを通じたガバナンスモデルの構築
具体的な導入効果も見ていきましょう。GitLabのUltimateプランのSaaS版を導入し、同企業はデプロイメント先のインフラの稼働時間を節約して、インフラストラクチャ管理に関連するコストを削減することで生産速度を向上しました。プロジェクトごとのオンボーディング時間(準備にかかる時間)も20時間節約できるようになりました。
また、今回のプロジェクトを通じて同企業はオンプレミスの仮想マシン数を減少させることができ、その結果として年間6万米ドル(約840万円)以上のメンテナンスコストと、年間9万米ドル(約1260万円)以上の人件費を削減しました。
同企業のエンタープライズテクノロジー担当バイスプレジデントは「私たちはGitLabを通じて拡張できるアジャイルフレームワークの基盤とプラットフォームを構築し、今では企業ITチームと主要なステークホルダーがコラボレーションできるようになった」と述べています。
なお、GitLabのエピックは開発チームが戦略テーマに従って問題を整理かつ追跡できます。言い換えると、エピックはプロジェクトやマイルストーンをまたぎテーマを共有するイシューのグループを追跡することで、プロジェクトのポートフォリオを管理できるものです。エピックの機能を活用すれば、開発チームメンバーは大規模な取り組みにも対応できる開発ガバナンスモデルを作成できるのです。
同企業はGitLabを導入することで、単一の画面から自分たちの能力に見合う需要を把握できるようになり、パイプラインでセキュリティを確保し、生産性を向上させながらも、安全かつ迅速なサービス提供のため優先すべき作業に集中できるようになりました。
連載バックナンバー
Think ITメルマガ会員登録受付中
全文検索エンジンによるおすすめ記事
- 【事例】開発プロセスの初期段階からセキュリティを組み込んだ製品を導入することでDevSecOpsやシフトレフトを実現
- DevOpsはここから始めよう
- 【事例】すべての機能を利用可能なDevSecOpsプラットフォームで生産性向上
- JFrog Japan主催による、DevOpsの最新事情がわかる開発者向けイベント「DevOps Kaigi ’21」を開催
- プロダクトライフサイクルでのシフトレフトを推進―開発者ファーストの思想で一貫したDevSecOps環境を実現するSnyk
- KubeConでGitLabのアライアンスVPに訊いてみた
- HPが提唱するDevOps実現の確実な切り口はテストツールの革新から
- 【事例】DevOps環境で使うツールを統一することで生産性向上や高速化を実現
- パッケージリポジトリのJFrogが日本法人を設立。日本人社員に聞いたJFrogの勘所
- キャリアアップのためにも学び続けよう