1-クリックの進化...

  • 14 June 2019
  • 0 replies
  • 1136 views

Userlevel 3
本記事はPrincipal Product ManagerのCameron Stockwellが2019年6月7日に投稿した記事の翻訳版です。
原文はこちら

数週間前のアナハイムでの.NEXTカンファレンスのキーの戸で、Dheerajは大きくなった我々のポートフォリオとともに、アップグレード管理についての課題についてハイライトし、それでも我々は運用をシンプルに維持し続ける苦労について述べました。

「我々は5,6年前は2つのものをアップグレードしていればよかったのです - AOSとPrism - これは成長におけるパラドックスです -- 成長は複雑さを生み出します。そして複雑さは成長を殺していまいます。」



「アップグレードについて一般的には、30分程度しかかかっていなかったアップグレードが大規模なクラスタを持つお客様にとっては4〜5時間もの時間を要するようになってきている。
しかし、これは非常に大きな責任が伴う。すべてのサーバ、ファームウェア、ハイパーバイザー、全てについて考慮しながら、なおもダウンタイムを伴わずに実行しなくてはならない。」


「このカンファレンスは皆様が言う「最も複雑なことを素晴らしくやってのけるとはどういうことか?」ということに対するものになっています。もはや我々のキャンバスは5年前にそうであったようにシンプルなものでは、もはやなくなっているからです。

我々のキャンバスはより複雑なものになっており、そして、Nutanixに課せられたバーはこれまでと同じような素晴らしさを既存のお客様、そしてこうした複雑さを実際には見ることのない新しい我々のお客様に対してご提供するというものになっています。ですが、我々はそれに取り組み、5年前よりも10倍も高速に進まなければなりません。-- これがこのカンファレンスのあるべき姿です。」

ビデオを46:57から見始めていただくと1-クリックアップグレードの話が始まります。

1-クリックの画板へと戻る

2016年の初頭には、我々がポートフォリオを拡充しながら同時にシンプルな1-クリックアップグレードの約束を守り続けるためには新たな方法が必要であるということは明らかでした。これまでの実績を持つデザイン ー アップグレードのためのコードとロジックをAOSに組み込んでおくというもの ーは継続できないということが徐々に明確になっていきました。その場に留まり続けて、我々には「1-クリック」があり、それぞれのすべての製品やコンポーネントが分離され、独立して「1-クリック」であるということはもはやできなくなっています。これは我々が一度に1つのコンポーネントしかアップグレードすることができないからです。ポートフォリオとそのためのコンポーネント間の依存関係のマトリックスが膨張しているという事実を合わせて考える必要があります。
我々にはスピード、そして俊敏さ、バンドルでのアップグレードが必要でした。特定のヴァージョンのAOSまたはハイパーバイザーのカーネルに紐づけてアップグレードのロジックを提供することは非常に難しいのです。お客様の中には通常はデータや管理プレーンのアップグレードを行わず、重要なソフトウェアやファームウェアの修正(Spectre/Meltdownなどを考えてください)もしくは大きく、また次々とでてくるセキュリティパッチも当てない場合があります。今日のセキュリティの世界は大きく変わりつつあります。愚鈍であるということはもはや受け入れられなくなっています。もっと良い方法が必要とされているのです。
我々はコンシューマデザインのハンドブックを紐解き、アップグレードをスマートフォンがそうであるように一つのアプリケーションのように取り扱うように変え始めました。Apple iOSをGoogle ChromeやMicrosoft Outlookの開発者向けリリースがリリースされるたびにアップグレードしなくてはならないような世界をかんがえてみてください。そんなことには耐えられません。また、これが現在の企業のITが現在直面している課題でもあるのです。最新のspectreの修正がほしいですか?ハイパーバイザーのカーネルやデータプレーンをアップグレードしてそれらに対する修正を追加できるようにしますか? 結構です。それはNutanixのやり方ではありません。

LCM - 「新たな」Nutanixのための1-クリック

