サーバーレス

2020 年を振り返る: 不確実性の時代にお客様がサーバーレス ソリューションで対処した方法

#serverless

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

何という 1 年だったでしょう。2020 年は、特に適応力のある企業でさえ問題に直面し、慎重に練った計画が頓挫しました。それでも、Google Cloud の数多くのお客様が不確実性をチャンスに変えました。彼らはサーバーレス ソリューションに頼ってイノベーションを加速し、多くの場合、最新のプロダクトを導入して市場のニーズに対応する新たな機能を提供しました。Google Cloud はお客様に寄り添い、100 以上の新機能をかつてないほど迅速に導入しました。インスピレーションを提供してくださり、サーバーレス ソリューションとクラウドネイティブ アプリケーションの配信に関して多大なエネルギーを注いでいただいたことに感謝しています。

不確実性の中で Cloud Run が不可欠であることを証明

デジタルの導入が加速するにつれ、デベロッパーは Cloud Run に目を向けるようになりました。Cloud Run はコードを安全かつ確実に本番環境に移行できる簡単かつ高速な方法だからです。Cloud Run はサーバーレス コンテナが内部にあるため、ウェブアプリ、モバイル バックエンド、データ処理用に最適化されていますが、コンテナに配置可能なたいていの種類のアプリケーションを実行することも可能です。Google の調査では、初心者ユーザーでも、初めて試してから 5 分も経過しないうちに Cloud Run でアプリをビルドしてデプロイできます。非常に高速で簡単なので、誰でも 1 日に複数回デプロイすることも可能です。

2020 年は Cloud Run にとっては重要な年になりました。ソースと IDE からデプロイに至るエンドツーエンドのデベロッパー エクスペリエンスを追加し、Cloud Run を合計 21 のリージョンに拡張しました。また、ストリーミング、より長いタイムアウト、より大きなインスタンス、段階的なロールアウト、ロールバックなど多数のサポートを追加しました。

これらの追加機能はお客様がすぐに利用できました。たとえば、ヨーロッパの大手家電量販店である MediaMarktSaturn はデジタル チャネル全体で 145% のトラフィック増加を処理するために Cloud Run を選択しました。同様に、IKEA は Cloud Run やその他のマネージド サービスを利用し、パンデミックによってもたらされた課題に合わせてソリューションを数日で展開しながら、運用費用を 10 分の 1 に削減できました。当然のように Cloud Run は Google デベロッパーが社内で選択するサービスの柱となり、年間を通じてさまざまな新規プロジェクトのスピンアップに利用されました。

Cloud Run により、Google Cloud はサーバーレスを再定義しており、単なる機能にとどまらなくなっています。これは、自己管理インフラストラクチャや優れたデベロッパー エクスペリエンスを単独のワークロードに限定すべきではないという Google Cloud の信念を反映しています。とはいえ、お客様が機能のみを必要としている場合もあります。2020 年はサービス提供としてのマネージド機能である Cloud Functions に新しい機能を追加する作業に取り組みました。以下に例をご紹介します。

  • 拡張された機能とリージョン: Cloud Functions に 17 の新機能が追加され、いくつかの新しいリージョンで使用可能になり、合計 19 のリージョンに対応します。

  • 完全なサーバーレス ソリューション: API GatewayWorkflowsEventarc もリリースしました。このスイートを使用すると、デベロッパーはサーバーレス ワークロード用の API を作成、保護、モニタリングし、Google Cloud と HTTP ベースの API サービスをオーケストレートして自動化し、イベント ドリブンなアプリケーションを簡単に構築できます。

  • プライベート アクセス: VPC Service Controls と Cloud Functions の統合により、企業はサーバーレス サービスを保護して、データの引き出しなどの脅威を軽減できます。また、Cloud Functions 用の VPC コネクタを使用すると、クラウド リソースとオンプレミスのハイブリッド デプロイメント間のプライベート通信も可能になります。

  • エンタープライズ規模: 大量のデータセットを処理する企業は gRPC を活用して Cloud Run サービスを他のサービスに接続できるようになりました。最後に、Cloud Run と Cloud Functions との外部 HTTP(S) 負荷分散の統合により、企業は 1 つの外部 IP アドレスで世界中のサービスを実行してスケールできます。

Cloud Run と Cloud Functions はどちらも 2020 年にユーザーから強力な支持を獲得しましたが、自社で最も古いサーバーレス プロダクトである App Engine も引き続き安定して成長しています。これは統合されたデベロッパー エクスペリエンスと自動スケーリングのメリットによるところが大きいと言えます。2020 年に App Engine に新しいリージョン、ランタイム、負荷分散のサポートを追加し、デベロッパーの生産性とスケーラビリティのメリットをさらに強化しました。

組み込みのセキュリティ機能を利用した継続的なイノベーション

企業はパンデミック時のニューノーマルに適応するために、ビジネスの再構成と再検討を余儀なくされてきました。サーバーレスの継続的インテグレーションかつ継続的デリバリー(CI / CD)プラットフォームである Cloud Build は、ビルド、テスト、リリースのサイクルの高速化に役立ちます。デベロッパーは CI / CD パイプライン内で詳細なセキュリティ スキャンを実行し、信頼できるコンテナ イメージのみが本番環境にデプロイされていることを確認します。

生徒の自宅学習への移行にともない予期しない需要に対応することを迫られた Khan Academy の事例を考えてみましょう。Khan Academy は、Cloud Build を使用して、App Engine でシームレスにスケールしながら、調整スケジュールなどの新機能を迅速に試みました。次に、パンデミック時に失業制度の新規失業保険申請件数が 1,600% も急増したニューヨーク州の例を取り上げます。この増加に対処するために、同州は Cloud BuildPub/SubDatastoreCloud Logging などのフルマネージド サーバーレス サービス上に構築した新しいウェブサイトを公開しました。

