検索
連載

「クラウドネイティブ」はどう誤解されているか草間一人×青山真也 クラウドネイティブ対談(1)(1/2 ページ)

「クラウドネイティブ」とは、結局何なのだろうか。具体的には何をすることなのだろうか。草間一人氏と青山真也氏がクラウドネイティブについてじっくり話す本連載の第1回として、「クラウドネイティブはどう誤解されているか」をお届けする。

Share
Tweet
LINE
Hatena

 日本国内で、「クラウドネイティブ」に取り組む企業が増えている。テクノロジー企業の間では、事実上共通のテーマとなっている他、一般企業でも、デジタル活動の推進に伴い、クラウドネイティブを目指す動きが見られるようになってきた。

 だが、「クラウドネイティブ」とは、具体的には何なのだろうか。クラウドネイティブを目指す場合、何をすることになるのだろうか。2019年7月の「Cloud Native Days Tokyo 2019」でCo-chairを務めた草間一人氏と青山真也氏は、この言葉の意味を誤解していると思われるケースに遭遇することもよくあると話す。

 そこで両氏に、クラウドネイティブに関してじっくり語ってもらった。@ITではこれを4回に分けてお届けする(聞き手は@IT編集部 三木泉)。


青山真也氏(左)と草間一人氏(右)

 各回のテーマは次の通り。

第1回 「クラウドネイティブ」はどう誤解されているか(今回)
第2回 CNCFのTrail Mapを、クラウドネイティブ活動の指針としてどう考えるか
第3回 結局「クラウドネイティブ」で、何をすればいいのか
第4回 「こんなのクラウドネイティブじゃない」と思うこと

 今回は、「クラウドネイティブ」という言葉がどのように誤解されているかについて、青山氏と草間氏に聞いた部分をお届けする。

クラウドネイティブは、「完全に新しいもの」ではない

―― お二人とも、「クラウドネイティブ」について誤解している人が多いと感じていると思います。具体的にはどういう点で誤解されているのでしょうか?

青山 「クラウドネイティブ」については、CNCF(Cloud Native Computing Foundation)のTOC(Technical Oversight Committee:技術監督委員会)が定義しています。この定義では、「疎結合」「回復力」「管理性」「可観測性」「自動化により、堅牢かつ期待通りに、最小限の労力で更新できる」といった点が、クラウドネイティブの特性として挙げられています。

クラウドネイティブ技術を推進する団体、CNCFによる「クラウドネイティブ」の定義

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

 これらの手法により、回復性、管理力、および可観測性のある疎結合システムが実現します。 これらを堅牢な自動化と組み合わせることで、エンジニアはインパクトのある変更を最小限の労力で頻繁かつ予測どおりに行うことができます。

 Cloud Native Computing Foundationは、オープンソースでベンダー中立プロジェクトのエコシステムを育成・維持して、このパラダイムの採用を促進したいと考えています。 私たちは最先端のパターンを民主化し、これらのイノベーションを誰もが利用できるようにします。


青山真也氏 「Kubernetes好き」を公言し、Certified Kubernetes Application Developer、Certified Kubernetes Administratorの認定資格を持つインフラエンジニア。サイバーエージェントに所属しながら、他の事業会社に対する技術アドバイザーや客員研究員も務めている。Cloud Native Meetup Tokyo/Kubernetes Meetup Tokyoのオーガナイザーでもある。著書に「Kubernetes完全ガイド」「みんなのDocker/Kubernetes」

 クラウド化を進める組織が、従来こうした取り組みを一切やっていなかったかというと、そうでもないと思います。クラウドネイティブは全く新しい考え方ではなく、あくまでもクラウドの延長線上にあると考えています。企業によっては、クラウドの技術を使ってシステムを組んでいれば、70%くらいクラウドネイティブになっているというケースもあります。

 つまり、「クラウドネイティブはとても新しいもので、入れると全てがハッピーになる」、あるいは「一気にステップアップする」と考えるのは誤解だと思います。

 また、「コンテナを使えばクラウドネイティブだ」という人がいます。しかし、仮想マシン上にアプリケーションを構築・運用したとしてもクラウドネイティブになり得ます。

 コンテナにすることで、仮想マシンよりも迅速なスケールができるとか、CI/CDとの相性が良くなったり、イメージ化がしやすくなったり、といったメリットはあります。ですが、クラウドネイティブへのより良い選択肢を提供しているに過ぎません。また、コンテナではセキュリティが担保しづらいという問題もあります。今後軽量VMなどに戻るかもしれません。

 CNCFの定義には、「マイクロサービス」も出てきますが、「マイクロサービス=クラウドネイティブ」でもありません。マイクロサービス化には、メリットがたくさんありますが、一方で可観測性(オブザーバビリティ)が下がります。そこで現在のところ、サービスメッシュで何とか補おうとしています。

 つまり、コンテナと同様、マイクロサービス化を進めたからといって全ての問題が解決するわけではありません。将来、マイクロサービスとは異なるコンセプトが、クラウドネイティブの要素技術となるかもしれません。言い換えれば、マイクロサービスとは別のもので疎結合性を担保しつつ、可観測性を確保できるようになる可能性もあります。

 クラウドなどを使う際のベストプラクティスを文言化したものが、クラウドネイティブだと思います。あくまでも、ベストプラクティスとしての属性を表現したものです。それを達成するために、技術やコンセプト、考え方があります。これらについては、現在とは別のものが、今後新たに出てくる可能性があります。

Copyright © ITmedia, Inc. All Rights Reserved.

       | 次のページへ
[an error occurred while processing this directive]
ページトップに戻る