クラウドエキスパートのように聞こえる方法

公開: 2022-03-10
簡単な要約↬インターネット全体で拡大する顧客ベースにスケーラブルで回復力のあるサービスを提供することは非常に複雑です。 結局のところ、サービスの使用方法について適切な決定を下すのはあなたの仕事です。

あなたのコードは書かれていて、デザインは素晴らしく見えます。 クライアントが「これはクラウドで実行する必要がありますか?」と尋ねると、新しいプロジェクトはほぼ準備ができています。

あなたは冷や汗で勃発します。 質問は巨大です。 リージョンとゾーン高可用性負荷分散—クラウドには独自の言語があります。

心配しないでください。 あなたはこれを持っています。 この記事では、クラウドについて賢明な意思決定を行う方法と、クライアントのクラウドに関する質問に答える方法について説明します。

4つの大きな質問

あなたとあなたのクライアントがあなたが望むクラウドの種類を知る前に、あなたは4つの質問について話し合う必要があります:

  • 実行する必要のあるソフトウェアはどれくらい複雑ですか?
  • どのくらいスケーリングする必要がありますか?
  • それが決して下がらないことはどれほど重要ですか?
  • 世界中のユーザーが実行するのにどれくらいの速度が必要ですか?

この記事では、これらの質問に答えるために必要な背景と情報を提供し、クラウドの専門家のように聞こえます。

さぁ、始めよう。

  1. クラウドとは?
  2. クライアントがクラウドを気にする理由
  3. クラウドはホスティングサービスとどう違うのですか?
  4. 仮想マシンが非常に重要である理由
  5. ネットワーキングについて少し話しましょう
  6. さまざまな種類の雲
  7. 雲の基本部分
  8. クライアントが尋ねる可能性が高い質問
ジャンプした後もっと! 以下を読み続けてください↓

クラウドとは?

私たちがクラウドコンピューティングについて話すとき、私たちは本当に他の誰かからコンピューターの一部を借りる能力を意味します。 これですべてです。

アマゾンやグーグルのような会社はたくさんのコンピューターを持っていて、彼らはあなたにそれらの一部を喜んで借ります。 独自のデータセンターを構築したり、専門家の独自のスタッフを雇ってそれらを実行したりする必要がないため、それらからコンピューターを借りることは費用効果が高いです。

コンピューターの一部を借りるときは、コンピューター全体のように見せて、好きなソフトウェアを実行できるようにする必要があります。 そのため、プロバイダーは仮想マシン(VM)を提供します。これは、自分の別のコンピューターで実行しているように見せかけるソフトウェアです。

クライアントがクラウドを気にする理由

クラウドについて詳しく知る前に、クライアントが気にする理由を理解することが重要です。 流行語の魅力を捨てないようにしましょう。 クラウドは今本当にトレンディです。 あなたのクライアントは、すべてのクールな子供たちがそれをしているので、ただ尋ねているかもしれませんが、クールな子供たちがそれをしている理由があります。

基本から始めましょう。 独自のデータセンターをホストすることは、後部の苦痛になります。 電力消費、ハードウェアを最新の状態に保つこと、それを実行するために専門家のチームを雇うこと、そしてあなたのビジネスとは関係のない他の千の問題について心配する必要があります。 電源が切れたり、洪水が発生したり、屋根が陥没したりした場合はどうなりますか? これらはすべて、リビングルームで実行されているサーバーでWebサイトをホストしない理由です。

すべての頭痛の種を他の人に伝えることができるだけでなく、データセンターを実行してもらうことで、次の3つの大きな利点が得られます。

  1. 雲はグローバルです。
    それらは、クライアントの近くを含む世界中のデータセンターに存在します。 それはスピードを意味します 中国の顧客が米国からのデータの読み込みを待っているのは望ましくありません。 Google.comにアクセスすると、ボストンにはシカゴやロサンゼルスとは異なるデータセンターがあります。これは米国だけです。これがGoogleの速度を可能にする大きな部分です。
  2. 雲は成長し、縮小します。
    サーバーを購入すると、サーバーが1台になります。 私のアプリがコンピューター全体を必要としない場合でも、そのサーバーの料金を支払う必要があります。 私のアプリが本当に人気になったとき、私はより多くのサーバーを早く購入する必要があります。 クラウドはそのようには機能しません。 サーバーの共有をレンタルするということは、レンタルする金額を変更できることを意味します。忙しいときに注文を拡大し、必要のないときに縮小することができます。
  3. 雲が下がることはありません
    決して言わないでください…しかしほとんど決して。 クラウドプロバイダーは「ファイブナイン」について語っています。これは、99.999%の時間(年間わずか5.26分のダウンタイム)で稼働していることを意味します。 負荷分散やフェイルオーバーなどのサービスを使用すると、これをさらに小さくすることができます。

