はじめに
先日横浜開港祭が開催され久しぶりに花火が打ち上げられました。10分間ではありましたがとても綺麗でした。 こうした花火自宅から見えるのはとても贅沢だなとあらためて感じました。 以前のような盛大な花火大会が、早く普通に開催されるようになることを期待したいと思います。
さて、今回は先日2.0版が発表された「Cloud Native Maturity Model 」を取り上げたいと思います。
Cloud Native Maturity Model
Maturity Mode 2.0lとは
Cloud Native Maturity ModelとはCloud Native FoundationのCartgrafos Working Groupがまとめた、 Cloud Native分野における組織・チームの成熟度を示す指標です。最初の公開はKubeCon 2021 North Americaでした。 そして2022年5月18日、KubeCon 2022 EUにおいてCloud Native Maturity Model 2.0が発表されました。
KubeCon 2022 EUのセッションの内容も公開されました。
成熟度と領域
Maturity Model 2.0を簡単に紹介します。このモデルでは、5つの領域について成熟度を5つのレベルで定義しています。
領域はPeople、 Process、 Policy、 Technology、 Business Outcomesの5つです
領域 | 概要 |
---|---|
People | 組織・チームの取り組み、成長のためのプロセス、セキュリティなどの組織への組み込みについて。 |
Process | 必要となるプロセスやワークフロー。CI/CDやIaCなどの取り組み。セキュリティの Shift Left。 |
Policy | 組織・チーム内外のポリシーや規制、セキュリティやガバナンスの特定や適応。ポリシーのビジネスオペレーションへの反映。 |
Technology | CICD、GitOps、Observability、セキュリティなどの技術分野がCloud Nativeやチームのサポートに役立たせるか。 |
Business Outcomes | ビジネスリーダーやCEOなどのCxO、取締役会とチームとの関わり合いについて。 |
Maturity Model 2.0の変更で一番大きな点は最後の「Business Outcomes」が追加されたことです。 技術的な領域だけではなく、ビジネスと直結しているというところを強く意識するようになっています。
定義されている成熟度の概要は以下のようなものです。
Level | 概要 | |
---|---|---|
Level 1 | Build | Cloud Native実装の基本を理解し、開発・ステージング環境など本番環境に適用する前の段階です。 |
Level 2 | Operate | Cloud Native実装の基礎が確立され、本番環境に移行されている段階です。 |
Level 3 | Scale | 組織・チームの成長と実行環境のスケールに関するプロセスが定義されている段階です。 |
Level 4 | Improve | それぞれの実行環境に対するセキュリティ・ポリシー・ガバナンスを適用し改善している段階です。 |
Level 5 | Optimize | 以前の決定事項を再考したり、アプリケーションやインフラストラクチャのモニタリングを実施し、最適化を行っている段階です。 |
この2つの軸で組織・チームで行われている内容を確認し、その組織・チームがどの程度成熟しているか、どういったところを今後取り組むべきかを 理解することができるようになります。
CNCFのWorking Groupではこの2つの軸で内容を簡単にまとめた Spread Sheet を公開しており、 自分たちがどの程度の成熟度かをセルフチェックすることができます。
内容を確認した感想
CNCFではこれまで Landscape や Trail Map といったものが紹介されてきました。 LandscapeはCloud Native領域で必要となるベンダーニュートラルなOSS技術を幅広く紹介しています。選択肢がたくさんあるということは良いことでもありますが どこから取り組めばいいんだろうと悩んでいる方にとってはその多くの選択肢がマイナスとなってしまいます。 Trail Mapは例えば最初にContainerization、次にCI/CDと、どのような順序で取り組んでいけばいいかというものをしてしているものです。 これにより少し前進できるかもしれません。しかし、Containerizationだけしたら本番環境に移行できるのか?Containerizationを完璧に理解しないと 次に進めないのか?技術だけの問題なんだろうか?そうした悩みがあったのも事実です。
Cloud Native Maturity Modelはそうした悩みを解決するものです。これだけできていればまずは取り組みが開始できる状態で、 このレベルに達していれば本番環境に移行できているでしょうといったことがわかります。 その先さらに進歩するためにはどういった領域をどのように強化していけばいいかを技術面だけではなく、 組織・メンバーといった側面からも確認することができます。
CNCF Cloud Native Maturity Modelの技術的なところはKubernetesを利用するということが前提になっている部分はあります。 このため、すべての方に100%マッチするというものでもないかもしれません。しかし、Kubernetesを使わない環境でも十分に活用出来る部分は数多くあります。
私自身もちょうどKubernetesをプラットフォームとして利用したサービスの開発を行っており、 これまで「自分たちはどこまでできているのだろうか。技術要素としてもまだまだやることたくさんありそうなのだけど、 これからチームとして更に成長するにはどういった領域を中心にどういったことを取り組めばいいだろうか」と悩みを 持っていました。そんなときにこのMaturity Modelを見つけ内容を確認したところ、 「自分たちのレベル感や今後どういった取り組みをすべきか」がクリアにでき、これは参考になるなと実感しました。そして自分たちはできているよね、と思っていた部分がまだまだ甘かったなと気づくきっかけにもなりました。
また、別のチームのメンバーを含めて議論をしましたが、必ずしもKubernetes以外の環境でも適用する意義はあるだろうという意見が多かったです。
ぜひ、皆さんもこのMaturity Modelを活用して、組織・メンバー・そしてプロダクトをより成長できるものにしていただきたいと思います。
おわりに
最後に宣伝。 弊社エンジニアが協力した、「AKSのセキュリティ対策に関するホワイトペーパー」の3,4章がMicrosoftから公開されました。 セキュリティはMaturity Modelのテーマの1つでもありますからとても参考になると思います。ぜひご覧ください。
また、私たちは、Azure・AKSを活用したシステムのSIや内製化のお手伝いをさせていただいております。 Azureやコンテナ、Cloud Native技術の知見を持つエンジニアが対応いたします。 ご相談等ありましたらぜひご連絡ください。