教えて!クラウドネイティブってなに?

「DX」「DevOps」と並んでよく耳にする「クラウドネイティブ」。
聞いたことはあるけどよく分からない、という方も多いのではないでしょうか。
そこでカサレアルが解釈するクラウドネイティブについて、
様々なお客様のクラウドネイティブを支援してきたプロ社員が解説します!

目次

1.クラウドネイティブとは?

カスタマー

最近「クラウドネイティブ」という言葉を聞くよね。
様々なカンファレンスやセミナー、WEBページでも紹介されているけどイマイチ理解ができなくて…

カサレアル

The Linux Foundation の派生プロジェクトであるCloud Native Computing Foundation (CNCF) は、クラウドネイティブ(技術)を次のように定義しているよ。

“クラウドネイティブ技術は、パブリッククラウド、プライベートクラウド、ハイブリッドクラウドなどのモダンでダイナミックな環境において、スケーラブルなアプリケーションを構築および実行するための能力を組織にもたらします。このアプローチの代表例に、コンテナ、サービスメッシュ、マイクロサービス、イミュータブルインフラストラクチャ、および宣言型APIがあります。

これらの手法により、耐久性があり、管理および監視しやすい疎結合システムを実現できます。これらを堅牢な自動化と組み合わせることで、エンジニアは影響力の大きい変更を最小限の労力で頻繁かつ予測どおりに行うことができます。(※)”

これではたしかに理解し難しいよね。関連して言及される、他の概念と一緒に掘り下げていこう!

CNCF Cloud Native Definition v1.0 に掲載の原文を翻訳

2.クラウドネイティブとクラウドファーストは何が違う?

カサレアル

クラウドファーストという言葉は聞いたことある?

カスタマー

あるよ!「クラウドネイティブ」で検索したら、クラウドファーストとの違いを説明したページもたくさん出てきた。でも大きな違いはないように感じられたんだけど。

カサレアル

一言で言うと、クラウドネイティブは技術的なアプローチのことで、クラウドファーストは企画的なアプローチのことなんだ。

カスタマー

二つとも技術的な言葉だと思っていたけど違うの?!

カサレアル

クラウドネイティブは「こういう技術を利活用していこうぜ!」という具体的な技術、例えばコンテナやサービスメッシュ、マイクロサービス、イミュータブルインフラストラクチャ、宣言型APIを採用・促進すること。

対してクラウドファーストは、クラウド・バイ・デフォルト原則とも呼ばれ、企業や官庁などの組織が情報システムを整備する際に「クラウドサービスの利用を第一候補として、その検討を行うこと(※)」、つまり考え方のことを指すよ。

クラウドファーストで検索してみると政府に関連した情報がヒットするんじゃないかな。デジタル化戦略のキーワードでもあるね。

カスタマー

なるほど、二つを並べて比較するものではないんだね。

3.クラウドネイティブとDX、DevOpsの関係は?

カスタマー

DX、DevOpsの関連キーワードとしても、クラウドネイティブはよく出てくるよね。これらの実現には、クラウドネイティブが関わってくるの?

カサレアル

それについては、この図を基に説明するね。

カサレアル

まずDXについては、経済産業省のDXレポートをはじめ様々なところで定義されているよね。

「ITの浸透が、人々の生活をあらゆる面でより良い方向に変化させる(※1)」という概念であったり、「仮想世界と物理的世界が融合され、モノのインターネット(IoT)を通じてプロセスや業界の動きを変革する新しいビジネスデザインへの改革プロセス(※2)」であったり、「企業が…第3のプラットフォーム(クラウド、モビリティ、ビッグデータ/アナリティクス、ソーシャル技術)を利用して、新しい製品やサービス、新しいビジネス・モデルを通して、ネットとリアルの両面での顧客エクスペリエンスの変革を図ることで価値を創出し、競争上の優位性を確立すること(※3)」であったり。

学問、社会、ビジネスのスコープでそれぞれに語られているけど、共通しているのは、デジタル技術/IT技術を活用しながら「より良い方向に変化させましょう」というモチベーションだね。

カスタマー

ふむふむ。
DevOpsは、開発部門、IT運用部門、あるいは品質保証(QA)部門が協力するプロセスと方法を推進するものだよね。

カサレアル

その通り!CI/CD が自動テストや頻繁な統合などソフトウェア開発そのものに着目するのに対して、DevOps はCI/CD のような技術的な側面に加えて、開発や運用といった組織的・文化的な側面をも内包するんだ。また、高い品質を確保しつつ、システムへの変更をコミットしてから通常の運用に移るまでの時間を短縮することを目的とした一連のプラクティスとすることを提案しているよ(※)。