これらはすべてクラウドがクールになる理由ですが、単純なホスティングサービスからそれらのいくつかを取得することができます。 クライアントがクラウドについて質問している場合は、違いを知る必要があります。

クラウドはホスティングサービスとどう違うのですか?

MediaTempleという名前のホスティングサービスに個人のウェブサイトがあります。 私のサイトはWordPressを実行しているので、いくつか必要なものがあります。

  • 私のファイルを置くためのディレクトリ
  • HTTPサーバー
  • データベース
  • PHP

私のディレクトリはLinuxで実行され、HTTPサーバーはApacheであり、データベースはMySQLであり、すべてPHPで実行されます。 それが彼らがそれをLAMPスタック(Linux-Apache-MySQL-PHP)と呼ぶ理由です。 それはたくさんの作品のように聞こえるかもしれませんが、それらは限られています。 たとえば、新しいソフトウェアをインストールできません。 PostgreSQLでデータベースを実行したいのなら、運が悪いです。 PythonやGoのような他の言語を実行することはできません。 自分でプログラムを書くことはできません。 非常に限られた、事前に構成された一連のことしかできません。

私のウェブサイトも、1つの場所にある1つのサーバーでのみ実行されます。 そのサーバーはどこにありますか? 何も思いつきません。 アメリカのどこかにあると思いますが、それ以外はわかりませんし、あまり気にしません。 ホスティングプロバイダーからサーバーが1つ提供され、URLを入力すると、サイトが表示されます(ほとんどの場合)。

ホスティングプロバイダーはそれをシンプルに保ちます。 それらのいくつかは他のスタックをホストし、いくつかはもう少し構成を許可しますが、それは常にセットパッケージです。

ホスティングサービスとクラウドの根本的な違いは、仮想マシンです。 ホスティングサービスは、既存のオペレーティングシステムの一部を提供してくれます。 仮想マシンは、オペレーティングシステム全体を自分自身に提供します。

仮想マシンが非常に重要である理由

仮想マシンは、実際のマシンと同じように機能します。 LinuxまたはWindowsを実行でき、通常のコンピューターで実行できることは何でも実行できます。 Appleは、仮想マシン上でOS Xを実行することを許可していません(ただし、「Hackintosh」を構築して動作させる人もいます)。

仮想マシンがある場合は、完全に制御できます。 データベース、電子メールサーバー、暗号化、さらには地球外生命体の検索など、必要なものは何でも実行できます。 仮想マシンを使用すると、やりたいことが何でもできます。

オペレーティングシステム全体を自分のものにすることは非常に強力ですが、何か便利なことをする前に、VMにアクセスする必要があります。

ネットワーキングについて少し話しましょう

仮想マシンにアクセスできない場合、仮想マシンは役に立ちません。 ネットワークは少し複雑になる可能性がありますが、ネットワークが必要です。

クラウドネットワークケーブルの画像
ネットワーキングはこれほど難しいことではありません。 (大プレビュー)

しかし、これらの基本はあなたが始めるために必要なものをあなたに与えるでしょう。 よく知っている例から始めましょう。 おそらく今あなたの家で走っています。

ホームネットワークの図
私のホームネットワーク(大規模なプレビュー)

私は自宅にComcastを持っています。 Comcastは、 10.0.0.89のようなIPアドレスを持つケーブルモデムを提供してくれます。 IPは1つしかありませんが、ラップトップは2つ、iPadと電話が1つあります。 私の妻と娘はさらに多くのデバイスを持っています。 それを機能させるために、ケーブルモデムに接続するワイヤレスルーターがあります。 私のワイヤレスルーターは、 192.168.0.100などのIP 192.168.0.101を持つすべてのデバイスを提供しますが、これらのアドレスは私のネットワークにプライベートです。

