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

Google Cloud で開発者エクスペリエンスを再定義する

2023年9月22日
Google Cloud Japan Team

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

開発者エクスペリエンスを向上させることは、皆様のビジネスを際立たせる鍵になり得るのでしょうか。Mckinsey の調査によると、業績の高い企業の 70% 近くが、競争力を高めるためにソフトウェアを活用しています。ソフトウェアが重大な差別化要因だとすれば、そのソフトウェアを生み出している重要なリソース、すなわち開発者の満足度や体験に注意を向けることは必要不可欠です。Google Cloud は、あらゆる組織のビジネスや業界のデジタル トランスフォーメーションを推進することを使命として掲げ、開発者をこの変革の中心に据えています。

昨今の開発者の課題

この 10 年間に起こったいくつかのトレンド、たとえば「シフトレフト」、API ファースト、コンテナ、マイクロサービス、オープンソース ソフトウェアからの選択の急増などにより、開発者エクスペリエンスは変化しました。こうした変化はビジネスの価値創造を加速させる一方で、新たな摩擦点や課題も生み出します。

このような課題は、しばしば次のようなシナリオで顕在化します。

  • 新しいクラウドを使い始めるのは大変な仕事であり、多大な認知的投資が必要です。すぐさま、さまざまに異なるクラウド サービスや API の迷路に迷い込みます。

  • アプリケーション構築の複雑さが増すと、開発者は本質的に異なる(時には相反する)知識源を活用するようになります。これらは、製品ドキュメントから製品関連資料、ベスト プラクティス情報、第三者サイト、その他の開発者コミュニティの情報など、多岐にわたります。開発者はこれらの各種情報サイロから仕入れた知識を統合する必要があり、絶えずコンテキストを切り替えなければなりません。

  • シフトレフト アプローチは開発者の責任を拡大し、テスト、セキュリティ、パフォーマンス、UX 評価も開発者の責任範囲に含めます。

開発者の生産性と開発速度の土台を築く

その重要性を示す証拠として、開発者の生産性と全体的な開発速度の改善に焦点を当てた業界調査、学術研究、UX 調査が最近増えています。組織的視点から見ると、リーダー達、およびリーダー達が作るチームトポロジは、開発者エクスペリエンスを方向付けるコミュニケーションの文化、プロセス、明確さに影響を与えます。Google は、開発者と協力して開発速度をスピードアップすることに一貫して焦点を当てており、開発リーダー達との信頼を築くために、Google 社内のチームを成功に導くために使用している方法論、構造、技術を伝え、普及させてきました。効率的かつ効果的なプラクティスの採用を奨励するだけでなく、お客様がイノベーションや拡張実現し、業界内で成長を遂げられるよう支援することにも注力しています。以下はその例です。

  • 開発者を対象とした一次調査を実施し、その結果を DORA で報告する

  • サイト信頼性エンジニアリング(SRE)のような Google 社内のベスト プラクティスを作成し、普及させる

  • SBOMSLSA などのセキュリティ基準に貢献する

チームにとって適切な構造やプラクティスを整備することは、この取り組みの始まりにすぎません。昨今の厳しい環境を前にして、開発者は、現在使用している有料のプラットフォームやツールが前述の摩擦点や課題の克服にどのように役立つのかを改めて問い直す必要があります。

Google Cloud は、開発者向けのプラットフォームやツール オプションを革新する取り組みを強化しています。Google のアプローチは、開発者エクスペリエンスを一から再定義し、開発を迅速、簡単、かつ安全にする機能を提供することから始まります。この再定義されたエクスペリエンスは、開発者の取り組みのあらゆる側面に影響を与えます。Google Cloud をご利用いただく前から始まるこの Google の新しいエクスペリエンスは、お客様が顧客価値を継続的に提供できるように、オンボーディング、内部ループ開発、外部ループ開発を通じて組み入れられています。

Google Cloud の開発者エクスペリエンス

Google が専心している「現代の開発者エクスペリエンス」は、以下のことを可能にします。

  • できるだけ長い間、「フロー状態」にとどまる: 開発者は好みの開発作業に完全に没頭し、コンテキストと集中を維持します。Google Cloud サービスの学習、API の作成や利用、コードの記述、テスト、デバッグなど、どのような作業をしているかにかかわらず、中断を最小限に抑えるために、開発者は業務のほとんどを IDE 内から行える必要があります。

  • 「フィードバック ループ」を短縮する: Google の狙いの一つは、開発者が開発サイクル中に何百回も繰り返す反復プロセスの間に気が散らないようにすることです。ローカルコードの変更やコンポーネントのインテグレーションを検証しているか、あるいは作成した機能が顧客の期待どおりであることを確認しているかを問わず、これらのフィードバック ループ中の待ち時間が最適かどうかは、開発者の効率に大きな影響を与えます。

  • 「シフトダウン」によって認知負荷を減らす: 開発者はプラットフォームの抽象化を利用してより多くのタスクを自動化し、プラットフォームに push できます。マネージド サービスをフル活用すれば、チームの精神的努力が軽減し、価値を生み出すタスクにメンバーが集中できるようになります。