Nutanix Life Cycle Manager (LCM)は「アプリ」として生み出されました。最初は、LCMをファームウェアのアップグレードにフォーカスすることを決めました ー 我々が提供する製品ごとに差異があります ー NXプラットフォームは2017年初頭でした。Dell XCとLenovo HXのようなOEM製品がそれに続きました。HPE DXシリーズについてはカレンダーの2019年Q3のGAのタイミングで追加される予定です。最低でもNutanixソフトウェアが動作する、4つの異なるハードウェアベンダーの製品において2019年に「1-クリック」のファームウェアアップグレードができるようになります。
振り返ると、我々は本当の「1-クリックファームウェア」ボタンを複数のマニファクチュアラー向けに提供することの難しさを軽くかんがえていました ー 「10倍」の問題が内包されていました ー 「お客様の選択肢」という価値観のもと、これまでに他のどんな会社も取り組んでこなかった問題です。「1-クリック」のエクスペリエンスはどんなハードウェアの上でも同じでなくてはならないのです。
我々はLCMを最初は我々が提供するソフトウェアのアップグレードのためだけのものにするという簡単な道筋を選ぶこともできました ー これはすでにいくつかのベンダーが提供しています ー しかしファームウェアのアップグレードの業火の中で我々が学んだ教訓は我々のソフトウェアのアップグレードの提供を我々の想像よりもさらによりよいものにしてくれました。LCMの最初のバージョンのリリースから2年賀たち、我々は今では我々の大部分のお客様のハードウェアプラットフォームのファームウェアアップグレードをカバーするようになり、開発はOEMパートナーシップのすべてをカバーするために続けられています。
LCMの旅路は決して優しいものではありませんでした。例えば、ブートデバイスについてのハードウェアマニファクチュアラーのファームウェアのクオリティの問題や、Spectre/MeltdownについてのBIOSの修正によってよくわからない再起動が発生し、LCMの評判についての疑問が生じたこともあります。
大きなクラスタにこうしたたぐいのアップグレードを適応するための時間に嘆く人もいました。自然と、その原因に関係なく我々はこうしたマニファクチュアラーのファームウェアの適応についてのメカニズムを提供しているということについて重要な責任を持つようになりました。もしもiphoneのハードウェアが壊れたら、皆さんはそれをAppleに持ち込みます。バッテリやメモリにAppleがどのマニファクチュアらを使っているかは関係ありません。あたりまえです!
こうした苦労なくしては、われわれはこうした我々のコントロールできない外部要素に打ち勝てるだけの優れたLCMフレームワークを手にすることができなかったでしょう。この結果、我々はLCMの次なる旅路・・・ソフトウェアのアップグレードについての設計の改善に繋がります。

LCMはソフトウェアアップグレードに対応

2019年、LCMは古くからのAOS/Prismに組み込まれた一つづつの1-クリックからソフトウェアのアップグレードへとそのフォーカスを移しました。特に、Dheerajが述べたような我々のプロダクトラインの複雑さに立ち向かうためです。我々はクラスタがインビジブルに最新に保たれるというクラウドのエクスペリエンスをコピーしたいと考えました - リリースノートを読むことなく、ダウンタイムも、そして問題も生じないという具合です。これを提供する唯一の方法はアップグレードのロジックをアップグレードが必要なそれぞれの要素から切り離し、データとマネージメントプレーンから切り離し、そしてハイパーバイザーのカーネルから切り離すことです。
「アプリ」として、LCMは必要に応じて自信をアップグレードすることができ、これはデータプレーン(AOS)ともマネージメントプレーン(Prism)からもそしてお客様がクラスタで動作させているハイパーバイザーのヴァージョンにも左右されません。こうしたものからアップグレードのロジックを切り離すことは多くの柔軟性をもたらします。
すでにPrism Central内のLCM経由でCalmとKarbonのようなソフトウェアをサポートしており、Bucketsについてももうすぐ追加される予定です。加えて、Prism Element側では我々はNCCとAHVのアップグレードをLCMへと今後移行させる計画を開始しています。

LCM 2.2の登場

最新ヴァージョンのLCMはPrismから完全に独立したUIを初めて保持しており、これはメッセージやUXレイアウトを含むUIをいつでもLCM「アプリ」をアップグレードすることで停止を伴わずに更新できるということを意味します。未だPrism経由でLCMへアクセスすることは可能ですが、LCMはもはやクラスタのPrismやAOSのヴァージョンに関係なく自身の見た目や機能をコントロールすることができるようになっています。
ですからLCM 2.2では完全に再設計されたこれまでとは違うビュー、エクスポート機能、より優れたタスクについてのメッセージング、アップグレードのステータス、ワークプランを表示するUIを備えています。
LCMのコアとなる原則のうちの一つはIT管理者がリリースノートを読まなければならないという心配を取り除くことで、依存関係のハンドリングやこれをどのように表示するかという部分も改善されています。

自動的な依存関係のハンドリング

LCMの魔法は他の要素を必要とするあらゆるコンポーネントのアップグレードについて、どのように取り扱うかということです。例えば、BMCコントローラーをアップグレードする場合には特定のハードウェアマニファクチュアラーのBIOSのアップグレードも実施する必要があります。LCMはこれをハイライトするだけではなく、どの順序でそのアップグレードを実施すべきなのかも決定します。
この機能のデモは以下のYouTube LCM 2.2デモで示されています