これらのプライベートアドレスの専門用語はルーティング不可です。 個人使用のために設定されているアドレスがいくつかあります。 ほとんどの場合、これらのアドレスが実際には許可されていないことをインターネットルーターに示すために、 10.または192.168で始まります。 再利用可能なため、これらの特別なアドレスを使用しています。

すべてのIPアドレスは、特定のネットワークで一意である必要があります。 そうしないと、ルーターは私が接続したいコンピューターを認識しません。 4,294,967,296の可能なIPアドレスがあります。 ネットワーク設計者は、これらすべてが1970年代に始まったときは多くのことを考えていましたが、現在は不足しています。 IPv6のように、将来この問題を解決する可能性のあるプロトコルは他にもいくつかありますが、今日では、ネットワークアドレス変換(NAT)を使用してこの問題を解決しています。 それがどのように機能するかをお見せしましょう。

私の家のデバイスには、私の家では一意のアドレスがありますが、全世界ではありません。 インターネットに接続したいときは、無線ルーターで変換してもらう必要があります。 リンクをクリックするたびに、ラップトップはワイヤレスルーターと通信してリクエストを送信します。 次に、ワイヤレスルーターは私に代わって世界と通信しますが、独自のアドレスを使用します。 次に、私のケーブルモデムは、Comcastと通信するときに同じことを行い、Comcastは、私の要求を一般的なインターネットに送信するときに、はるかに大規模に同じことを繰り返します。 各ルーターは、前のルーターからIPアドレスを変換しています。 これはすべて、多くのコンピューターが192.168.0.101のようなIPアドレスを再利用できることを意味し、すべてが競合することなく機能します。

では、実際のインターネット上の実際のIPアドレスは何ですか? 現在、私の実際のIPアドレスは66.30.118.150で、プライベートIPアドレスは192.168.0.103です。

住所66.30.118.150はどこから来たのですか? Comcastが所有するIPアドレスです。 私が米国北東部のマサチューセッツ州ケンブリッジにいることは明らかです。 詳細は必要ありません。 私が知る必要があるのは、それがComcastが私のために管理している本当のパブリックアドレスであるということだけです。 Comcastは、おそらく数百または数千の他の人々に同じアドレスを使用します。

このアドレス変換はすべて、他に非常に重要なことを行います。 これにより、ホームネットワークに入るすべてのものを制御する単一のアクセスポイントが得られます。 外部の誰も192.168.0.103にアクセスできません; 彼らにとって、それは別の住所です。 出入りできるトラフィックを制御することで、多くのセキュリティを確保できます。 私のワイヤレスルーターは、何が起こるかを制御できるピンチポイントです。

ほとんどのクラウドは、私のホームネットワークと同じように機能します。 コンピューターは仮想であり、ネットワークはサブネットと呼ばれ、ワイヤレスルーターはゲートウェイと呼ばれますが、それはすべて同じことです。 それらには、プライベートアドレスとそれらをパブリックアドレスに変換するゲートウェイを備えた仮想マシンがあります。 また、自宅のワイヤレスルーターと同じように使用できるアドレスのスペースもあります。 このような:

クラウドネットワークの図
My Cloud Network(大規模プレビュー)

複雑に聞こえるかもしれませんが、それほど難しくはありません。 クラウドは、他の人からコンピューターを借りて、ホームネットワークのように見せるための方法です。

覚えておくべき最も重要なことは次のとおりです。

  • プライベートIPは、プライベートネットワークでのみ使用できます。
  • パブリックIPはインターネットで利用できます。
  • NATを使用すると、プライベートIPをパブリックIPのように見せることができます。

クラウドネットワーキングで発生するのはそれだけではありませんが、起動して実行し、クラウドにアクセスするには十分です。 次に、必要なクラウドの種類を決定する必要があります。

さまざまな種類の雲

クラウドは不定形の用語です—人々はそれを多くの異なることを意味するために使用します。 雲には実際には3つの異なるカテゴリがあります。

インフラストラクチャクラウド

仮想マシンとネットワークは、Infrastructure as a Service( IaaS )とも呼ばれるインフラストラクチャクラウドの構成要素です。 これらは、仮想化されたインフラストラクチャを提供し、完全に制御できます。 オペレーティングシステムとその上で実行されるその他すべてを決定します。

柔軟性と制御が得られますが、インストールするすべてのものを管理およびサポートする責任があります。