https://storage.googleapis.com/gweb-cloudblog-publish/images/image3_jDsj7gN.max-1000x1000.png

この新しい開発者エクスペリエンスを実現するプロダクト機能は、以下のことを行う方法を再定義します。

  • Google Cloud について発見し、学ぶ

  • 開発者を Google Cloud にオンボーディングする

  • 内部ループ開発を改善する

  • 外部ループ開発を安全にする

  • 顧客に継続的に価値を提供する

Google Cloud について発見し、学ぶ

Google の開発者エクスペリエンスに関する取り組みは、開発者が Google Cloud ユーザーになる前から始まります。Google は、適切なクラウド プロバイダを選ぶことがいかに複雑であり、乗り越えるべき技術的課題や組織的課題が無数にあることを承知しています。従来、組織は複数の情報源からクラウド サービス、API、機能、ベスト プラクティスに関する情報を調査し、時間のかかる試行錯誤を重ねてきました。Google は、Google Cloud プラットフォームに「シフトダウン」することでこの取り組みを合理化しようとしています。このプロセスは、開発者が Google 検索で単純な質問をすることから始まります。たとえば、「Cloud Functions で AI / ML 画像処理を行うには?」などです。

学習を優先しながらワークロードのデプロイも加速させる合理的な入口が開発者に提示されます。デプロイ後、開発者はインタラクティブなコード変更を通じて反復的な再デプロイ ワークフローを繰り返します。これは Google Cloud のベスト プラクティスを具現化したものです。Google Cloud コンソールと開発者が選んだツールチェーンやワークフローをシームレスに統合することで、Google のワークフローは開発者の要求にその場で応えられるようになっています。最終的に、開発者は着想から検索を経て 1 時間足らずで気づきの瞬間に達します。このプロセスは、土台となる堅固な技術基盤(デプロイされたインフラストラクチャ、再利用可能な Infrastructure as Code、アプリケーション ソースコードの例)と目標達成に向けた次の技術的ステップの理解をもたらし、Google Cloud に対する信頼を確立します。

開発者を Google Cloud にオンボーディングする

新しい開発者をオンボーディングするとき、それらの開発者が生産的になるまでに数週間から数か月かかる場合があります。Google Cloud 独自のセキュリティ ベスト プラクティスを基に構築された Cloud Workstations は、一元管理された IDE によってお客様のセキュリティ対策を強化するだけでなく、ローカル環境へのコードの保存を防ぐことでデータ漏洩も軽減します。クラウドベースの事前構成済みの一元管理された開発環境として、Cloud Workstations は、安全な開発環境のプロビジョニングと構成に要する時間を短縮します。最初から、Cloud Workstations は新規加入した開発者やリモート開発者のオンボーディングを簡素化し、どこからでもウェブブラウザを介してすばやくアクセスできる IDE によって開発者の生産性を高めます。また、オープンソースと柔軟性に対する Google Cloud の取り組みに準じて人気の高い IDE もサポートしており、開発者はお気に入りの環境でコーディングできます。Google が提唱するシフトダウン手法を支えるため、Cloud Workstations には、次のような機能が追加されています。

  • 高度なエンタープライズ セキュリティとデータ損失防止: BeyondCorp とのインテグレーションを強化することで追加の安全保護対策を提供し、コードの安全性を確保します。

  • IDE のサポートの拡張: R ベースのアプリケーションを作成する開発者が Cloud Workstations のすべての機能を活用できるように、Rstudio を含む Posit Workbench をサポートしています。

  • インフラストラクチャのサポートの拡張: AI / ML アプリケーションの開発やテスト中のパフォーマンスを向上させるため、Cloud Workstations インスタンスを GPU で実行できます。

内部ループ開発を改善する

Duet AI は、Google Cloud とやり取りするすべての面において、あらゆるスキルレベルの Google Cloud ユーザーを支援する業界初の組み込み AI アシスタンスを活用し、開発者エクスペリエンスを再定義します。生成 AI を使用することで、クラウド アプリケーション、データ、インフラストラクチャ サービスの構築、実行、管理に関するより直感的なエクスペリエンスを促進します。Duet AI の自然言語によるチャット アシスタンスにより、コンソール、コードエディタ、Cloud Workstations、Cloud Shell のどこからでも、クラウドとのやり取りが友人と話しているかのように簡単になります。

