クラウド ネイティブの環境とは、文字通り読めば、クラウドに完全適合し、その特性をフル活用できる環境ならすべて「クラウド ネイティブ」です。でも、実際には、特にマイクロサービスのコンテナ環境を指すことが一般的です。それを英語では、しばしばNew Stackと呼びます。つまり「新しいスタック」ですが、この呼び名がしばらく続いてNewじゃなくなった頃にLegacy Stackになるのか、あるいはニューミュージックが懐メロになってもまだニューミュージックであるように、はたまた昭和の香り漂うニュートーキョーがずっとニュートーキョーであるように、いつまでもNew Stackと呼ばれ続けるのかどうかはわかりません。
ただし、その成り立ちは必ずしもNewではなく、過去の成功例を巧みに踏襲している、と指摘するコラム記事を見かけました。「歴史は繰り返す」という法則にもとづき、クラウド ネイティブのコンテナ環境が今後目覚ましい成長を遂げる可能性について論じられています。非常におもしろい着眼点なので、ここで紹介したいと思います。
同記事では、New StackとTCP/IP Stackを比較しています。TCP/IPは、それが最初に導入された段階から、その後インターネットが世界を席巻する土台となるのにふさわしい巧みなデザイン構成が成されていた、という話です。結果的にうまくいったのか、先見の明があったのかは書かれていません。たぶん半々ではないかなという気がします。いずれにしても、そのデザインはすでに通信分野の発展の基礎となっているので、それが計画的なのか否かはここでは重要ではありません。重要なのは未来です。TCP/IPが通信分野の発展に寄与する理由となったのと同じ要素を、New Stackが備えていて、New Stackも今後、想像を超える凄まじい発展を遂げるかもしれないという理論です。
前置きが長くなりましたが、まずはTCP/IPのデザインから。
TCP/IPスタックは抽象的な各種通信レイヤーに分けられ、その区分けが潜在的な問題を孤立化させ、総体的なシステムの複雑化を防止しているそうです。すなわち、アプリケーション層、トランスポート層、インターネット層、リンク層に分けられ、各種技術の開発が各レイヤーで独立して並行に行われ、互いの制約を受けないことが大きな発展につながったそうです。
さらに、各レイヤーにはモジュール式に独立したプロトコールが用意され、ユーザーに選択の自由が保証されました。各レイヤーで使用できる主なプロトコルは以下のとおりです。
この「選択の自由」が、通信分野の技術革新をさらに加速させたと考えられています。これを選んだら、あれも選ばなければいけないとか、他のレイヤーとの兼ね合いが大事だとか、いろいろ注文をつけられたら技術者のやる気が削がれて、さほど技術革新が進まないということでしょう。いや、やる気の問題ではなく、制約がないことのほうが重要なのでしょう。テクノロジーの翼を大きく広げ、大空に自由に羽ばたいたのです(ちょっとかっこよく言ってみました)。
これと同じ原理が、クラウド ネイティブのNew Stackのデザインにも当初から組み込まれていると、同記事は指摘しています。
潜在的問題の分離+モジュール構成=シンプル+選択の自由
TCP/IPが各レイヤーに区分されたように、New Stackも以下のように機能別に分化され、潜在的な問題の孤立化が可能なしくみになっています。
- インフラストラクチャ層 ― ストレージ、コンピュート、ネットワークを支えるレイヤー
- Kubernetesデプロイメント層 ― インフラストラクチャを抽象化し、ワークロードをスケジュールで制御
- Kubernetesプラットフォーム アドオン層 ― Kubernetesの機能を補い、データとワークロードのセキュリティとスケーラビリティを提供
- データサービス層 ― クラウド ネイティブ アプリケーションに適切なデータベースを提供
そして、New Stackをモジュール式に個々に独立してサポートするさまざまな実装オプションが存在します(下表参照)。クラウド ネイティブ環境はもともとマイクロサービスとして、互いに依存度の低いサービスの集合体なので、個々のサービスがデータベースやライブラリを共有する必要がありません。つまり、各レイヤーがその機能に適したツールを選択する自由が保証されているのです。それが単一のソリューションやベンダーに縛られない柔軟性と、開発環境の効率性および拡張性をもたらすというわけです。
長い目で見た場合、優れた設計とは、複雑化を極力排除しながら、選択の自由は排除しない設計なのだそうです。レイヤー区分で潜在的な問題を分離させ、モジュール式に選択の自由を保証して将来的な技術革新への余地を残せば、ニーズの変化や、業界の再編など、将来の予期せぬ変革にも動ぜずに継続的な発展が可能になる、ということです。それを、TCP/IPスタックが身をもって証明していて、奇しくもそれと同じ設計原理がクラウド ネイティブ スタック(New Stack)にも端から組み込まれている、というわけです。TCP/IPの基礎が後に1990年代、2000年代のインターネットの爆発的な普及を可能にしたように、もしかしたら、今後10年20年、クラウド ネイティブが世界を席巻するかもしれない、という夢のあるお話でした。先行投資するなら今からでも遅くない!!(利回りの確約は致しかねます m(_ _)m)
関連トピックス:
- クライム・クラウド・カンパニー 感謝祭2016での AWS re:Invent 2016 報告!
- vSphere Web Access設定【仮想化プラットホーム VMware vSphere】
- Q:VMware vSphere Replication 1.0の機能制限は?
- クラウド管理者のための5つの集中型ロギング のベストプラクティス
- そもそも、クラウドネイティブとは?
- ハイブリッドクラウドインフラにおけるビジネスメリット
- VMwareとHyper-Vでのフェイルセーフなバックアップのための注意事項 x 5つ
- RAID5やRAID6はストレージのパフォーマンスと容量にどのような影響を与えるか
Kubernetes環境のバックアップとモビリティを手軽に実現する製品「K10 PLATFORM」についてはこちら: https://www.climb.co.jp/soft/kasten/