インフラストラクチャクラウドは静的または弾性のいずれかです。 静的クラウドはホームネットワークのように機能します。必要なものを実行する一連の仮想マシンがあります。 彼らはプライベートネットワーク上に住んでおり、インターネットへのアクセスを許可するパブリックゲートウェイを備えています。 静的クラウドは、データの処理、追加のコンピューティング能力、またはホスティングプロバイダーが処理できるよりも複雑なサイトのホスティングに最適です。 静的クラウドを世界中の他のデータセンターに複製することもできます。

弾性雲は静的雲のように機能しますが、動的です。 仮想サーバーの固定セットの代わりに、ニーズに応じて拡大または縮小できるセットがあります。 クラウドは、サイトやサービスに対する需要が高い場合は拡張し、そうでない場合は通常のサイズに縮小します。 すべての拡大と縮小はあなたにお金を節約します。 必要のないときに、必要のないコンピューティングパワーを還元します。

NetflixはIaaSを使用しています。 アマゾンウェブサービスはインフラストラクチャを提供し、Netflixはシステム全体を最上位に実装します。 高解像度コンテンツのストリーミングを高度にカスタマイズしたサポートを提供する独自のソフトウェアを作成しました。 Weather Companyは別の例であり、IBMCloud上で実行されます。

プラットフォームクラウド

Platform as a Service( PaaS )とも呼ばれるプラットフォームクラウドは、クラウドプロバイダーがインフラストラクチャとソフトウェアスタックを管理しながら、アプリケーションにソフトウェアビルディングブロックを提供する特殊なクラウドです。

たとえば、Webアプリケーションが必要な場合、PaaSはバニラワードプレスまたはDrupalを使用できるように提供します。 データベースが必要な場合は、MySQLまたはPostgreSQLを選択できます。 開発ツールが必要な場合は、Node、Java、またはPHPから選択できます。 実行中のオペレーティングシステムや、MySQLセキュリティパッチを適用する必要があるかどうかを心配する必要はありません。クラウドプロバイダーがそれを処理します。

HerokuはPaaSクラウドです。 それはその下にソフトウェアを提供し、あなたはその上にあなたが望むものを書くだけです。 ある程度の柔軟性がありますが、IaaSクラウドよりもはるかに多くの管理を行います。

ソフトウェアクラウド

Software as a Service( SaaS )とも呼ばれるソフトウェアクラウドは、明確に定義されたオンラインサービスを提供する非常に特殊なタイプのクラウドです。 ホスティングプロバイダーは、特別なタイプのSaaSクラウドです。 それらは非常に限られた方法で機能します。

WixはSaaSのもう1つの例です。 優れたエディター、ユーザーのログインと支払いのサポート、および選択可能なさまざまなテンプレートを備えた完全なWebアプリケーションホスティングサービスを提供します。 Wixはたった1つの仕事に焦点を合わせています。 機能は非常に限られていますが、使いやすさもあります。

雲の基本部分

さまざまな種類の雲と、それらが必要な理由について説明しました。 クラウドの専門家のように聞こえる前に、クラウドを構成するさまざまなコンポーネントを知る必要があります。

仮想マシン

仮想マシンは、ハードウェアのように動作するソフトウェアであり、どこにでも別のサーバーを必要とせずに、実際のマシンのように機能します。 VMを使用して好きなことを行うことができ、VMはダックテストに合格します。実際のサーバーのように歩き、いんちきをします。 あなたのソフトウェアは決して違いを知りません。

この柔軟性には代償があります。 仮想マシンを保守するのはあなたの責任です。 クラウドプロバイダーはハードウェアが最高の状態であることを確認しますが、オペレーティングシステムと、その上で実行されるその他すべて(セキュリティパッチ、ソフトウェアアップデート、構成)を選択する必要があります。 それはすべてあなた次第です。

また、エラスティッククラウドを使用していない場合は、不要になった仮想マシンをリリースすることを忘れないでください。 プロバイダーは、VMが機能しているかどうかにかかわらず料金を請求します。

サブネット

クラウドネットワーキングについてはすでに説明しました。 サブネットは、クラウドで実行されるネットワークです。

プライベートIPとパブリックIP

クラウドネットワークは、サブネット内の仮想マシンにルーティング不可能なIPアドレスを割り当てます。 それらは私のネットワークにプライベートであるため、プライベートIPとして知られています。 仮想マシンがインターネットにリクエストを送信すると、パブリックゲートウェイがそれらのリクエストを変換します。 これは、クラウドプロバイダーによる出力トラフィックと呼ばれます。