開発者は、生成 AI の力によって生み出された新しい高度なエクスペリエンスによって生産性を向上させ、「フロー状態」を維持したまま、IDE から離れずにさまざまな技術を学習、理解、評価、設計、実装できます。

  • タスクを完了する方法に行き詰ったときは、Duet AI に尋ねます。

  • 特定のトピックについて深く掘り下げて調べたいときは、Duet AI に詳しい情報を要求します。

  • あるトピックの大まかな概要をすばやく把握したいときは、Duet AI に要約するよう求めます。そのトピックの簡潔な要約が提供されます。

  • 特定のユースケースにどのサービスを使用するかを決定するときは、Duet AI に GCP サービスの機能を比較するよう求めます。

Duet AI はペア プログラミングのパートナーとして働き、フロントエンド開発者、バックエンド開発者、フルスタック開発者、SQL 開発者のさまざまな設計タスクやコーディング タスクを支援します。API の設計からコードの記述、編集、デバッグまで、開発者は Duet AI を使用してこれらのプロセスを効率化し、集中によって促進される「フロー状態」を通じて生産性を高めます。これにより、時間と労力の両方を最適化できます。また、Duet AI は単体テストを自動生成するため、コード検証にかかる時間が短くなり、「フィードバック ループ」の短縮にも役立ちます。開発者は、Duet AI の支援を受けて以下のことができます。

  • API を生成する: Duet AI は、自社のポリシーに準拠した、既存の API と一致する API を自動生成できます。開発者は自然言語で要件を指定するだけで済み、その後同じ会話インタラクションによって API を改良します。

  • コードを補完する: Duet AI は、開発者が Visual Studio Code、IntelliJ、BQ Editor などの IDE でコードを記述しているときに、次のコード行を提案できます。

  • コードを生成する: Duet AI は、自然言語での指示に基づいて高品質なコードを生成できるため、特に複雑なプロジェクトにおいて、開発者の時間と労力を節約します。

  • コードを説明する: Duet AI は、開発者自身または他の開発者が記述したコードを説明できるため、開発者はそのコードがどのような仕組みで何を行うかを理解できます。これは、デバッグを行うときや、新しい言語またはフレームワークを学習しようとするときに役立ちます。

  • 単体テストを提案し、生成する: Duet AI は、作成したコードに対する単体テストを提案できるため、最大限のコード カバレッジが得られます。これにより、バグを早期に発見し、本番環境での問題を防ぐことができます。

  • 完成されたローコード アプリを会話によって作成する: AppSheet のユーザーは、Duet AI を使用して完成されたローコード アプリを自然言語で作成できます。

  • コンテキストアウェアなコーディング: Duet AI は Google Cloud と深く統合されているため、API やネイティブ サービスを利用して関連性の高いコードを提案できます。20 種類のプログラミング言語(今後も増える予定)をサポートしている Duet AI は、どの開発チームメンバーにとっても便利な汎用性の高いコーディング コンパニオンです。  

Duet AI はさらに、コードを自動的に提案する際、およびコードを自動生成する際に、IP 遵守のリスクに関する貴重な支援を提供します。提案したコードが制限付きライセンスの対象である場合、コードのライセンス帰属を提供できます。また、開発者が十分な情報に基づいてそのコードを使用するかどうかを決定できるように、必要なコンテキストを提供します。生成されたコードにパーミッシブ ライセンスが必要な場合は、ライセンス帰属を得るために必要な情報を提供します。

外部ループ開発を安全にする

昨今のお客様企業は、ソフトウェア サプライ チェーンを取り巻く規制上の義務を果たすときに発生するオーバーヘッドを最小限に抑えながらソフトウェア サプライ チェーンのセキュリティ対策を強化するというプレッシャーにさらされています。シフトダウンの考え方は、基盤となるプラットフォームでセキュリティを実現する、開発ライフサイクル全体を通してソフトウェア サプライ チェーンのセキュリティを強化する、といった方法で開発者の認知負荷を軽減します。プラットフォーム全体を活用することにより、たとえば Google の Assured Open Source Software によってアプリケーションのオープンソース依存関係のセキュリティを確保するという形で、アプリケーションのセキュリティを向上させることができます。プラットフォームは、Google によって厳選されテストされた OSS パッケージを入手するための信頼できるソースを提供します。

