AWS CodeDeploy はお客様に迅速に、より信頼性をもって当社のコードを出荷するために役立ちます。
Nick Elser エンジニアリングディレクター

Instacart では、顧客は食料品をオンラインで注文できます。顧客を個人の買物代理人と結びつけて、買物代理人は、地域にある顧客好みの店で商品を選んで購入し、直接顧客の家まで配送します。2012 年にサンフランシスコで創業した Instacart は、米国の 18 を超える都市部に休息に拡大し、全国的な人気チェーン店 (Whole Foods Market、Costco、Petco) のほかに、地域やリージョンのスーパーのような数十の食料品小売店と提携しています。

Instacart は AWS を使用して本番環境データベースをスケールする (日本語字幕)

Instacart-thumb
  • Instacart は当初、自社開発のデプロイツールを使用してすべてのアプリケーションを展開しました 
  • このツールは 1 つまたは 2 つの開発者の時間を毎週 2、3 時間使って、監視、保守し、機能と特徴において制限されていました
  • 同社は、さまざまなサイズのクラスターに対して 1 日に数百のデプロイを実行するため、デプロイをし、それらのデプロイを監視するための信頼できる方法が必要でした
  • AWS CodeDeploy を使用し始めて、消費者向けのウェブサイト、API、モバイルアプリ、内部ツール、メッセージングインフラストラクチャ、処理システムなど、すべてのフロントエンドサービスとバックエンドサービスをデプロイしました
  • CodeDeploy は、Instacart の既存の継続的統合および配信パイプライン設定と連動します
  • エンジニアは CodeDeploy コンソールと CodeDeploy API を使用して、各デプロイのステータスを監視します
  • デプロイされているアプリケーションとその SLA に応じて CodeDeploy のデプロイメント構成オプションを使用します。つまり、消費者向けウェブサービスのローリング更新、およびバックグラウンドジョブ処理システムの一括更新または半分の一括更新を行います
  • CodeDeploy のライフサイクルイベントフックを使用して、各デプロイのさまざまなステージでスクリプトを自動的にトリガーして、適切な構成とライブラリが自動的にインストールされていることを確認し、アプリケーションば正しくブートされたことを検証し、ロールバックの更新が失敗した場合にそれらを通知します
  • CodeDeploy は信頼性をもって Instacart のフロントエンドとバックエンドアプリケーションを毎日 50〜60 人のエンジニアが使用するために AWS に確実にデプロイします
  • 開発者は、コア製品に焦点を当てて、デプロイ操作の心配を減らすことができます
  • Instacart チームは社内のデプロイメントツールを維持するために時間とリソースを使う必要はありません
  • CodeDeploy のコンソールビューは、展開の最初から最後までのそれぞれのデプロイメントに関する最新のステータス更新を提供し、エンジニアがデプロイ操作をよりよく理解してトラブルシューティングするのに役立ちます
  • デプロイ構成により、Instacart はアプリケーションや状況に合わせたデプロイ方法を選択できます。たとえば、ローリング更新構成は、ミッションクリティカルな消費者向けウェブサービスのデプロイのリスクを減らし、ダウンタイムを最小限に抑えます

AWS がデプロイ操作を自動化するのに役立つ方法については、当社の AWS CodeDeploy 詳細ページを参照してください。