目次
クラウドネイティブとは?
The Linux Foundation の派生プロジェクトであるCloud Native Computing Foundation (CNCF) は、クラウドネイティブ(技術)を次のように定義しています。
“クラウドネイティブ技術は、パブリッククラウド、プライベートクラウド、ハイブリッドクラウドなどの近代的でダイナミックな環境において、スケーラブルなアプリケーションを構築および実行するための能力を組織にもたらします。 このアプローチの代表例に、コンテナ、サービスメッシュ、マイクロサービス、イミュータブルインフラストラクチャ、および宣言型APIがあります。
これらの手法により、回復性、管理力、および可観測性のある疎結合システムが実現します。 これらを堅牢な自動化と組み合わせることで、エンジニアはインパクトのある変更を最小限の労力で頻繁かつ予測どおりに行うことができます。
Cloud Native Computing Foundationは、オープンソースでベンダー中立プロジェクトのエコシステムを育成・維持して、このパラダイムの採用を促進したいと考えてます。 私たちは最先端のパターンを民主化し、これらのイノベーションを誰もが利用できるようにします。”
※CNCF Cloud Native Definition v1.1 (日本語訳)を引用
これだけでは理解が難しいため、関連して言及される、他の概念と一緒に掘り下げてみます。
クラウドネイティブとクラウドファーストは何が違う?
クラウドファーストという言葉を聞いたことがあるという方も多いと思いますが、クラウドネイティブとはどう違うのでしょうか。一言で言うと、クラウドネイティブは技術的なアプローチのことで、クラウドファーストは企画的なアプローチのことを指します。クラウドネイティブは「こういう技術を利活用していこう!」という具体的な技術(例えばコンテナやサービスメッシュ、マイクロサービス、イミュータブルインフラストラクチャ、宣言型APIなど)を採用・促進すること。
対してクラウドファーストは、クラウド・バイ・デフォルト原則とも呼ばれ、企業や官庁などの組織が情報システムを整備する際に
“クラウドサービスの採用を第一候補としつつ、単にクラウドを利用するのではなく、クラウドを適切(スマート)に利用するための考え方”(※)
つまり考え方のことを指します。
クラウドファーストで検索してみると政府に関連した情報がヒットするように、デジタル化戦略のキーワードでもあります。
※政府情報システムにおける クラウドサービスの適切な利用に係る基本方針 より。
クラウドネイティブとDX、DevOpsの関係は?
DX、DevOpsの関連キーワードとしても、クラウドネイティブはよく出てきますが、これらの実現には、クラウドネイティブがどう関わるのでしょう。下記の図を基に説明します。