コーヒーショップから自宅のプリンターにアクセスできないのと同じように、クラウドでは仮想マシンにアクセスするためにパブリックIPが必要です。

パブリックIPを仮想マシンに割り当てて、入力トラフィック(インターネットから仮想マシンにルーティングされるトラフィック)を許可できます。 クラウドプロバイダーは、入力トラフィックと出力トラフィックに対して異なる料金を請求するため、これは重要です。

SSHキー

SSHキーは、クラウドへのアクセスを可能にする個人情報です。 2つのファイルで構成されています。 次のような公開鍵があります。

 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC5b8xmtjUd1taP4svy9FM/WZc/n5gkqKVkhIsqW27hw2WuhfTVNLA6IBBOs9+br+HlqGYwgYB3DSh0Zm/3Bok1uQhinH77FmKsrPGDpvtJv16weIvGiTMVp+Mct8DVKl48KZxvQKa0Hp6MxEc7cQ9WPvzWn9BPLHERSkSNwXSUobqpFBgIPy9UBWr5DsI2Li5HeMgMgTcbuVVdO/8I/rhKoIyTqkhY4CZcyssmWhMvPmk6+9IcOr0O4SyW9TL+CZgDH1mW2dUypT+1j6HgFjr9H8NfJ4EKnWnFkQXo8HZ4oh6lSTaIfDQfnbrjVUO14N7FW9ZgXbL9cJVx5FLw3ny9 [email protected]

そして、次のような秘密鍵があります。

 -----BEGIN RSA PRIVATE KEY----- MIIEogIBAAKCAQEAuW/MZrY1HdbWj+LL8vRTP1mXP5+YJKilZISLKltu4cNlroX0 1TSwOiAQTrPfm6/h5ahmMIGAdw0odGZv9waJNbkIYpx++xZirKzxg6b7Sb9esHiL xokzFafjHLfA1SpePCmcb0CmtB6ejMRHO3EPVj781p/QTyxxEUpEjcF0lKG6qRQY CD8vVAVq+Q7CNi4uR3jIDIE3G7lVXTv/CP64SqCMk6pIWOAmXMrLJloTLz5pOvvS HDq9DuEslvUy/gmYAx9ZltnVMqU/tY+h4BY6/R/DXyeBCp1pxZEF6PB2eKIepUk2 iHw0H52641VDteDexVvWYF2y/XCVceRS8N58vQIDAQABAoIBAHU7UKW+m2X55Dui zf0SqW5rXUtDwhOq6qTZhoGIvFjOBwKGfXosjRyyGJ0o6jyqvM1L4Q7ZUDXzg5fT CwXIhAYKrFprRXvHcypnS2hHsKW27k3yZ6tkIX+XW+VT5fzdhCXUyKks3jcRBHtJ ux7BI0kLGR02e6MSHYkowp47p1Auukx1saRkFTwvy+znABgqVETvtHBxAiElXndL JfQntaQacgWWDjl2qUj+06IB/Qzd9/Mo1Vtdb8SUZxv/Qc2raSi3LL0N4aSJGLGU pq395ggv9NdhUQf+DN9uGaOC4hYeGdO8gm27yysZ4rTT5iln5wOaCAcMTMrGL4+k GoU/nKECgYEA7AP/Mh9sUi9AX/17a3A/zxNAO1ZrvM+Caj/X/t/pt3HEOhqLz7o5 z3g8/Z+H0CJLZNiP9XbMak2wvOiqRj0y+FihX/ESll6XgIEPTBUcFSirWMe4f9og FltrnelUjHG9MTDW0P4jmmp1E5V8RgnCCv2VjN40ulP5zHPXXdU2FP8CgYEAySNs /qlFL7DTB/A851y6cUzQC5kiKlr/T8aUtOHeBo626jlnHDy/VY9vIJ0ttsYyHCdM OSdqZh5wRwvshr94tpOBQNnDTI4Xv7t2couHl7q2xTOYeWViwGyZaatNYlWWFh/u YSCTd2jn6cvBZOZP3BAiWoF9nzLcsjfpNLdzAkMCgYAx8TaTOKsHSRBqP41aUspt 2zkAVW0+6vpB2Xivalpegyhu0yc6scGB8YOWd6eZl2g00s7DtnvTEtWPY/yEGHcs rjSXxL+WKjYM70J5aw4iPBTmGH0mMNYRZQ8Ev1cw0PCj9B3A48ZM6rITjtJZT79L 7BU1Vd/6fcKiTPEJ3hAvqQKBgBKOQBnmR8m0iGNtGFFHzrNxIKhRQkOiDXewnDtr su3r8Jf/H7INMKGWD+x0U6lO84SBY5jKOBifqkADq5hqxZoiVYREEq5XVX2Mr8q1 cJbg1MewkNpyLgAOhMCo2wS9XJFB9N3lAXW8qdh5waerT6a/nku3Mn2jVZTjb5I7 clK9AoGAZLuvLAJpFOf/mweajULV+oFMGzIArvbk1c+cGySeI5uZwfQ9lv2MOb0N DuFTXZt6QpKV9Nix/8KgBIP2Vac6gSAeF6kIXk2+nV6gXm5tojYrf6gG1jY8ceRD IFSeGlnBhYVrFcQ79fYwJtSQgGde4PtNF1yq9ipluAyLuy1cLUc= -----END RSA PRIVATE KEY-----

