コンテンツに移動
アプリケーション開発

アプリケーションの開発と配信を加速する

2020年9月7日
https://storage.googleapis.com/gweb-cloudblog-publish/images/DevOps_BlogHeader_D_Rnd3.max-2600x2600.jpg
Google Cloud Japan Team

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


ソフトウェアを迅速、確実、安全に配信することは、あらゆるデジタル トランスフォーメーションとアプリケーション モダナイゼーションにとって大切な核となるものです。やはり速度の向上は強力なビジネス成果を生み出します。DevOps Research and Assessment(DORA)の調査が示すように、ソフトウェアの速度、安定性、可用性は、組織のパフォーマンス(収益性、生産性、顧客満足度など)に直接寄与します。

本日、Google はアプリケーション開発および配信プラットフォームの新たな機能を発表します。これにより、開発者、オペレーター、セキュリティ専門家は、より優れた品質のソフトウェアをより迅速に本番環境に配信できます。これらの新機能には、Google が長年にわたりアプリケーションの大規模な構築を通じて学んできたベスト プラクティスが組み込まれています。また、DORA が過去 6 年間に 31,000 人以上の IT 専門家を対象に行った調査も生かされています。

アプリケーションの開発と配信の加速に今すぐ役立つ新しい機能とサービスを詳しく見てみましょう。

開発者の生産性の向上

第 1 に、フルマネージドのコンテナ プラットフォームである Cloud Run のサポートを Cloud Code IDE プラグインに追加しました。これにより、VS CodeIntelliJ などの IDE から、コンテナ化されたアプリケーションを Google のフルマネージド サーバーレス ランタイムに直接書き込んでデプロイおよびデバッグできるようになります。統合には Java、Node.js、Python、Go を含むさまざまな言語のスターター テンプレートが含まれており、簡単に利用を開始してベスト プラクティスを適用できます。これにより、自動化された Day 2 オペレーションや費用対効果の高い自動スケーリングされたコンテナ化アプリケーションといった Cloud Run の主要なメリットを短時間で使用することができます。

第 2 に、ローカル開発ループの一部として、高速フィードバックの広範なサポートを組み込みました。これを実現するために、Cloud Code には、VS Code および IntellIJ 用の新しい Cloud Run エミュレータが含まれています。これをローカルマシンで実行すると、変更を速やかに検証することが可能で、それによって変更の反復と再デプロイの手間がなくなります。ローカルで変更を入念に検査した後、更新または改訂として変更を IDE 内から直接 Cloud Run に push できます。ローカルでもクラウドでも同じようにコードを迅速に反復処理できるので、問題を早期に発見し、稼働中のアプリケーションで見つかった問題を解決できます。

第 3 に、アプリケーションの構築をさらに高速化するため、Google Cloud Buildpacks の組み込みサポートを Cloud Code に追加しました。開発者は、ビジネス要件をコードに変換する作業に注力するべきであり、そのコードをコンテナ化する方法を考えるのに手間をかけるべきではありません。近年では、開発者は Dockerfile の作成とコンテナの構築方法の定義に多くの時間を費やしています。このプロセスは誤りが起こりやすく、本来ならば新機能の開発に費やすべきスキルと時間を奪います。Google Cloud Buildpacks には、Dockerfile なしでアプリケーションを実行するために必要なすべての依存関係とフレームワークがまとめられています。また、これらのビルドパックは、セキュリティ チームがプラットフォーム上で実行されるものを検証する優れた方法を提供し、コンプライアンスの確保とセキュリティ体制の強化に寄与します。Cloud Buildpacks は、Google Kubernetes Engine(GKE)、Cloud Run、Anthos により完全にサポートされます。

Cloud Code と Cloud Run の上記の機能強化により、アプリケーションの開発と配信が効率化されます。より大規模なアプリケーションを構築し、ますます複雑化するビジネス プロセスを自動化するには、Google Cloud APIs、外部 API、Google のサーバーレス ランタイムの統合が必要になる場合があります。Google は、このプロセスを支援する 2 つの新製品を発表します。

Events for Cloud Run のベータ版がリリースされました。Events for Cloud Run を使用すると、GCP サービス、自社所有のソフトウェア、GitHub など、さまざまなソースのイベントに Cloud Run サービスを接続できます。また、嬉しいことに、カスタム アクション、Google API、サードパーティの API の統合に役立つ Workflows のベータ版もリリースできました。このプロダクトには、ステップ間での値の受け渡し、オブジェクトに対する JSON レスポンスの解析、配列の反復処理、エラー処理と再試行といった高度な機能のサポートが含まれています。Workflows はサーバーレスであるため、管理が必要なインフラストラクチャは存在しません。また、ビジネスの需要に応じて、急速なスケーリングに対処します。Events と Workflows を使用すると、どんなに複雑なビジネス要件も自動化できます。