Wikipedia より一部引用

カサレアル

つまり図の通り、DevOpsにおける開発と運用を技術的な側面から支えるのがクラウドネイティブで、組織的・文化的な側面から支えるのがDXなんだ。

クラウドネイティブは、DXに必要不可欠と言われることもあるよね。それは「システムをドラスティックに変えていく上で、開発スピードを上げるモダンなシステム開発や環境構築に活かされるコンテナ、サービスメッシュ、マイクロサービス、イミュータブルインフラストラクチャ、宣言型APIなどといった技術がたくさん集まっている」という考えから出てきていると予想されるよ。

4.クラウドサービスを利用したいということと、クラウドネイティブを活用したいということ

カスタマー

ありがとう!やっとクラウドネイティブが何なのか、理解できたよ。

それにしても、実際にいざ活用しようとすると、何から手を付ければ良いか戸惑いそうだね。クラウドサービスを利用すれば、クラウドネイティブを活用してると言えるのかな?

カサレアル

確かにクラウドサービスは、クラウドネイティブの利活用に打って付けのサービスと言えるね。

実際、複数のツールの組合せで実現するような仕組みを、クラウドサービスはマネージドサービスとして、ハードウェア調達から必要なソフトウェアのインストール・設定、そしてそれらの運用までを代行して、すぐ使える形で提供してくれてるしね。

一方でクラウドネイティブで扱われるツールや技術の多くは、必ずしもクラウドサービスが前提になっている訳でもないんだ。

自分でハードウェアを調達して、そこに必要なソフトウェアのインストール・設定を行い、自分で運用する事もできるんだよ。

結局、クラウドネイティブはモダンなシステム環境構築とその運用、それからモダンなアプリケーション開発を実践していくためのツールを含めた技術体系の総称であって、クラウドサービスはその実現手段の選択肢になってくるんじゃないかな。

カスタマー

なるほど…

でも、クラウドネイティブってこの前ちょっと調べて、CNCF(CloudNativeComputingFoundation)のランドスケープの絵とかも見たけど、ビックリするくらいたくさんツールあるし、1つ1つも情報いっぱいあって、連携させるとなると組合せは無限大、グループ分けされた技術の名前を見ててもピンとこないものばかり…

ちょっと敷居が高すぎる印象で、どこから手をつけて、どう学んでいけば良いのかも、全く想像つかないな。

カサレアル

まずは体験してみることが一番だよ!とはいえ、クラウドネイティブを取り巻く技術やツールは膨大だから、ゼロベースから始めるのは厳しい・・

そこでカサレアルが提供するトレーニング「クラウドネイティブ道場」をお勧めするよ!

技術・ツール群の中から代表的なモデルケースを通じて、クラウドネイティブの全体像を掴むことができるから、これからクラウドネイティブな開発に適応していきたい人、クラウド環境に移行できる知識とスキルを身に着けたい人に向いてるんだ。

カスタマー

目的に合わせたトレーニングのカスタマイズの相談や、各技術・ツールをより深く学ぶコースの選択もできるんだね。

さっそくトレーニングを受けてみるよ!

5.トレーニングサービス企画者からのメッセージ

確かにクラウドネイティブの技術領域はとても広くて、まるで大海原。
さすがに一人でボートで漕ぎ出してく事は、ちょっと無謀かもしれません。
だからと言って、いつも自分は乗っているだけの大きな客船を使い、寝ている間に目的地到着という事を繰り返していては、いつまで経ってもこの海の事は分かりません。
勇気を出して、仲間と一緒にこの大海原に漕ぎ出してみませんか。
様々な環境に触れてみたり、先に出発した別のグループとの交流を持ったりしながら、想像を超える技術や人と出会い、気が付いたら技術者として大きく成長している可能性も少なくないと思います。
とは言え、誰だって知らない世界に最初の一歩を踏み出すのは勇気が必要ですし、実際に現場にはかなりの難所が数多く待ち構えています。

・まずは最初の一歩を踏む出す時に背中を押して欲しい
・行った事のない所を見てみたいから案内して欲しい
・難所を超えるのを手伝って欲しい

等の場面で私達の事を思い出していただけたら、是非お知らせいただきたいと思います。
少しでもお手伝いが出来る機会をいただけます事、お待ちしております。

植草 克友
株式会社カサレアル
取締役 兼
プロフェッショナルサービス技術部 部長

植草 克友