パスワードの代わりに、これら2つのファイルを一緒に使用します。

SSH公開鍵認証は、リモートシステムにログインするための堅牢な方法であり、標準のユーザー名とパスワードよりも安全です。 (SSHは「セキュアシェル」の略です。)おそらく、Githubキーの形式でSSHキーを見たことがあるでしょう。

SSHキーは、ブルートフォース攻撃やその他の脅威を防ぐために、公開キー暗号化とチャレンジレスポンス認証に依存しています。

これらのキーにより、仮想マシンにアクセスできるのはあなただけになり、スクリプトやその他の自動化されたタスクでうまく機能します。

データセンター

データセンターは、コンピューターでいっぱいの大きな建物です。 クラウドプロバイダーはそれらの一部をあなたに貸し出します。

IBMで撮影されたクラウドデータセンターの画像
IBMのクラウドデータセンター(大規模プレビュー)

コンピューターは強力なサーバーであり、それぞれが同時に多数の仮想マシンをホストできます。 これらのサーバーは大量の電力を消費し、大量の熱を発生します。ネットワークを高速化するには、サーバーを物理的に近接させる必要があります。 つまり、データセンターは、クラウドプロバイダーがクラウドの一部を実行するすべての物理ハードウェアを収容する施設です。 データセンターには、すべてのマシンを稼働させ続けるために、適切な冷却、冗長電源、大規模なネットワーク帯域幅、制御されたアクセス、および熟練したスタッフが必要です。

データセンターは多くの負荷を処理できますが、1か所にしかありません。 グローバルクラウドプロバイダーは、世界中のクライアントがサーバーへの許容可能なネットワークアクセス遅延を確実に持つように、データセンターを世界中に分散させる必要があります。

地域とゾーン

クラウドプロバイダーは、停電、洪水、ハリケーン、その他の災害の際に要求に応え続けることができるように、データセンターを編成する必要があります。 プロバイダーはこれをサービス品質と呼んでいます。これはすべて、クラウドがダウンしないようにするための一部です。

リージョンは、特定のラウンドトリップネットワーク遅延(どこからどこへ?)を持つ地理的エリアです。 地域には、ダラス、東京、フランクフルトなどの名前があります。 そのエリア内で支払っているネットワーク遅延を確実に取得できます。

リージョンは、1つ以上のゾーンで構成されます。 ゾーンは、他のゾーン間で単一障害点が共有されないことを保証するように設計された、独立した電気、機械、およびネットワークインフラストラクチャを備えたリージョン内の分離されたデータセンターです。 これにより、リージョン内の複数のゾーンにデプロイすることで、可用性の高いフォールトトレラントアプリケーションを構築できます。 ゾーンがクラッシュした場合、リージョンは続行できますが、すべてのゾーンがダウンした場合、それは本当に悪いことです。

データセンターはゾーンをホストします。 複数のデータセンターがクラスター化されて、マルチゾーンリージョンが作成されます。 ゾーンには、us-south-1、us-south-2、us-south-3のような名前が付いています。 小さなリージョンは単一の堅牢なデータセンターで処理できますが、人口の多いリージョンでは、ネットワークとコンピューティングの需要に対応するために複数のデータセンターが必要になる場合があります。

