Skip to main content

Coveo、マイクロサービスのデプロイパイプラインにSnykを統合

業種: 技術
場所: Canada

ハイライト:

49以上のマイクロサービスのデプロイパイプラインにSnykを直接統合

セキュリティを犠牲にすることなく、数百人の開発者の開発スピードを維持

自動化されたCI/CDパイプラインを活用し、3か月で1,000件以上のリリースを安全にデプロイ

1,500以上の顧客環境でダウンタイムゼロを達成

自動化されたパイプラインを活用し、わずか1週間で新しいデプロイをゼロから開始

課題:マイクロサービスアーキテクチャ全体でDevSecOpsを拡大

Coveoは、AIを活用した検索とレコメンデーションの先駆者であるエンタープライズ向けSaaS企業です。クラウドファーストのプラットフォームにより、顧客のジャーニーのあらゆる段階で関連性の高い情報を提供し、企業が大規模なパーソナライズを実現できるよう支援しています。デジタル体験が進化し続けるなか、Coveoは高まる需要に応えるため、開発チームを急速に拡大してきました。

Coveoの革新的なプラットフォームは49以上のマイクロサービスで構成され、それぞれ異なるテクノロジーセットで構築されています。この多様な技術スタックにより、全社的なアプリケーションセキュリティの導入は困難でした。Coveoはセキュリティを損なうことなくプラットフォームを拡大するだけでなく、顧客の期待に応えるため開発速度も高め続けたいと考えていました。その実現には、継続的インテグレーション/継続的デリバリー(CI/CD)プロセスにセキュリティを直接組み込む必要があると認識していました。

「デプロイプロセスと製品について、私たちは大きな目標を掲げています」と、Coveoのクラウドプラットフォーム担当プロダクトマネージャー、Alex Emery氏は語ります。「常に重視しているのは、需要に応じて規模を拡大し、開発者のスピードを高めながら、本番環境の問題を最小限に抑え、セキュリティも確保することです。」

解決策:デプロイパイプラインへのセキュリティの統合

Coveoは多様な技術スタックを採用しているため、デプロイにはアーティファクト、インフラストラクチャのチェック、データベースの改訂など、互いに連携していないさまざまな要素が関わります。そこでCoveoは、継続的インテグレーションにJenkinsを使用し、Java、TypeScript、Go、Pythonなど、異なるテクノロジーで構築された各マイクロサービスに適応できる、効率的なデプロイパイプラインを構築しました。

「Coveoでは、ある技術スタックが別の技術スタックより優れているとは考えていません」と、Coveoのセキュリティエンジニア、Jean-Alexandre Beaumont氏は語ります。「その考えを実現するには、柔軟に対応できる必要があります。各開発チームが好きなスタックを使いながら、同じデプロイパイプラインを利用できるようにしなければなりません。」

新しいコードがマージされると、Jenkinsがコードテスト、Snykによるセキュリティスキャン、ビルド、パッケージ化を自動的に実行します。Snyk CLIを使用して各パッケージをSnyk組織に割り当て、オープンソースライセンスへの準拠状況とセキュリティ上の脆弱性をスキャンします。これにより、新しいコードがプッシュされると問題をすぐに検出して修正し、本番環境にパッケージをデプロイする前に対処できます。さらに各パッケージのモニタリングを開始し、後日Snykが新たな脆弱性を検出した場合にCoveoへ通知します。

「ソフトウェアのデプロイには、多くの要素が関わります」とEmery氏は説明します。「すべて手作業で行うと、時間がかかり、面倒で、ミスも起こりやすく、頻繁には実施したくなくなります。だからこそ、セキュリティも含めてすべてをSnykで自動化する必要があると考えました。」

組織全体へのSnykの展開

26の開発チームで175人を超えるエンジニアが働くCoveoでは、導入を定着させるために、さまざまなテクノロジーやCI/CDパイプラインとのシームレスな統合が必要でした。自動化に重点を置いた新しいデプロイパイプラインは、手動の品質保証テスト、承認、セキュリティスキャンなど、以前の継続的デプロイの取り組みを大幅に遅らせていた作業をなくしました。

さらに、デプロイパイプラインは基盤となるプロセスの一部を抽象化するため、開発者はコード変更を安全に届けるためのすべての仕組みを理解する必要がありません。統合されたパイプラインの使いやすさ、特にSnykのような開発者に優しいツールによって導入の障壁が下がり、全社的なDevSecOpsが実現しました。

「最初は小さなチームがデプロイパイプラインを構築し、その後、すべての開発者が利用できるようにしました」とBeaumont氏は明かします。「セキュリティと使いやすさの面で多くのメリットがあったため、新しいパイプラインを採用するよう開発チームを説得する必要はほとんどありませんでした。移行は自然に進みました。」

成果:3か月で1,000件を超えるリリースを安全にデプロイ

新しいデプロイパイプラインにより、Coveoは自動化を通じて組織全体のアプリケーションセキュリティを拡大しながら、開発を加速できるようになりました。実際、わずか3か月で1,000件を超えるコードリリースをデプロイしました。新しいリリースをより頻繁かつ安全にデプロイできるだけでなく、1,500を超える顧客環境全体でダウンタイムゼロを達成しています。これが、大規模なDevSecOpsです。

Snyk について Coveo

Coveoは人工知能技術を活用して、何百万ものデジタル体験をパーソナライズしています。インサイトエンジンを通じて、企業が従業員、顧客、販売代理店、パートナーにより関連性の高いコンテンツを提供できるよう支援します。成長を続けるCoveoは、クラウドサービスを幅広く利用し、コンテナ技術を活用しています。Coveoは、セキュリティのベストプラクティスをDevOpsワークフローに直接組み込むためにSnykを選びました。Snykを活用することで、CoveoはDevOpsチームがセキュリティに責任を持てるようにし、ライセンスコンプライアンスを確保するとともに、本番環境に移行する前にすべてのオープンソース依存関係とコンテナイメージをスキャンしています。