クラウドネイティブ」でググれば、8億件以上がヒットする。明らかに、クラウド・ネイティブは重要な用語だ。 そして の人々は、それが実際に何を意味するのか曖昧だ。少し前、ある "業界人 "との会話の中で、私はこう言った。と言ったところ、彼女はうんうんと頷いていた。クラウド・ネイティブという略語を使うことで、いくつかの複雑な構造について合意することができたのだから。 もっと掘り下げてみよう。
クラウドネイティブとは何かを定義するためには、もっとシンプルな質問から始める必要がある:
クラウドとは何か?
全ては "分断 "について
約50年前、マイクロソフトが設立される前、ハーバード大学の学生ビル・ゲイツとポール・アレンは、世界初のマイクロコンピューターのひとつであるMITS社のアルテア8080用にBASICインタープリターを書いた。彼らはプログラム全体を紙テープ(初期の記憶装置)に収め、自分たちが書いたものをMITSに見せるためにニューメキシコに飛んだ。
アルバカーキへの下りで、アレンは(BASICインタプリタがAltair 8080にロードするために必要な)紙テープを読む方法がないことに気づいた。 アレンはすぐに紙テープを読むプログラムを書いた。それはうまくいった。.
集約」の意味を知りたければ、これがいい例だ。ゲイツとアレンのBASICインタプリタを実行するのに必要なものはすべてゲイツとアレンが書かなければならなかった--紙テープからシステム・メモリにコードを読み込むルーチンも含めて!
クラウド・コンピューティングでは、完全に分離することが目標とされている。何を分離するのか?それは すべて.コンピュートとそれ以外のものは分離されているため、必要なコンピュート量を他のものから独立して購入することができる。ストレージやネットワークも同様だ。
しかし、それはインフラに過ぎない。クラウドはソフトウェアも分解する。ゲイツやアレンがアプリケーションのコードを一行一行書く必要があったのに対し、今日のクラウドアプリケーションは、特定のタスクを処理するために「サービス」を活用している。大規模なモノリシック・アプリケーションを何年もかけてコーディングする代わりに、今日のクラウド・アプリケーションは、数十(または数百)のクラウド・サービスをリンクする数百行のコードで構築されている。
クラウドは、次のようなUnixの哲学を論理的に拡張したものである。 ダグ・マッケロイ Unixのパイプの発明者である "Write programs that do one thing and do it well.一緒に働くプログラムを書け。
それがクラウドの本質だ。しかし、なぜ分割するのか?最も単純なレベルでは、分断は弾力性と俊敏性をもたらす。
弾力性
どんな仕事量でも、必要なリソースは時間とともに変化する。例えば、ジェームズ・キャメロンの アバター』は特殊効果の限界に挑んだ.1フレームをレンダリングするのに1時間、クラウドで3,000vCPU相当が必要だった。アバター』は1秒間に48フレームで撮影され、192分間上映されたため、レンダリングするフレーム数は50万を超えた。これは16億時間以上の仮想CPUサイクルに相当する。
この映画は合計12年間製作されましたが、他の映画と同様、最終的なレンダリングの多くは映画の公開間近に行われました。クラウドは、アバターの特殊効果ベンダーに必要な弾力性を提供した。エグゼクティブ VFX プロデューサーの David Conley 氏は、AWS なしでは実現できなかったと述べています。
弾力性は、コンピュート、ストレージ、ネットワーク、その他必要なあらゆるリソースに適用される。クラウドでは、必要に応じて使用量を簡単かつ迅速に増減できる。
敏捷性
クラウドのもう一つの利点は、あらゆる意味での俊敏性である。クラウドはそれを可能にする:
開発の敏捷性 前述のサービス・アーキテクチャのためだ。開発者はさまざまなサービスを取り込み、何年も何百万行もかかるコーディングを、何週間も何千行もかかるコーディングに減らすことができる。
余談だが、この新しい「サービス・アーキテクチャ」はネットワーク効果の恩恵を受けている。より多くのワークロードがサービスを使えば使うほど、サードパーティは新しいサービスを開発する気になる。そして、サービスが増えれば増えるほど、開発者はサードパーティーのサービスを使う気になる。この好循環が、モノリシックなコーディング手法からサービス・アーキテクチャへの移行を加速させている。
インフラの俊敏性、 なぜなら、インフラを購入、インストール、管理する代わりに、ユーザーは必要なものを必要なときにシンプルなリクエストで要求するだけだからだ。infrastructure-as-code」とは、シンプルな「コード」を使って、必要なインフラを数週間や数カ月ではなく数分でプロビジョニングすることを指す。
経済的敏捷性、 なぜなら、必要なときに必要な分だけプレーできるからだ。アバターは、巨大なSFXデータセンターを建設して12年間管理する必要はなかった。その代わり、必要なときに必要なものをスピンアップするだけだった。
さて、クラウドとは何かを理解したところで、真のクラウド・ネイティブになるために何が必要かを議論しよう。
クラウドネイティブとは何か?
簡単な答えは、クラウドネイティブ・アプリケーションは、次のような方法でクラウドとやりとりするということだ。 クラウドネイティブ プリミティブを使用する。例えば、クラウドネイティブ・アプリは、Amazon AWSのネイティブ・ストレージ・サービス(S3、EBS、EFSなど)を直接呼び出すことになる。この原則は、コンピュータ、ストア、ネットワークなど、すべてのクラウド・サービスに当てはまる。
クラウドで生まれた」アプリケーション(つまり、クラウドで、そしてクラウドでしか実行できないように初日から設計されたアプリケーション)にとっては、これは簡単なことだ。しかし、オンプレミスの世界で生まれたアプリケーションには、痛みを伴うリファクタリングが必要だ。これには、アプリケーションをコンピュート、ストレージ、ネットワークなどすべてのインフラから完全に切り離す必要があることに注意しよう。
真にクラウド・ネイティブであるための2つ目の重要な要件は、"as-code "で管理できることだ。これは、数週間かけてすべてを手作業でインストールして設定する従来のオンプレミスプロセスとは対照的に、数行のコードでアプリケーションを立ち上げられることを意味する。
妊娠中のように、「部分的にクラウドネイティブ」ということはない。アプリはクラウドネイティブであるか、そうでないかのどちらかだ。アプリが完全に分解され、「アズ・コード」手法を採用しなければ、クラウドが約束する弾力性と俊敏性のメリットを失う。
クラウド・ネイティブ・ストレージ・ソリューションはあるのか?
クラウド・ネイティブ・ストレージ・ソリューションの話をする前に、「ストレージ」に関してクラウドの「プリミティブ」をおさらいしておこう。
それはオブジェクトストレージ(Azure blob / AWS S3)だ。 これは驚くほど手頃な価格で、スケーラブルで、利用可能で、耐久性のあるデータ永続化レイヤーであり、スループットで測定されるパフォーマンスも優れている。 欠点は、RESTfulで最終的にしか一貫性のない新しいインターフェースであることだ。
そして、私が貧乏人のSAN願望と呼んでいるもの、つまりAWS上のEBSとAzure上のマネージドディスクがある。 これらのプリミティブは、"ローカルディスク "のように見え、回復力があり、ほとんどの場合、通常のストレージサーバーの通常のディスクのように動作する。 これらのプリミティブは、"保護されたローカルディスク "と同等の働きをする(ローカルのコンピュートインスタンスに接続されていないことを除いて)。 これらのプリミティブは、中程度のパフォーマンス特性を持ち、「ランダムリード/ライト」をサポートできますが、高価です。
インスタンスに接続されたNVMe SSDは、これらの「ドライブ」上のデータがインスタンスの再起動に渡って持続しないという点で、DRAMの拡張のようなものである。
今日まで、ストレージ業界は頑なにクラウドに抵抗してきた。レガシー・ベンダー(Dell、NetApp)は、ハードウェア固有のコード(NVRAMへの深い依存、データ回復力とデータ・サービス・レイヤーの緊密な結合)をあまりにも多く持っているため、クラウド・ネイティブなプリミティブを活用するために自社製品をリファクタリングすることができないのだ。
そして、同じくハードウェアに最適化されたストレージ・スタックを選択したVASTとPureが登場した。
ピュアズ クラウドブロックストレージ クラウド・ネイティブ・プリミティブを使用して、ピュアの顧客が望んでいるブロック・データ・サービスを提供するという点で、このサービスは適切であり、また悲しいことでもある!いったい誰がクラウドでSANを利用しているのだろうか?ただただ呆れるばかりだ。 この話題のついでに言うと、クラウドでVMWareを使っている人が誰なのか理解するのは難しい。これもまた不可解だ!
次世代ストレージ・プロバイダの中で印象的なのは、実はWeka.ioだ。 彼らは「クラウドネイティブ」なアーキテクチャを持ち、クラウドオブジェクトストレージを弾力性レイヤーとして活用している。 あとは、彼らがHPCのニッチプレーヤーであり、「ガラスのフェラーリ」であるという評判さえなければ...。
では、QumuloのCTOとして、Qumuloのクラウド・サービスについて何か言うことはあるだろうか?
ご期待ください。
2023年11月9日(木)の日付をカレンダーに記入し、心を揺さぶられる覚悟をしてくださいᙂ。