すべてのケースにおいて、コンポーネント製作者はLCM内の「モジュール」にアップグレードプロセス内で何が必要とされるかが定義しており、LCMは管理者の代わりにこれを実行します。これには「バンドリング」の両者のアップグレードや複数回の再起動をもしもモジュールの製作者が許可した場合には1つにまとめたりすることができます。
OEMのマニファクチュアらは自身でLCMのための「レシピ」を定義することができ、アップグレードの順序や個別のアップグレードを許可するか否か等、他のコンプライアンスルールを定めることができます。
つまるところ、目的は一貫した信頼性のあるアップグレードを完全に1-クリックなやり方で提供することなのです。

まだやるべきことがある

LCMへすべてのポートフォリオの移行を完了させるまで、この仕事は終わりません。それが終わったあとでも、LCMは例えばマルチクラスタのアップグレードやノードのクラスタ間の移行、メンテナンスモード、その他のユーティリティ運用、アップグレードを行う時間の短縮、ダークサイドでのより良いオプション、再起動の伴わないアップグレード、すでに現在LCMフレームワーク内にあるオートアップグレード機能を他のコンポーネントに拡張するなど・・・10倍の課題は続いていきます!もしかするといつの日か、我々はLCMのモジュール開発をサードパーティへ開放し、Nutanixインフラストラクチャを超えて1-クリックを拡張していく日が来るかもしれません。
このような改善を規模の伴った形で実現するためには、あらゆる分散システム小さな単位でのアクションを積み上げていく必要があります。例えば、機能やペイロードの小さな導入に空いてはコンテナ経由で展開するなども必要です ー これがNutanixがMSP/Kubernetesの利用を始め、こうしたテクノロジーを利用してよりスピードを上げながらアップグレードを提供する方法を模索している理由です。AOS自身もより小さくする必要があります。我々がデータプレーン経由で提供するインテリジェントなストレージサービスもCVM ーハイパーバイザーカーネルの外側にあります ーの上の単なる「サービス」になるべきで、そうなることでアップグレードや新しいストレージ機能の展開は数分ではなく数秒になるでしょう。
3階層インフラストラクチャの時代、アップグレードは数ヶ月を要し、数万ドルのコストが必要でした。肥大したハイパーバイザーとそれに紐づく製品の時代では、管理者はアップグレードを恐れるようになりました。これは膨大な依存関係の手順を踏まなければならなかったからです。こうしたものはクラウドライクとは言いません。NutanixとLCMはこうしたすべての苦痛に終わりをもたらそうと戦っています。

訳注: LCM最高! 18ノードを余裕でアップグレードできました。多分Nutanixで一番好きな機能です。

皆様からのフィードバックやこうしたほうが良いというアドバイスはとても重要です。いつでもおっしゃってください。究極的には我々はNutanixスイートの運用をそれがオンプレミスであれ、オフプレミスであれ、完全に「1-クリック」にしたいと思っています。我々を誠実さを維持し、そしてそこへ到達するためにお手伝いいただけますと幸いです。最後に、LCMを我々と共に作ってくださっているお客様の皆様に感謝いたします。

Forward Looking Disclaimer
This blog post includes forward-looking statements concerning our plans and expectations relating to new product features and technology that are under development, the capabilities of such product features and technology and our plans to release product features and technology in future releases. These forward-looking statements are not historical facts, and instead are based on our current expectations, estimates, opinions and beliefs. The accuracy of such forward-looking statements depends upon future events, and involves risks, uncertainties and other factors beyond our control that may cause these statements to be inaccurate and cause our actual results, performance or achievements to differ materially and adversely from those anticipated or implied by such statements, including, among others: the introduction, or acceleration of adoption of, competing solutions, including public cloud infrastructure; a shift in industry or competitive dynamics or customer demand; and other risks detailed in our quarterly report on Form 10-Q filed with the Securities and Exchange Commission. These forward-looking statements speak only as of the date of this press release and, except as required by law, we assume no obligation to update forward-looking statements to reflect actual results or subsequent events or circumstances.
© 2019 Nutanix, Inc. All rights reserved. Nutanix, the Nutanix logo and the other Nutanix products and features mentioned herein are registered trademarks or trademarks of Nutanix, Inc. in the United States and other countries. All other brand names mentioned herein are for identification purposes only and may be the trademarks of their respective holder(s).

This topic has been closed for comments