ディザスタリカバリ、高可用性、およびフォールトトレランス

これらの概念は、最も熟練したITアーキテクトでさえも汗をかきます。 彼らは夜も起きていて、どうすれば雲が落ちないようにするのだろうと考えています。

しかし、あなたはこれを持っています! クラウドは(ほとんど)ダウンすることはなく、ダウンした場合でもカバーされていることを確認するのは簡単です。 これらの概念を1つずつ確認してみましょう。

ディザスタリカバリ(DR)は、重大なインシデントの最中およびその後に何をすべきかを詳述した一連のポリシーと手順です。 システムが正常に失敗するようにシステムを設計し(つまり、ユーザーは何かが間違っていることを理解しますが、それはカバーされます)、インシデントが発生した後は、できるだけ早くシステムを元に戻す方法を知っています。 リージョン全体がダウンした場合、サービスがサイバー攻撃を受けている場合、またはサービスが脆弱であり、ダウンさせる必要がある場合は、DRが必要です。

高可用性(HA)は目標にすぎません。これは、前に説明した「ファイブナイン」です。 アプリケーションが障害に対して回復力を持つようにする必要があります。 リビングルームでサーバーを実行している場合、これはほぼ不可能ですが、クラウドで実行できます。 クラウドのフォールトトレラントインフラストラクチャに依存することで、高可用性の目標を達成します。すべてが自動的に処理されます。

フォールトトレラントインフラストラクチャは、何かがダウンした場合にバックアップが確実に引き継がれるようにする設計です。 クラウドはフォールトトレラントシステムです。 リージョン内のゾーンに障害が発生した場合、他のゾーンがサービスの継続性を保証します。 ロードバランサーなどのコンポーネントを使用して、そのフォールトトレランスを活用する必要があります。

ロードバランサー

高可用性は、アプリケーションの複数のインスタンスを同時に実行することで実現します。 ロードバランサーは、ユーザーからのトラフィックを、稼働中のインスタンスの1つにルーティングする機器です。 リクエストを受け取り、次の正常なサーバーに送信します。

ロードバランサーは仮想マシンの状態を監視し、さまざまなパラメーターを考慮に入れることができます。 仮想マシンまたはアプリがクラッシュしたかどうかを検出できますが、ネットワークレイテンシ、リクエストヘッダー内の特定のデータなどもチェックできます。

クライアントが尋ねる可能性が高い質問

したがって、アプリケーションは正常に実行されていますが、クライアントはクラウドの採用を検討しています。 準備はいいですか? クラウドの専門家のように聞こえるように答えることができるはずの一般的な質問を次に示します。

ホスティングプロバイダー以上のものが必要なのはいつですか?

クライアントは、すべてのサービスをクラウドに移行することに全力で取り組んでいる可能性があります。 柔軟性、回復力、地理的に分散したプレゼンスを備えたクラウドにより、興奮しやすくなります。

クラウドはより高速で柔軟性があり、信頼性がありますが、コストもかかります。 クライアントのシステムを実行し続けるために、追加のITサポートが必要になる場合もあります。 クラウドは万人向けではありません。

クライアントのシステムが現在ホスティングプロバイダーで実行されている場合、クラウドに移行する必要がありますか?

現在および将来のニーズを検討する:クライアントが規制に準拠するための高可用性を求めている場合は、クラウドに移行します。 クライアントが世界中のオーディエンスをターゲットにしている場合は、クラウドに移行します。 年間を通じて急激な需要の急増が予想される場合は、クラウドに移行してください。

システムが特定の地域内のローカルユーザーによって主にアクセスされる場合、またはシステムがクライアントにとってミッションクリティカルでない場合は、クラウドに移動しないでください。

重要なポイント:クライアントのシステムがホスティングプロバイダーで正常に動作している場合は、クライアントを不要なIT費用から隔離しながら、クラウドの復元力とパフォーマンスを提供する既存のSaaS製品を検討する必要があります。 クラウドベースのサービスを提供するBluehostのような従来のホスティングプロバイダーと、ホスティングサービスを提供するクラウドプロバイダーがあります。

どのタイプのクラウドを使用する必要がありますか?

