Skip to main content

AI時代に向けて、クラウド変革から学ぶ

著者

2024年5月21日

0 分で読めます

規模を問わず、多くの開発チームが、AIツールを活用したソフトウェア開発の可能性に期待を寄せています。Google GeminiやGitHub Copilotのようなコーディングアシスタントは、これまでにない速さで開発を加速させる可能性を秘めており、経営層が正式に承認しているかどうかにかかわらず、開発者はこうしたツールを導入しています。

チームでこの新しいテクノロジーの最適な導入方法を検討する際、デジャブのように感じるかもしれません。AIをめぐる「新たなスピードやイノベーション」といった話は、約10年前に経験したデジタルトランスフォーメーション、つまりクラウドの登場を思い起こさせるのではないでしょうか。

クラウドへの移行はソフトウェア開発にさまざまな変化をもたらし、チームはプロセスの見直しと開発速度の向上を迫られました。Infrastructure as Code(IaC)やコンテナといった新しいテクノロジーへの対応もその一つです。

同様に、AIテクノロジーもソフトウェアの構築方法を変えていきます。AIを使えば、開発者は手作業でコードを書く場合と比べて、わずかな時間でコードを生成できます。クラウド変革が始まったときにも、同じようにスピードと効率が大きく向上しました。

一方で、こうしたテクノロジーの転換に伴う、新たなセキュリティリスクや責任の所在をめぐる混乱など、成長過程で生じる課題もよく知られています。AIは一部の組織にとって大きな飛躍のように感じられるかもしれませんが、これまで経験してきた他の変革と本質的に変わりません。10年前のクラウド移行で得た教訓は、今まさに直面しているAIテクノロジーの変化にも十分に生かせます。

クラウド変革から得た教訓

多くの組織では、クラウドへの移行によって、以前から存在していた課題が明らかになりました。オンプレミス環境では、チーム間の非効率な引き継ぎやレガシーツールの問題が見過ごされていたかもしれません。しかし、クラウドに移行すると、こうした非効率を隠し通すことはできませんでした。組織はすぐに、3つの領域で進化が必要だと気づきました。

DevOpsツールの導入

クラウドDevOpsのアプローチに移行するなかで、多くの組織は、オンプレミス環境向けに構築された既存ツールでは対応しきれないとすぐに気づきました。特にセキュリティチームには、反復的なDevOpsのアプローチで生じる急速な変化に対応できるツールへの移行が必要でした。そうしなければ、開発者の負担が増し、ビジネス効率にも影響が及びます。

この新しい変化のペースに対応するため、組織はDevSecOpsに移行し、プロセスの終盤までテストを待つのではなく、ソフトウェア開発ライフサイクル全体にセキュリティテストを組み込みました。DevSecOpsへの移行では、従来のツールを離れ、クラウド向けに設計された新しいツールを導入する必要がありました。こうしたツールには、迅速にテストできること、CI/CDなどのアジャイルプロセスに適合すること、そしてコンテナやオープンソースコードといったクラウド関連の要素とシームレスに連携することが求められます。

教訓:デジタルトランスフォーメーションを実現するには、新しいテクノロジー向けに設計され、アジャイルなワークフローにシームレスに適合するツールを導入しましょう。

今日の新しいAIテクノロジーにも、適切なテクノロジースタックが必要です。チームは、最新のAIソリューションとの適合性を基準にツールを検討する必要があります。また、AI生成コード特有の性質に合わせて設計され、AI生成コードと人間が書いたコードを見分けるラベルなどの機能を備えていることも重要です。

責任を共有する文化を育む

クラウド移行によって、組織における責任共有のあり方も変わりました。たとえば、ITチームが所有していた物理的なITインフラは、Infrastructure as Code(IaC)へと変わり、開発チームがプロビジョニングするようになりました。また、開発チームはソフトウェアライフサイクル全体のセキュリティにも責任を持ち、コードのスキャンや問題の修正に取り組む必要がありました。

SDLCのさまざまな側面で責任を共有できるよう、企業はクラウド・センター・オブ・エクセレンスやセキュリティチャンピオンプログラムを立ち上げ始めました。こうしたトレーニングプログラムによって、チームはクラウド環境で安全かつ高品質なアプリケーションを構築するために協力できるようになりました。

教訓:デジタルトランスフォーメーションを実現するには、組織全体でベストプラクティスを浸透させるためのトレーニングプログラムやセンター・オブ・エクセレンスを導入しましょう。

セキュリティや品質を損なわずにAIを導入するには、今日のチームもAIのベストプラクティスを重視したトレーニングプログラムを検討し、AIセンター・オブ・エクセレンスの設置も視野に入れる必要があります。

プロセスを統合する

ウォーターフォールモデルからDevSecOpsのアプローチへ移行する際、チームはセキュリティテストを開発ワークフローに組み込むなど、プロセス間のギャップを埋める必要がありました。開発の各段階での引き継ぎをシームレスにし、コンテキストの切り替えをできるだけ減らすことが求められました。たとえば、CI/CDツール、リポジトリ、CLIなど、開発で一般的に使われるツールと連携するセキュリティツールやプロセスを活用するようになりました。こうしたシームレスな連携によって、より包括的なアプローチが可能になり、クラウドのスピードとコラボレーションの可能性を最大限に生かせるようになりました。

教訓:デジタルトランスフォーメーションを実現するには、コンテキストの切り替えを最小限に抑え、既存の開発者ワークフローにセキュリティを組み込んで、プロセス間のギャップを埋めましょう。

AIを安全に活用するにも、既存の生成AIワークフローに組み込めるセキュリティコンパニオンの導入など、プロセスの統合が必要です。AI生成コードを安全にするために開発者が多くの追加手順を踏まなければならないなら、そもそもAIで開発を加速する目的が損なわれてしまいます。

AIのスピードに適応する

AIは、10年前にクラウドが果たしたのと同じ役割を担っています。企業がアプリケーションをより迅速かつ効率的に構築できるよう、能力を大きく高めているのです。しかし、クラウド移行と同様に、組織はこうした変化に円滑かつ安全に適応するため、意図的に取り組む必要があります。

Snykは最近、AI支援開発への移行を支援するため、Gemini Code Assistとの独自の協業を発表しました。このパートナーシップでは、Geminiを利用する開発チームの既存ワークフローにSnyk Codeの機能を取り込みます。これにより開発者は、AIが生成したコードを数秒でスキャンし、アプリケーション全体の文脈を踏まえてGeminiが生成したコードを評価できます。さらに、IDE上で段階的な修正案を提示します。AI生成コードをコミットした直後に脆弱性を検出して修正することで、開発者はセキュリティを損なうことなく、AIがもたらすスピードを維持できます。

Gemini Code Assistとのパートナーシップについて詳しくはこちら。

カテゴリー: