継続的インテグレーションおよびデプロイのパイプラインはすべて自動化され、容易に管理し、検出可能である必要があります。AWS ではそれを実現できます。以前のオンプレミス環境では実現できなかったレベルのシンプルさと透過性が得られます。
Sam Keen 氏 製品アーキテクチャ担当ディレクター

lululemon athletica は、AWS を使用して、数日どころか数分で開発環境を立ち上げ、その環境を自動化し、継続的インテグレーションとデプロイを実現しています。このカナダの会社は、ヨガにインスパイアされたウェアを世界中の 350 以上の場所で販売しています。同社は、開発環境やテスト環境だけでなく、リリース予定のモバイルアプリを AWS クラウド上で運用しています。

数年前、lululemon は、提供するデジタルサービスの量を増やし、新しいアプリケーションと機能をこれまでよりも早く提供することを決めました。ただし、同社の IT 環境にはコロケーションサービスを使用していたため、新しいアプリケーションを迅速に開発する可能性は限られていました。「必要に応じて迅速に移行することができませんでした」と、新製品の環境の設計と実装を行うために最近就任した製品アーキテクチャ担当ディレクターの Sam Keen 氏は述べています。

一例として、lululemon 開発者は新しい機能をテストするために開発環境を立ち上げるのに数日かかっていました。「費用がかかりすぎて、スムーズに進めることができませんでした」と Keen 氏は話します。「実験規模が小さい場合でも時間がかかっていました」。

また、lululemon は、新しい継続的インテグレーションと配信の焦点をサポートするよう開発プロセスを合理化したいと考えていました。「継続的インテグレーションとの配信パイプラインを実現するために、管理を簡素化し、できるだけ多くの開発プロセスを自動化する必要がありました」と Keen 氏は話します。

lululemon は、自社の開発、テスト、および運用環境のためのプラットフォームとして、アマゾン ウェブ サービス (AWS) を選択しました。「AWS は実績のあるクラウドプロバイダーであり、以前勤務していた企業で AWS について素晴らしい経験をしました。これまでにない幅広いサービスがあります」と Keen 氏は話します。「また、AWS の基本的なサービスのカタログは増え続けており、カスタムキューイングソリューションの実装や保守よりも、特定の製品コードベースに時間を費やすことができます」。

lululemon は、さまざまな AWS のサービスを使用して、完全に自動化された継続的インテグレーションおよび配信システムを設計しています。同社は AWS CloudFormation テンプレートを使用して完全な開発環境を定義しています。「開発環境、本稼働環境にかかわらず、弊社では CloudFormation を使用してデプロイしています」と Keen 氏は話します。同社のインフラストラクチャでは、デプロイ後に追加設定が不要なイミュータブルなコンポーネントを使用しています。lululemon は、Amazon Simple Storage Service (Amazon S3) を使用して配布されたイミュータブルなアーティファクトをデプロイします。これらは、迅速で信頼性の高いアプリケーションとインフラストラクチャの更新を実現する継続配信サービスである AWS CodePipeline を使用してサーバーにデプロイされます。この段階で、アーティファクトは、一般的なウェブプラットフォームでウェブアプリケーションやサービスをデプロイ、スケーリングするためのサービスである、AWS Elastic Beanstalk にデプロイされます。

また、lululemon では、Amazon Cognito サービスを活用して、ユーザーの一意の ID の作成や、内部のユーザープールでの認証を行っています。

その開発環境に加えて、同社は、Amazon Elastic Compute Cloud (Amazon EC2) インスタンスを使用して、AWS クラウド上で顧客向けのモバイルアプリを実行する予定です。このアプリには、lululemon ストアの拠点となるコミュニティに固有のカスタマイズされたコンテンツが含まれています。

lululemon は、AWS サービスをベースに開発およびテスト環境の自動化と簡素化を行い、開発時間を短縮しています。「新しい本番稼働用アカウントを作成するには 2 日かかりますが、AWS CloudFormation テンプレートと AWS CodePipeline を使用すれば数分で作成できます」と Keen 氏は話します。「つまり、小規模なプロジェクトなら、わずかなコストと時間があれば立ち上げることができます。この俊敏性を考えれば、保有しているリソースにとどまらず、最高のソリューションを試して獲得することができます。AWS では、以前よりもはるかに早く新機能やアプリケーションを公開することができます」。

手動のステップがほとんどない簡素化された開発アプローチのため、lululemon は社内の環境の管理性も改善することができました。インフラストラクチャはすべて AWS CloudFormation によって定義されているため、ひとつにまとめて管理することができます。インフラストラクチャは 1 か所で変更できるだけでなく、その変更によって生じる可能性のある影響を確認できます」と Keen 氏は話します。「また、CloudFormation テンプレートはソース管理されているため、変更管理の側面もあります。AWS CloudFormation は、非常に大きな価値を開発者にもたらしてくれました」。

また、lululemon の開発システムの透過性も向上しました。「AWS を使用して、非常にシンプルなパイプラインの視覚化を得ることができました」と Keen 氏は話します。「継続的インテグレーションおよびデプロイのパイプラインはすべて自動化され、容易に管理し、検出可能である必要があります。AWS ではそれを実現できます。以前のオンプレミス環境では実現できなかったレベルのシンプルさと透過性が得られます」。

AWS をベースにモバイルアプリをサポートするサービスを開発することで、lululemon は、地域コミュニティとの関わりをさらに良くするデジタルツールを構築しています。「その結果、lululemon の従業員は、コンシューマーのニーズにぴったりの動的コンテンツをこれまでよりも簡単に作成できるようになりました。これまでの成功から、今後も AWS 上に新しいアプリケーションを作成して実行する予定です。AWS への移行は、弊社のビジネスにとって大きな決断でした」。

開発およびテスト環境の管理に AWS がどのように役立つかについての詳細を参照してください。