適切なタイプのクラウドを見つけるのは大変なことであり、各プロバイダーは幅広いサービスとオプションを提供しています。 最初に考慮すべきことは、クライアントのソフトウェアスタックとそれが現在実行されているハードウェアの複雑さです。

スタック全体が、再コンパイルされたオープンソースライブラリ、カスタマイズされたLinuxカーネル、または特別なストレージの最適化によって高度にカスタマイズされている場合は、最初にIaaSを確認する必要があります。 一部のプロバイダーでは、高度にカスタマイズされたコンポーネントにIaaSを使用し、他の部分にPaaSを選択することで、クライアントを組み合わせることができます。

ただし、クライアントのニーズのほとんどが既製のライブラリの上に構築されている場合は、PaaSが出発点として適している可能性があります。 クラウドプロバイダーは、クライアントのコードが常に最新の依存関係の上で実行されるようにします。

適切なクラウドモデルが特定されると、要件と評価基準はクライアントに固有のものになります。 ただし、非機能要件には常に注意を払う価値があります。クライアントは、ドメイン固有の規制、認証、または標準に準拠する必要がありますか? 特定のベンダーに依存したり、特定のベンダーと提携したりしていますか?

最後に、クラウドプロバイダーの移行サポートとベンダーロックインについて考えてみてください。システムが稼働した後、顧客が競合他社に移行するのはどれほど難しいかです。 クライアントが退去を計画していない場合でも、退出計画を検討してください。

サイトがダウンしないようにするにはどうすればよいですか?

クライアントが米国の医療業界で働いているとしましょう。 HIPAAでは、すべての組織に何らかの災害復旧計画があり、それにはWebサイトが含まれている必要があります。 サイトがダウンするとクライアントのビジネスは失敗するため、クラウドの復元力が必要です。

クラウドは、サイトがダウンしないようにするために必要なツールを提供します。 アプリケーションの複数のインスタンスを同時に実行する必要があります。また、ユーザーが不正なインスタンスにアクセスしないようにトラフィックを制御する方法も必要です。

クライアントがサイトをIaaSクラウドにデプロイしている場合は、トラフィックを制御するために、アプリケーションの複数のインスタンスとロードバランサーが必要になります。 クライアントにPaaSクラウドがある場合は、クラウドがルーティング部分を自動的に提供するため、複数のインスタンスが実行されていることを確認してください。

サイトでデータベースを使用している場合は、クライアントのクラウドがセッションアフィニティスティッキーセッションとも呼ばれる)をサポートするように構成されていることを確認してください。これにより、すべてのユーザートラフィックが同じ仮想マシンにルーティングされます。

世界中のすべての人のために自分のサイトを高速化するにはどうすればよいですか?

クライアントがグローバルになり、アプリケーションが世界中のエンドユーザーに高速サービスを提供する必要がある場合は、クラウドの柔軟性と地理的範囲が必要です。

クラウドはグローバルですが、ユーザーがいる場所の近くでアプリケーションのインスタンスを実行する必要があります。

クライアントと協力して、ユーザーベースに最適なクラウドリージョンと、クライアントがサイトをサポートするAPIをホストしている場所を特定します。インスタンスは両方に近い必要があります。 また、ユーザーの場所に基づいてトラフィックをさまざまな地理的領域にルーティングするグローバルプロキシの設定についても検討する場合があります。

結論

インターネット全体で拡大する顧客ベースにスケーラブルで回復力のあるサービスを提供することは非常に複雑です。 ここでは表面をほとんど傷つけていません。 そのため、詳細はAmazon、Google、その他のクラウドプロバイダーに任せたいと考えています。 あなたの仕事は彼らのサービスをどのように使うかについて良い決断をすることです。

クライアントがクラウドで何かを実行する必要があるかどうかを尋ねるときは、次の4つの質問をする必要があることを忘れないでください。

  • 実行する必要のあるソフトウェアはどれくらい複雑ですか?
  • どのくらいスケーリングする必要がありますか?
  • それが決して下がらないことはどれほど重要ですか?
  • 世界中のユーザーが実行するのにどれくらいの速度が必要ですか?

これらの4つの簡単な質問から始めれば、クラウドの専門家のように聞こえます。 さまざまな種類のクラウドを考慮して、クライアントと協力して、これらの質問に対する回答がクライアントにとって何を意味するのかを理解してください。そうすれば、クライアントのニーズを解決する上で大きな役割を果たします。