Azureはオペレーティングシステムですか、それともフレームワークですか?
質問
MSは、Azureをオペレーティングシステムと呼んでいます。
私にとっては、フレームワークのように感じます。 2つを別々に定義するのに少し苦労しています。私は一般的な直感を持っていますが、Azureが本当にOSなのか、それともオペレーティングシステムの上にある単なるフレームワークなのかを本当に言いたいほど明確ではありません。
解決
Deep Fried Bytes Podcast#20 では、Windows AzureプログラムマネージャーのSteve Marxにインタビューし、彼がすべてを説明しています。
これまでに収集できるもの(すべてのポッドキャストを終了していない)から、次のように動作します:
-
Microsoftには、Windows Server 2008の仮想化インスタンスを実行できるHyper-Vを実行するトンサーバーがあります
-
APIを使用して、これらの仮想win2k8サーバーを任意の数だけ起動/停止/再起動できます。使用量に応じてのみ課金されます。
-
この起動/停止/再起動/クラッシュリカバリ/プロビジョニング/課金/などを制御するプラットフォームはWindows Azureです。彼らは冗談めかして「windows server overlord」と呼んでいます
-
これらのVMのロールを定義します。
- Webロール。IIS内でホストされている.NETコード(ASP.NET、httpHandlerなど)を実行できます。
- worker-role。バックグラウンド処理などのためにスタンドアロンの.NETコードを実行します
- CTPから出たら、おそらくより多くの役割
-
Windows azure APIを使用して、それらを開始/停止できます。たとえば、「ウェブロールの5つのインスタンスとワーカーロールの3つのインスタンスを与える」
-
データはストレージサービスによって保存され、保存できます
- ブロブ(S3のようなものを想定しています)
- キュー(SQSのようなものを想定しています)
- テーブル-marxは「Webスケールの非リレーショナルデータストア」に言及しました-SimpleDBやBigTableのようなもの
-
これらのVMには、Windows Live向けのLive Services、.NETサービス、リレーショナルデータ用の本格的なSQLサーバーが必要な場合はSQLサービス、Sharepointが必要な場合はSharepointサービスなど、他の多くのサービスを利用できます。など。
-
ロールアップされたものはすべてWindows Azureサービスプラットフォームです
私の見解-ジャイアントマーケティングは失敗します。混乱がたくさんあります。しかし、MSは常にこの種の「すべてを1つの流行語にまとめる」ことをしているようです(5年前の.NET、誰か?)。私は彼らがそれを止めることを本当に願っています
他のヒント
Windows Azureが提案した別の方法は、「サービスとしてのインフラストラクチャ」です。つまり、調整するサーバーまたはVMを使用する場合と同じように、オペレーティングシステムについて考える必要はありません。
Windows Azureとは?がこれに答えているようです。おそらく
@ daok の引用:
説明
Azure™サービスプラットフォーム(Azure) Microsoftデータセンターでホストされるインターネット規模のクラウドサービスプラットフォーム。オペレーティングシステムと、個別にまたは一緒に使用できる一連の開発者サービスを提供します。 Azureの柔軟で相互運用可能なプラットフォームを使用して、クラウドから実行する新しいアプリケーションを構築したり、クラウドベースの機能で既存のアプリケーションを強化したりできます。そのオープンアーキテクチャにより、開発者は、Webアプリケーション、接続デバイスで実行されるアプリケーション、PC、サーバー、または最高のオンラインおよびオンプレミスを提供するハイブリッドソリューションを構築することができます。
Azureは、先行技術の購入の必要性を軽減し、開発者がMicrosoftの既存のスキルを使用して、クラウドで実行するアプリケーションを迅速かつ簡単に作成できるようにします Visual Studio開発環境とMicrosoft .NET Framework。 .NETでサポートされるマネージコード言語に加えて、Azureは近い将来、より多くのプログラミング言語と開発環境をサポートする予定です。 Azureは、Webおよび接続アプリケーションをホスト、スケーリング、および管理するためのオンデマンドコンピューティングとストレージを提供することにより、アプリケーションの保守と運用を簡素化します。インフラストラクチャ管理は、高可用性と動的スケーリングに対応するように設計されたプラットフォームで自動化され、従量課金モデルのオプションで使用ニーズに対応します。 Azureは、HTTP、REST、SOAP、XMLなどの複数のインターネットプロトコルをサポートする、オープンで標準ベースの相互運用可能な環境を提供します。
機能
Azure Services Platformの主要なコンポーネントには次のものが含まれます。
- サービスのホスティングと管理、低レベルのスケーラブルなストレージ、計算、ネットワーキングのためのWindows Azure
- さまざまなデータベースサービスおよびレポート用のMicrosoft SQLサービス
- ワークフローやアクセス制御など、使い慣れた.NET Frameworkの概念のサービスベースの実装であるMicrosoft .NETサービス
- ユーザーが各自のPC、電話、PCアプリケーション、およびWebサイトでドキュメント、写真、ファイル、情報を保存、共有、同期するためのライブサービス
- クラウドでのビジネスコンテンツ、コラボレーション、迅速なソリューション開発のためのMicrosoft SharePoint ServicesおよびMicrosoft Dynamics CRMサービス。
技術的には、Azureは、Hyper-Vの内部で事実上実行されているバニラのWindows 2008サーバーで実行されるサービスのセットです。アプリはこれらのサービスで実行され、実際のオペレーティングシステムから分離されます。このため、彼らはAzureを「クラウドオペレーティングシステム」と呼んでいます。残念ながら、これらの答えは私の質問に答えません...だから...
質問をより一般的なものに再フォーマットしました: OSとフレームワークの違いは何ですか
Windows Azureは、フレームワークとOSの両方です。 OSが開発者に提供する主な2つのことは、Windows Azureが計算ノードを通じてさまざまな方法で提供するCPUとメモリです。また、構造データ、非構造データ、または半構造データであっても、いくつかのタイプのストレージを保存するスケーラブルなストレージを提供します。ストレージノードは計算ノードとは異なるハードウェアリソースで実行されることに注意してください。これにより、システムの効率が向上し、可用性とスケーラビリティが向上します。アプリケーションで問題が発生した場合、システムは自動的に別のインスタンスを作成し、データが3回複製されます。
クラウドコンピューティングは、主にインフラストラクチャ、プラットフォーム、ソフトウェア(サービスとして)の3つのレイヤーで構成される概念であるため、各レイヤーは特定のセグメントを対象としています。 Windows Azureは、開発者をターゲットとして高可用性とスケーラブルなアプリケーションを構築し、インフラストラクチャを管理せず、インフラストラクチャの管理を行うWindows Serverにインストールされますが、クラウドコンピューティングは仮想化に基づいているため、Windows Azureは独自のハイパーバイザーは、Windows Server Hyper-Vに依存しません。
クラウドコンピューティングでアプリケーションを構築する必要がある開発者には、そのための機能を提供する設計されたフレームワークまたはプラットフォームが必要です。
だからこそ、Windows Azureは単なるフレームワークではなく、単なるOSではなく、その両方だと思います。