コンテンツに移動
アプリケーション モダナイゼーション

コンテナ化されたマネージド マイクロサービスでモダナイゼーションを加速させる Ulta Beauty

2023年3月28日
https://storage.googleapis.com/gweb-cloudblog-publish/images/google_cloud_x_ulta_beauty.max-2500x2500.jpg
Google Cloud Japan Team

※この投稿は米国時間 2023 年 3 月 17 日に、Google Cloud blog に投稿されたものの抄訳です。

未来のデジタル店舗を開設する

Ulta Beauty は、バランスのとれた視点で明日を見据えながら、来るべきデジタル店舗の礎を築いてきました。この革新的なデジタル タッチポイントは、高度なパーソナライズに向けて再設計された魅力的な e コマース エクスペリエンスを提供します。そのようなエクスペリエンスを適切に提供するために、Ulta Beauty は、最新のコンテナ化されたプラットフォーム、迅速なアプリケーション開発をサポートするアジャイルなインフラストラクチャ、多忙なチームの運用面の負担を軽減するマネージド サービスを必要としています。そのため Google Cloud を使用して、グローバルな規模で効率的にスケーリングする e コマース プラットフォームを提供し、すべての人のために魅力的で楽しく利用しやすいショッピング エクスペリエンスを実現しています。

2019 年に、Ulta Beauty は自社のオンプレミス データセンターで運用していた従来の e コマース プラットフォームからの移行を開始しました。モノリシックなプラットフォームはアップデートとアップグレードが次第に困難になり、新機能の導入が妨げられていました。Ulta Beauty は、こうしたボトルネックを考慮して、開発チームが新機能の構築、テスト、修正のリリースをより迅速に行えるように、独自の機能を実行する複数のマイクロサービスへのリファクタリングを行うことにしました。マイクロサービスは個別にスケーリングできますが、相互に接続されていて相互に監視可能であり、システムの新たな複雑性が大規模に生じる可能性があります。Ulta Beauty にとって重要だったのは、マイクロサービスを迅速にデプロイし、サービスを相互に統合するときや、基盤となるインフラストラクチャ自体を管理するときに、不要な混乱を回避することでした。

Ulta Beauty が Google Cloud を選んだ理由は、コンテナと Kubernetes に関するその主導的な地位と専門知識、およびその統合マネージド コンテナ サービスである Google Kubernetes Engine(GKE)Anthos にありました。それに加えて、Google Cloud のクラウドベースのマネージド サービス、知識豊かな技術サポート、費用対効果の高い料金設定も魅力でした。

魅力的なパートナーシップ

シニア クラウド アーキテクトの Michael Alderson 氏が Ulta Beauty に入社したとき、Kubernetes と Google Cloud の経験はありませんでしたが、コンテナについては理解していました。モダナイゼーションへの取り組みを開始した Alderson 氏は、インフラストラクチャを構築および管理する新しい方法を模索し、発見するとすぐに開発者の手に渡しました。

Alderson 氏は生産性がさまざまな影響を受ける可能性があることを認識しており、開発者がクラウドの「ランディング ゾーン」を必要とするときはいつでも、適切に構成されたランディング ゾーンを備えた環境を整える必要がありました。開発者はコンテナの構築に懸命に取り組みましたが、本番環境に近い開発環境やテスト環境がありませんでした。Alderson 氏は次のように語ります。「開発者は、インテグレーションに必要な新しい API でコンテナをテストできませんでした。GKE と Anthos を使用すると、必要なときにいつでも Google Cloud 上に開発環境を作成できるので、生産性が 10 倍になります。」

クラウド アーキテクトになりたてだった Alderson 氏は、Google Cloud のトレーニング passway 認定資格について知識を深めました。実験的な精神に基づいて、同氏は Kubernetes、コンテナ、コンテナ化されたマイクロサービスの大規模なフリートを管理するためのサービス メッシュの役割の研究に取り掛かりました。

優先事項は GKE を機能させることでした。Alderson 氏とチームは、まもなく Kubernetes によって管理されるエフェメラル コンテナ環境の主要なメリットを発見しました。それは、巨額の先行投資をしなくても、アイデアをすばやく試し、学習し、再試行できることでした。

IT チームは Google Cloud と GKE を使用して、記録的な速さで開発者向けのコンテナ プラットフォームの作成、管理、最適化を行い、安全性と安定性を確保できるようになりました。「私たちは、おそらく 1,000 を超えるクラスタを構築しては捨て去ることで、Kubernetes を学びました。以前なら、それを達成するのに数か月か数年かかっていたでしょう。」GKE の使用により、開発者は新しい環境の立ち上げと解体を繰り返すことができました。「私たちは、通常なら 5 つのチームによる途方もない努力を必要とするようなベンダーとサービスの統合を達成しました。それを 1 つのまとまったユニットとして成し遂げたのです。このテクノロジーは、かつては考えられないほどに私たちの取り組みを加速させました。」Alderson 氏は次のように言い加えます。「オンデマンドでスピンアップされる GKE 上のエフェメラル コンテナ開発環境では、新機能をマイクロサービスに約 10 分でグローバルにデプロイできます。これは、それまでに必要とされた時間に比べるとほんのわずかです。また、重要なのは、マイクロサービスによってアップデートのリスク要因が大幅に減少することです。」

それでも Alderson 氏は、相互接続された e コマース マイクロサービスの網状組織(それは拡大し、さらに複雑化します)を管理し続ける必要がありました。

Anthos でエンジニアリング リソースを最大限に活用する

ここで Anthos が登場します。Anthos は Google Cloud のマネージド プラットフォームであり、コンテナ化された分散アプリがどこで構築または実行されようとも、一貫性のある包括的な管理、オブザーバビリティ、セキュリティを実現できます。Anthos に含まれているマネージド サービス メッシュを使用すると、サービス配信が大幅に簡素化され、トラフィック管理が容易になります。また、サービス間の通信が保護され、サービス間ネットワーキングの詳細な可視化によりトラブルシューティングが高速化されます。また、サービス メッシュは、アプリ間の通信を簡素化し、どのサービスが相互に通信できるかに関するルールをアサートし、障害が発生した場合にもサービスの高可用性を保証します。

Anthos Service Mesh は、Google によるオープンソースの Istio のフルマネージド実装です。Istio は単独ではパワフルですが、インストール、構成、保守が難しい場合があります。Anthos Service Mesh を使用すると、Google Cloud を通じて Istio コンポーネントを管理できるため、Alderson 氏とチームは Ulta Beauty のアプリの最適化とトラブルシューティングに集中できます。「私たちが組み込んだ指標を使用して、Anthos Service Mesh のネイティブな自動スケーリングと自動修復を行えるため、ゲスト エクスペリエンスが向上します。」

「エラー、レポート、そしてまだ明らかになっていない箇所を確認できるので、ゲスト エクスペリエンスをより正確に定量化できます。これにより、ソフトウェアの開発とリリースのプロセス(DevOps)を成熟させることができ、ビジネス上の選択とゲスト エクスペリエンスの質の向上につながります。今では、このことが Ulta Beauty の競争上の優位性になっています。」さらに、個々のマイクロサービスは Anthos によって動的にインストルメント化されるため、開発者は 1 つのコンポーネントをデバッグしたり、モニタリングとログのデータをトラッキングしたりするために、システム全体を学習する必要がないことを Alderson 氏は言い加えました。

Anthos のもう一つのマネージド サービスである Anthos Config Management では、事前定義されたネットワーキング ポリシーとセキュリティ ポリシーを使用して、標準テンプレートから新しい環境をスピンアップできます。Kubernetes の宣言型の機能を活用することにより、Ulta Beauty は、クラスタのフリート全体に均一な構成を迅速にデプロイし、一貫性のあるセキュリティ ガードレールを適用して、クラスタおよびリージョン間でロード バランシングを共有できます。Alderson 氏によると、Anthos では必要な環境を定義してから、「...その確立を行い、開発から本番までの環境を自動的に同じ状態に保つことができます。私たちは、新しい e コマース プラットフォームで 70 から 80 の異なるインテグレーションをテストしなければなりません。Anthos がなければ、開発環境とテスト環境でそれらを整理するために、月に 1 週間を費やす必要があるでしょう。Anthos は、すべてを自動的に最新の状態に維持してくれます。」