まずDXについては、経済産業省のDXレポートをはじめ様々なところで定義されています。
“ITの浸透が、人々の生活をあらゆる面でより良い方向に変化させる”(※1)
“仮想世界と物理的世界が融合され、モノのインターネット(IoT)を通じてプロセスや業界の動きを変革する新しいビジネスデザインへの改革プロセス”(※2)
“企業が…第3のプラットフォーム(クラウド、モビリティ、ビッグデータ/アナリティクス、ソーシャル技術)を利用して、新しい製品やサービス、新しいビジネス・モデルを通して、ネットとリアルの両面での顧客エクスペリエンスの変革を図ることで価値を創出し、競争上の優位性を確立すること”(※3)
(※1)Information Technology and the Good Life より一部引用して翻訳
(※2)Agenda Overview for Digital Business, 2014 – Gartner
(※3)総務省トップ > 政策 > 白書 > 令和3年版 > デジタル・トランスフォーメーションの定義 より引用、一部を抜粋
学問、社会、ビジネスのスコープでそれぞれに語られていますが、共通しているのは、デジタル技術/IT技術を活用しながら「より良い方向に変化させましょう」というモチベーションです。
次にDevOpsとは、開発部門、IT運用部門、あるいは品質保証(QA)部門が協力するプロセスと方法を推進するものです。
“CI/CD が自動テストや頻繁な統合などソフトウェア開発そのものに着目するのに対して、DevOps はCI/CD のような技術的な側面に加えて、開発や運用といった組織的・文化的な側面をも内包する。また、高い品質を確保しつつ、システムへの変更をコミットしてから通常の運用に移るまでの時間を短縮することを目的とした一連のプラクティスとすることを提案している。”
※Wikipedia より一部引用
つまり図の通り、DevOpsにおける開発と運用を技術的な側面から支えるのがクラウドネイティブで、組織的・文化的な側面から支えるのがDXだと言えます。
クラウドネイティブは、DXに必要不可欠と言われることもありますが、それは「システムをドラスティックに変えていく上で、開発スピードを上げるモダンなシステム開発や環境構築に活かされるコンテナ、サービスメッシュ、マイクロサービス、イミュータブルインフラストラクチャ、宣言型APIなどといった技術がたくさん集まっている」という考えから出てきていると言えるでしょう。
クラウドサービスを利用したいということと、クラウドネイティブを活用したいということ
クラウドネイティブが何かが分かり始めたところで、具体的な利活用を考えてみると、何から手を付ければ良いか戸惑うかもしれません。例えば、クラウドサービスを利用すれば、クラウドネイティブを活用していると言えるのでしょうか。
クラウドサービスは、複数のツールの組合せで実現するような仕組みをマネージドサービスとして、ハードウェア調達から必要なソフトウェアのインストール・設定、そしてそれらの運用までを代行して、すぐ使える形で提供してくれます。このことからもクラウドサービスは、クラウドネイティブの利活用に打って付けのサービスと言えます。
一方でクラウドネイティブで扱われるツールや技術の多くは、必ずしもクラウドサービスが前提になっている訳ではありません。自分でハードウェアを調達して、そこに必要なソフトウェアのインストール・設定を行い、自分で運用する事も可能です。
クラウドネイティブはモダンなシステム環境構築とその運用、それからモダンなアプリケーション開発を実践していくためのツールを含めた技術体系の総称であって、クラウドサービスはその実現手段の選択肢の一つと言えるでしょう。
クラウドネイティブをより深く理解するために
CNCF(CloudNativeComputingFoundation)が公表しているランドスケープからもわかるようにクラウドネイティブには非常に多くの関連ツールがあり、一つ一つの情報もたくさんあります。さらに連携させるとなると組み合わせは無限大で、どう学べば良いか想像がつかないかもしれません。
クラウドネイティブを深く理解するためには、まずは体験してみることが一番です。
カサレアルでは「クラウドネイティブ道場」というトレーニングサービスを提供しています。
技術・ツール群の中から代表的なモデルケースを通じて、クラウドネイティブの全体像を掴むことができるので、これからクラウドネイティブな開発に適応していきたい人、クラウド環境に移行できる知識とスキルを身に着けたい人におすすめです。
目的に合わせたトレーニングのカスタマイズの相談や各技術・ツールをより深く学ぶコースの選択も可能です。
トレーニングサービス企画者からのメッセージ
確かにクラウドネイティブの技術領域はとても広くて、まるで大海原。さすがに一人でボートで漕ぎ出してく事は、ちょっと無謀かもしれません。だからと言って、いつも大きな客船を使い、乗っているだけ・寝ている間に目的地到着という事を繰り返していては、いつまで経ってもこの海の事は分かりません。
勇気を出して、仲間と一緒にこの大海原に漕ぎ出してみませんか。様々な環境に触れてみたり、先に出発した別のグループとの交流を持ったりしながら、想像を超える技術や人と出会い、気が付いたら技術者として大きく成長している可能性も少なくないと思います。
とは言え、誰だって知らない世界に最初の一歩を踏み出すのは勇気が必要ですし、実際に現場にはかなりの難所が数多く待ち構えています。
・まずは最初の一歩を踏む出す時に背中を押して欲しい
・行った事のない所を見てみたいから案内して欲しい
・難所を超えるのを手伝って欲しい
等の場面で私達の事を思い出していただけたら、是非お知らせいただきたいと思います。
少しでもお手伝いが出来る機会をいただけます事、お待ちしております。