ソフトウェア サプライ チェーンの保護

ソフトウェア配信の加速は、セキュリティの「シフトレフト」と密接に関連します。そして、至るところに脅威が存在する時代において、ソフトウェア サプライ チェーンの保護は極めて重要です。しかし、セキュリティ レビューによって配信に遅れが出るのではないかという心配は必要ありません。DORA の調査では、最もパフォーマンスの高い「エリート」チームが、ソフトウェア開発プロセス全体を通してセキュリティを構築することにより、数日でセキュリティ レビューを遂行する方法が強調されています。同じプロセスであっても、パフォーマンスの低いチームの場合は数週間かかる可能性があります。

セキュリティ体制の改善と、エリート パフォーマーによって確立されたプラクティスの採用を支援する Artifact Registry のベータ版がリリースされました。Artifact Registry を使用すると、Docker イメージとともに、Maven および npm 言語パッケージなどのアーティファクトを管理および保護できます。また、Artifact Registry はソフトウェア サプライ チェーンを経由するさまざまなタイプのアーティファクトの可視性と制御性を向上させ、リージョン リポジトリのほかにプロジェクトごとの複数リポジトリの作成をサポートします。企業は、VPC-SC を使用してセキュリティ境界内の呼び出し元だけがリポジトリにアクセスできるように制限し、顧客管理の暗号鍵を利用してリポジトリのコンテンツを暗号化することもできます。

デプロイに関する組み込みのベスト プラクティス

コードを本番環境に push する段階に進んだら、デプロイの自動化が決定的な違いを作る要因になります。これは DORA の調査結果にも反映されており、エリートチームの 69% がデプロイを自動化している一方で、パフォーマンスの低いチームでは 17% にとどまっています。また、デプロイの自動化により、変更を push するストレスが軽減され、チームは空いた時間をリファクタリング、設計、文書化といった重要な作業に費やすことができます。

デプロイの自動化をさらに容易にするため、Cloud Run ではトラフィック分割と段階的ロールアウトがサポートされるようになりました。以前は、本番環境のすべてのユーザーに変更を push していましたが、現在はごく一部のユーザーからフィードバックを収集しています。この方法により、問題となりうるコード変更の影響範囲を制限し、必要に応じてロールバックを実施できます。Google は、内部的に同様のプロセスに従って、google.com、Gmail、およびその他の多くのサービスに対する変更をロールアウトしています。

また、デプロイの自動化をさらに推進するため、Cloud Run のユーザー インターフェースから継続的デプロイを直接設定する操作をより簡素化しました。Git リポジトリに接続して、変更を監視するブランチを指定するだけで、新しい変更が push されるとコードが Cloud Run に自動的にデプロイされます。  

企業向けのサーバーレス サービスの追加サポート

最近、Google はサーバーレス サービスが VPC ネットワーク内のリソースにアクセスできるようにするサーバーレス VPC アクセスを発表しました。そして今回は、そのサーバーレス VPC アクセスが共有 VPCをサポートすることを発表できることをうれしく思います。これによって企業は、VPN または Cloud Interconnect で接続された共有 VPC ネットワークとオンプレミス リソースに自身のサーバーレス サービスを接続できます。

ソフトウェアの品質向上と配信の高速化

上記のリリースの目標は、アプリケーション開発の実装に必要な速度、セキュリティ、安定性を実現し、パフォーマンスの高い DevOps のエリートチームが採用するプラクティスを提供することです。これらの新機能はすべて、こちらで実際に確認できます。

また、Google Cloud アプリケーションのモダナイゼーション プログラム(CAMP)の一部として、ベスト プラクティスを組み込みました。CAMP の詳細と上記の新機能の詳細を確認するには、以下の Next OnAir セッションにご参加ください。

Cloud Code を使用して IDE で Cloud Run 向けの開発を行う

Cloud Run の最新情報

Google Cloud のサーバーレス ワークフロー

Cloud Run によるイベント ドリブン マイクロサービス

Google Cloud のビルドパック

 

-プロダクト管理ディレクター Aparna Sinha

投稿先