こうしたお客様の成功を実現するために、2020 年に次の領域で多数の新機能を Cloud Build に追加しました。

  • エンタープライズ向け機能: Artifact Registry は Granular IAM、リージョン リポジトリ、CMEK、VPC-SC のサポートや、Maven、npm パッケージ、コンテナの管理機能など、企業のお客様からリクエストされた多くの機能を統合します。

  • 使いやすさ: 数回クリックするだけで、すぐに使用できる Cloud Run や GKE のベスト プラクティスを実装する CI / CD パイプラインを作成できます。また、Cloud Build に Buildpacks のサポートを追加し、本番環境に対応した安全なコンテナ イメージを簡単に作成して Cloud Run や GKE にデプロイできるようにしました。

  • 十分な情報に基づく意思決定: 新しい Four Keys プロジェクトでは、DevOps Research & Assessment(DORA)の主要な指標を取得し、ソフトウェアの開発とデリバリーのプロセスを 1 か所にまとめて表示できます。さらに、新しい Cloud Build ダッシュボードで CI / CD プロセスを最適化する方法に関する詳細な分析情報が得られます。

  • CI / CD ベンダー間の相互運用性: 2018 年に Google によって設立され、2019 年に Continuous Delivery Foundation(CDF)に寄贈された Tekton は、ベンダー、言語、デプロイ環境全体で CI / CD の事実上の標準になりつつあり、90 社以上から寄付を得ています。2020 年には、Google によりトリガーなどの新機能のサポートが Tekton に追加されました。

  • GitHub の統合: 高度なサーバーレス CI / CD 機能を GitHub に導入し、何百万人ものユーザーが日常的に共同作業をしています。新しい Cloud Build GitHub アプリを使用すると、特定の pull リクエスト、ブランチ、タグイベントに基づいてビルドを構成してトリガーできます。

継続的なイノベーションが成功するのは、ツールチェーンがデフォルトでセキュリティを提供している場合、つまりセキュリティがプロセスに組み込まれている場合です。ニューヨーク州や Khan Academy、その他多数の企業にとって、安全なソフトウェア サプライ チェーンはソフトウェアを顧客に安全に提供するうえで欠かせません。そして、革新的で強力かつ最高水準のネイティブ セキュリティ管理を利用できることこそが、Google Cloud が最新の Forrester Wave™ IaaS Platform Native Security、Q4 2020 レポートでリーダーに選出され、現在提供されているカテゴリの評価を受けたすべてのプロバイダの中で最高得点を獲得したと考えられる理由です。

シームレスにデベロッパーをクラウドにオンボーディング

クラウドのあらゆるサービス、大量のドキュメント、際限のない新しいテクノロジーにより、クラウド開発が困難になる可能性があることは認識しております。こうした状況でお役に立てるよう、クラウドへのオンボーディングを容易にし、デベロッパーの生産性を最大化することに投資しました。

  • コンテキスト内チュートリアルが付属した Cloud Shell エディタ: Google Cloud を学習して使用できる私の個人的なお気に入りツールは Cloud Shell エディタです。Cloud Shell エディタは ide.cloud.google.com で起動でき、完全に機能する開発ツールであり、ローカルの設定は不要でブラウザから直接利用できます。最近、Cloud Shell エディタを強化し、コンテキスト内チュートリアル、Google Cloud API 向けの組み込み認証サポート、豊富なデベロッパー ツールを追加しました。ぜひお試しください。私たちが愛用しているエディタを同じように気に入っていただけたら幸いです。

In-context tutorials available within Cloud Shell Editor.jpg
Cloud Shell エディタ内で利用できるコンテキスト内チュートリアル

  • クラウドネイティブ開発の高速化: サーバーレス アプリケーションの構築プロセスを改善するために、Cloud Run と Cloud Code を統合しました。また、Cloud Code を介して Kubernetes の開発を高速化するために、Buildpacks のサポートを追加しました。さらに、すぐに利用できる人気の高い 400 の Kubernetes CRD の組み込みサポートを追加し、インライン ドキュメント、補完、スキーマ検証などの新機能を追加して、デベロッパーが YAML 形式でコードを簡単に記述できるようにしました。

  • Google Cloud を最大限に活用: Cloud Code を使用して、アプリの構築時に AI / ML、コンピューティング、データベース、ID とアクセスの管理など、多数の API を簡単に統合できるようになりました。また、新しい Secret Manager の統合により、API キー、パスワード、証明書などの機密データを IDE から直接管理できます。

レガシー アプリケーションのモダナイゼーション: Spring Cloud GCP なら簡単にレガシー Java アプリケーションをモダナイズでき、コードをほとんど変更する必要がありません。また、Anthos Developer Sandbox への無料アクセスを公開しました。これにより、Google アカウントを持つすべてのユーザーが Anthos 上でアプリケーションを無料で開発できます。

2021 年に向けて

2020 年は慌ただしい年でした。皆様と同じように Google は 2021 年に目を向けています。来年は、企業が今年着手したデジタル変革の加速による恩恵を誰もが受けられるようになるかもしれません。お客様の 2021 年に向けた取り組みにご協力させていただき、デベロッパーがアプリケーションを迅速かつ安全に構築して、お客様のビジネスが市場の変化に適応し、顧客エクスペリエンスを改善できるようになることを願っています。健やかに良いお年をお迎えください。皆様と協力し、次世代の優れたアプリケーションを構築できることを楽しみにしています。

-プロダクト管理ディレクター兼 CNCF 理事会議長 Aparna Sinha