さらに、開発者により多くの選択肢を与え、開発者の要求にその場で応えられるように、Google は DevSecOps に関する GitLab とのパートナーシップを拡大しました。Google Cloud S3C の力を GitLab の DevSecOps プラットフォームと組み合わせると、エンドツーエンドの可視性を持つ安全なサプライ チェーンが生まれます。私たちの新たなパートナーシップは、ソフトウェアを安全にデプロイするという点でユーザーが両社間のシームレスな接続を利用できるようにします。この統合されたアプリケーション開発ソリューションは、最高水準の信頼性、効率、エンドツーエンドのセキュリティを提供します。フェーズ 1 では、Artifact Registry を GitLab SaaS サービスのワークフローに統合します。これにより、お客様はビルドを Artifact Registry と GKE に自動的に接続する安全なパイプラインを GitLab で簡単にセットアップでき、高いパフォーマンス、コンテナの Google Cloud への安全な提供と完全なリージョン指定、DRZ 要件へのコンプライアンスが確保できます。

顧客に継続的に価値を提供する

マイクロサービスと CI / CD の採用は間違いなく、開発チームに独立して働く自由、価値を創出する自由、開発速度を加速させる自由を与えます。ただし、忘れてならないのは、これらのマイクロサービスは、最終的にエンドユーザーに利益を与えるより大きくて複雑なバリュー チェーンの構成要素であるということです。このバリュー チェーンには、他のマイクロサービス、SaaS サービス、エンタープライズ サービスとのインテグレーションが伴います。最終顧客へのビジネスフローを明確にするこのエンドツーエンドのインテグレーションは、顧客に価値を提供するためのパイプです。これまでは開発サイクル中のマイクロ「フィードバック ループ」の最適化に注目が集まっていましたが、価値提供のフィードバック ループを最適化することも同じように重要です。これにより、顧客のフィードバックに基づいて学習し改善できるようになります。

この継続的な価値の提供を可能にするため、開発者はさまざまなアプリケーションのインテグレーション手法を使用します。このようなインテグレーションには、サードパーティ アプリやアプリケーション インテグレーション ツールに関する専門知識と、インテグレーションを継続的にメンテナンスするためのスキルが必要です。この継続的な価値の提供をスピードアップするため、インテグレーション作業もプラットフォームにシフトダウンされ、Duet AI を使用して簡素化されています。

  • 75 以上の事前構築済みコネクタにより、BigQuery や Pub/Sub などの Google Cloud サービスを Salesforce、MongoDB、Oracle、SAP などのサードパーティ アプリケーションに簡単に接続できます。

  • Duet AI により、アプリケーション インテグレーションはより一層簡単になります。自然言語プロンプトで要件を提供するだけで、インテグレーション フローの選択肢のリストが得られます。Duet AI は企業のコンテキストを使用し、そのコンテキストを基に既存の API やアセットを使用してフロー、ドキュメント、テストケースを自動生成します。これは継続的な価値提供のスピードアップに役立ちます。

この最終顧客への価値の提供が速ければ速いほど、顧客フィードバック ループは加速します。プロトタイピング、プレビュー機能の提供、どの設計を採用するかを決めるテストなど、何をしようとしているかにかかわらず、エンドユーザーへのアプリケーション全体の提供を加速させ、顧客フィードバック ループを短縮できます。

2023 年はすでに、テクノロジーにとって最も重要な年の一つになろうとしています。生成 AI はさまざまな分野の仕事を再定義し、開発者の質、規模、イノベーションを向上させています。Google Cloud 全体に織り込まれた Duet AI は、スキルレベルを問わずすべての開発者が直感的な会話インターフェースを通じて AI コンパニオンの助力を得られるようにします。しかし、このような革新的なテクノロジーは、リーダーシップからのサポートを実感している集中型の開発者が同時に存在して初めて十分なメリットを発揮します。このシフトダウン手法は単なる自動化チェックリストやマネージド サービスにとどまるものではなく、企業のデジタル インフラストラクチャを支えるチームメンバーの健康や精神的ウェルビーイングに深く関与します。開発者の負担を最小限に抑えることは、チームを活性化させるだけでなく、チームの注意を再びイノベーションや価値創造に向けます。「シフトダウン」と Duet AI がどのようにして開発速度を推進するかについて詳しく知りたい場合は、Duet AI の早期アクセスにご登録ください。変化を受け入れ、足取りを早めて、シフトダウンと Duet AI によってチームの真の可能性を引き出しましょう。


- アウトバウンド プロダクト管理担当ディレクター Rakesh Dhoopar

投稿先