テクノロジーコンサルティング本部 Dataグループ シニア・マネジャー兼Accenture Google Cloud Business Group ソリューションアーキテクトの青柳雅之です。私はデータやアナリティクスの領域を中心にAWS/Azure/GCPといった各パブリッククラウドにおける業務に従事しています。

筆者はGCP、Azure、AWSについてクラウド設計・利用ガイドラインを整備してきました。このようなガイドラインは特段珍しいものではなく、パブリッククラウド上のシステムの設計、開発、運用に関わる会社であればほぼ整備していると思われます。今回のブログでは、以前のブログでも言及したガイドラインの策定プロセスに加え、育成面やクラウドCoEとの関係も併せて解説します。

クラウド設計・利用ガイドラインとは何か
クラウド設計・利用ガイドラインは、実際にアプリケーションを構築する際に、アーキテクチャ、設計書、手順書などを作成する際に参考にするガイドラインです。パブリッククラウドのサービスは技術の進化が早いため、工数をかけて可能な限り内容を詰め込んだ教科書的な文書を作成するよりは、必ず考慮しなければならない事項に絞った利用ガイドの作成を推奨します。


図:ガイドラインの位置づけ

ガイドラインの詳細度・分量は、ガイドラインを利用する利用者のスキルレベルに依存します。利用者のスキルが高ければ、ガイドラインは薄く、スキルが低ければガイドラインは分厚くなります。そのため、クラウドの設計をすべてガイドラインに依存するのではなく、まずはメンバーのスキルを高めることに力点を置くことを推奨します。学習のために基本事項を多く含むとクラウドサービスの変更時に利用ガイドの修正工数が増えます。また、管理画面のUIも頻繁に変わるため、画面ショットは記載する必要はありません。

図:ガイドラインの利用者のスキルとガイドラインの分量の関係


システムを構築するプロセスの観点から、主要なガイドラインの項目を示します。

図:ガイドラインの主要な目次と開発プロセス


ガイドラインの作成プロセス
ガイドラインは、以下の内容から構成されます。すべて公開ドキュメントからベースを作成していますが、そこに社内の知見などを入れています。すべての項目を入れることはありません。絶対に見逃してはならないものを取捨選択しています。

  • クラウドの各サービスにおけるベストプラクティスと制約
  • 業種業界に応じた企業毎のユースケースによって同種のサービスを使い分ける際の判断基準
  • リファレンスアーキテクチャ

■我々はどのように3つのクラウドのガイドラインを整備してきたか
数年前からAWSのガイドラインを整備してきました。これは当初、AWSの需要が多かったからです。そのあと、Azure、GCPとAWSのガイドラインをベースに作成してきました。ガイドラインは項目を最小限に抑えたものをベースとして使います。お客様に提供するときはディスカッションを行い、お客様のユースケースに応じて項目の追加、修正、削除を行います。

ガイドライン作成は育成プロセスの一つの側面
ガイドライン作成はアセットという意味合いもありますが、メンバーの育成にも一役買っています。

中途採用者の多くはクラウドの経験者ではありますが、そうではないメンバーもいますし、他部署からの異動者、新卒社員については必ずしもクラウドの知識が十分にあるわけではありません。クラウドの経験がほとんどない場合、このブログでもたびたび紹介させていただいているカスケード式トレーニングへの参加を推奨しています。
カスケード式トレーニングを終えたレベルのメンバーは、ハンズオン(もくもく会)に参加したり、資格取得を行うことに並行して、ガイドラインの作成プロセスにも参加を推奨しています。

クラウドCoEとガイドライン
クラウドCoEでガイドラインを整備します。以前のブログでも書きましたが、筆者が考えるCoEとは、組織内で最先端の技術を用いて実プロジェクトで成果を出し、そのプロセスやアセットを組織内で共有するチームです。CoEは技術力のないチームをサポートする役割ではありません。CoEのこの考えは、クラウド以外の領域にも適用できます。もともとは初めて新しい技術を組織に導入する際にどのように行えばいいのか?という命題から出発しています。

以下、私がCoEを組成するコンサルティングをお客様先で実施した際の事例となります。

  • クラウドCoEの組成
    クラウドCoEはお客様メンバーと我々アクセンチュアメンバーで構成されます。アクセンチュアメンバーは企画や技術アセット開発(ドキュメント、開発環境、サンプルコードなど)をリードします。お客様メンバーはアクセンチュアメンバーと共にこれらのコンテンツを作成しスキルを高めます。
    クラウドのスキルを組織内に伝搬させるために、お客様メンバーは定期的に交代するものとし、組織の経験者は自分の組織でクラウド開発をリードし、またクラウドCoEに新たに加わったメンバーはこの組織でスキルを高めます。
    加えて、クラウドに最大限適合した組織を目指す中で、クラウドCoEは、クラウド上の開発における単なる相談窓口ではなく、各チームがクラウド上の開発で自立できるように必要なアセット、プロセスを提供する組織となります。


図:メンバーを入れ替えて組織の技術力を引き上げるクラウドCoE

  • クラウドCoEの役割
    クラウドCoE内に、各施策を実施するための、プログラムマネジメント、アーキテクト、チェンジエージェントの3つのロール(役割)を定義します。各ロールはアクセンチュアメンバーとお客様メンバーにより構成されます。当初はアクセンチュアメンバーがほとんどのロールをリードしますが、お客様の成熟度が向上するにつれて徐々に我々は抜け、お客様に各ロールのリードを担っていただきます。最終的には自走できるのがゴールです。

図:クラウドCoEのロール

  • クラウドCoEを活用した開発プロジェクト
    各開発チームから相対的に技術スキルの高いメンバーを選出し、クラウド利用ガイドラインを利用した後に1つか2つのクラウドネイティブアプリ開発プロジェクトをクラウドCoEのアーキテクトロールと共に最初から最後まで実施し経験を積んで頂きます。
    最初の技術リーダーが自分のチームに戻って同様にクラウドネイティブアプリ開発のプロジェクトを実施します。その中で別のメンバーを技術リーダーとして選抜してクラウドCoEに入れます。このようにカスケード式に育てていく方式をとる結果、技術リーダーの数が組織内で増加していき組織のケイパビリティが向上します。

図:クラウドCoEを活用した開発者のクラウドケイパビリティの向上


ガイドラインは社内でも他部署に共有しないことを推奨
多くの組織にとって、ガイドラインはクラウドの知見のない多くのチームを助けるためのものとして扱われており、一部の人が作成して広く社内に展開されているかと思います。しかし私はあえて無条件に共有・展開を行わないことを推奨します。クラウドベンダーが提供する技術ドキュメントの原典にあたり、読みつくしてガイドラインを作成・更新する過程で技術力が高まります。ガイドラインを扱う部署にとって、この機会は必須です。もし広く共有するなら、ガイドラインの更新を義務付けるべきですし、利用者には一定の資格を求めてもいいでしょう。

参考資料
クラウドCoEとクラウドEA

青柳 雅之

テクノロジー コンサルティング本部 Dataグループ シニア・マネジャー

ニュースレター
Subscribe to アクセンチュア・ クラウド・ ダイアリーズ Blog Subscribe to アクセンチュア・ クラウド・ ダイアリーズ Blog