Blog

marushu3

Shifter が Amazon CloudFront を利用する数千のディストリビューションに対して、4時間かかっていたオペレーションを2分に短縮

Shifter が Amazon CloudFront の活用事例として AWS 公式ブログにて紹介されました。
この記事は以下の引用元を翻訳したものです。

また、この取り組みに関して2021年9月に開催されたAWS DEV DAYでの講演資料も公開されておりますのでぜひご参照ください。
Lambda@EdgeからCloudFront Functionsへの移行とCI / CDパイプラインの整備

Shifterについてはこちらをご参照ください。

引用元

DigitalCube Case Study | Amazon CloudFront | AWS より

ウェブホスティング企業のデジタルキューブは、お客様のウェブサイトのパフォーマンスとセキュリティを強化するための定期的なアップデートの発行を加速させたいと考えていました。しかし、アップデートのたびに、小規模な開発チームは何千ものディストリビューションに個別にアップデートを展開するのに何時間も費やしており、新しい製品や機能に取り組む時間が限られていました。

同社は、より迅速でシンプルなアップデートソリューションを必要としており、Amazon Web Services(AWS)上でそのソリューションを見つけることができました。同社は、高いパフォーマンス、セキュリティ、および開発者の利便性のために構築されたコンテンツ配信ネットワークサービスである Amazon CloudFront の新機能の使用を開始しました。

新機能の CloudFront Functions は、AWS Edge の拠点で、レイテンシーの影響を受けやすいコンテンツ配信ネットワークを大規模にカスタマイズするための軽量な関数をJavaScript で記述できるもので、これを利用して迅速に拡張し、同時に数千の更新を実行することができます。より計算負荷の高いエッジワークロードについては、Amazon CloudFront の機能である Lambda@Edge を引き続き使用し、AWS リージョンでサーバーレスコードを実行することで、パフォーマンスの向上とレイテンシーの低減を実現します。

CloudFront Functions だけでなく Lambda@Edge を利用することで、お客様のウェブサイトのパフォーマンスを向上させながら、時間だけでなくコストも削減できることを発見したのです。

より高速なデプロイメントソリューションへの移行とスケール

デジタルキューブは、WordPress による大規模なウェブサイトを提供するウェブホスティングプロバイダーです。企業は同社のツールを使って、安全でスケーラブルなウェブサイトをノーコーディングで構築し、フルマネージドメンテナンスを実現しています。同社は、AWS をいち早く採用した企業です。2010 年から AWS のサービスを利用しており、主要製品の 1 つである静的サイトジェネレータとサーバーレスホスティングソリューション「Shifter」は AWS で構築されています。

同社のビジネスにおいて、ソフトウェアのアップデートは欠かせない要素です。
自社ソフトウェアやお客様のWebサイトの基盤となるコードを定期的にアップデートし、パフォーマンスの向上やセキュリティの強化を図っています。
しかし、アップデートの展開にはかなりの時間がかかり、開発者チームは他のプロジェクトに充てたいと考えていました。また、Lambda@Edge を使用していたため、ディストリビューションのアップデートを個別に展開する必要がありました。

カスタマーサクセスマネージャー赤塚氏は、「4,000以上と多くのディストリビューションが存在するため、我々のユースケースに適した、より軽量なアップデートソリューションが必要でした。」と話します。

同社とそのユースケースが進化するにつれ、アップデートを大規模に展開するのに適したソリューションが必要になりました。AWS のブログ記事でこの機能について読んだ後、同社は更新ワークフローを CloudFront Functions に移行することを決定しました。2021年5月に移行を開始し、2ヶ月弱で完了させました。

アップデートの高速化とデベロッパーエクスペリエンスの向上

これまでデジタルキューブでは、1 回のアップデート実施に数時間を要していました。

しかし現在では、数千のディストリビューションに対して素早くアップデートを展開できるようになりました。
エンジニアの岡本氏は「CloudFront Functionsを使うことで、アップデートのデプロイ時間を4時間から2分に短縮できました。」と話します。

CloudFront Functions は、リクエストの送信元やレスポンスの送信元に近い場所でコードを実行できるため、このような大規模かつ低レイテンシーのユースケースに適しています。
このロジックをエッジロケーションで実行することで、よりユーザーの近くでコードを実行し、より高いパフォーマンスを提供します。一方、同社では、特定のユースケースや特定のお客様の要件に対しては、現在も Lambda@Edge を使用しています。
この 2 つのサービスを簡単に組み合わせて利用できるため、柔軟性の向上と大幅な時間短縮を実現することができるのです。CloudFront Functions への移行により、同社は Amazon CloudFront 全体のコストを 60% 削減することができました。

また、アップデートの迅速化とメンテナンス作業の軽減により、提供する製品全体の品質が向上しています。
同社は AWS 上で、数千のディストリビューションに影響を与えるテストを、社内でのスケールアップやダウンタイムを発生させずに実行できるため、よりシンプルに品質テストを行うことができます。
その結果、インフラ全体で高い可視性を実現しています。最高執行責任者である Daniel Olson 氏は、「高い可視性は、我々にとって大きなポイントで、規模が大きくなっても、より迅速に修正できることは大きな資産です。」と語ります。

例えば、お客様からの変更要求やエンジニアが問題に気づいた場合、同社はその問題をより迅速に特定し、解決することができます。大規模な問題を特定・診断し、それを修正するためのアップデートを展開する速度が速いため、継続的インテグレーションと継続的デリバリーのパイプラインをよりシンプルに運用することができます。
岡本氏は「以前は、アップデートを実行している間、他のことは何もできませんでした。現在はその分、他のプロジェクトに時間を割くことができるようになりました。」と語ります。

さらに、効率化が進んだことで、チームがイノベーションを起こすための環境は整いました。

Daniel Olson 氏は、「私たちはこれまで非常に多くの時間をメンテナンスに費やしていましたが、CloudFront Functions を使うことで、開発者のエクスペリエンスが格段に向上しました。」と語ります。

これらの利点は、何千ものお客様をサポートするために働く小さなチームにとって非常に貴重なものです。

岡本氏は「AWSを利用することで、様々な価値あるサービスを利用することができます。私たちは、お客様により良い、より速い、より安全な Web サイトを提供することに集中できます。」と語ります。

AWSでチャンスをイノベーションに変える

CloudFront Functions への移行により、デジタルキューブは更新ワークフローの加速、コスト削減、お客様の Web サイトのパフォーマンス向上を実現しました。また、この移行により、同社の開発者は、重要なプロジェクトに取り組み、イノベーションを起こす機会を得ることができました。

同社は、AWS のサービスを学び、採用することに価値を見出し、今後も AWS 上で成長・進化を続けていく予定です。現在、AWS を利用して、Web ホスティングソリューション「Shifter」の新機能の実装に取り組んでいます。Olson 氏は「Amazon CloudFront の採用は、当社で行っているすべての業務にとって大きな飛躍となりました 。」と言います。

Share on facebook
Share on twitter