Ulta Beauty は、Anthos マルチクラスタ Ingress の組み込みのトラフィック ルーティングにより、特定のサードパーティ サービスでオーケストレーションを支援する必要性を除去できます。同社のセキュリティ チームから、組織のセキュリティ体制を強化するために既存のファイアウォールへのアップグレードを要求されたとき、Alderson 氏はそれが不要な理由と、それを行うと実際にパフォーマンスがどのように妨げられるかを説明しました。「必要のない次世代のファイアウォールに多額の投資をしなくても、この問題はメッシュ内で解決できます。また、そうあるべきでしょう。それは、あくまでネットワークの一部であり、パフォーマンスを低下させる別の要因であってはなりません。」Ulta Beauty は、Anthos の組み込みのトラフィック ルーティングを使用することで、追加のライセンス料金を数十万ドル節約しました。

Alderson 氏にとって、GKE と Anthos にサーバーをスピンアップする柔軟性があることは、開発者がコードをテスト、解体、再試行して実践的に学習できることを意味します。「間違いを犯しても咎められないことが重要です。私たち全員に必要なのは実践を通して学ぶことであり、Google Cloud はそれを可能にしてくれます。」

Anthos の使いやすさによって Ulta Beauty の e コマースのモダナイゼーションは加速しており、組織のビジネス ワークフローはすでに向上しつつあります。どこでも利用できる Anthos クラウド サービスに移行すると、プラットフォームの可用性を Google Cloud にオフロードすることで、リスクが減少し、エラーの重大さが軽減されます。Alderson 氏が 2 か月以上リモート勤務を余儀なくされたときも、チームは問題なく機能し、イノベーションを進めました。

新しいサービス メッシュの実装以降、Ulta Beauty のモダナイゼーションは急速に進行しています。これは、特に開発チームがセキュリティやプラットフォームの運用に専念する必要がなくなり、魅力のあるゲストサービスとアプリの構築に集中できるためです。今では、エラーからの平均復旧時間(MTTR)は時間単位ではなく秒単位で測定されるようになり、少なくとも 2 桁分高速になりました。エラーの追跡は、影響を受けるクラスタまたは Pod まで迅速に行われるようになり、他のコンポーネントに影響を及ぼすことなく(重要な点としては、ゲスト エクスペリエンスに影響を及ぼすことなく)エラーを修復できるようになりました。応答の高速化と MTTR の大幅な短縮により、Ulta Beauty のゲストはウェブサイト上の購入プロセス全体を通して優れたエクスペリエンスを享受できます。

今後の展望

Ulta Beauty は、将来を見据えてこの短期間でどこまで到達したかを評価しており、今後も Anthos Service Mesh を重要なコンポーネントとして活用する予定です。次の 1 年をかけて、Alderson 氏とチームは Google Cloud のマルチリージョン機能を活用し、クラスタに障害が発生した場合のアプリケーションの可用性と障害復旧力を向上させる予定です。Anthos と GKE は、インフラストラクチャが利用できないときに、ワークロードの再分散をシームレスに処理します。Ulta Beauty が新しいサービスとエクスペリエンスのイノベーションとデプロイを進める一方で、Google は引き続き同社の環境の管理を行い、開発者がショッピング エクスペリエンスをゲストと同じくらい魅力的なものにできるよう支援します。Google Cloud は、Ulta Beauty とパートナーシップを築き、良いときも悪いときも、どのような状況でも同社の開発者をサポートしていることを誇りに思います。


- Ulta Beauty、シニア クラウド アーキテクトMichael Alderson 氏
- アウトバウンド プロダクト マネージャーDave Bartoletti

投稿先