web-dev-qa-db-ja.com

「クラウド」とは何ですか?それは開発とどのように関係していますか?

私はクラウドテクノロジーについて常に耳にしますが、ソーシャルネットワーキングの開発などが中心ですが、今日もまた聞いたことがありますが、今はとても興味があります。推測)Web開発者として? 「クラウド上にあるのか」という質問を繰り返し受ける質問に、「何を求めているのか意味がない」と言わずに答えるにはどうすればよいですか。

14
mattsven

「クラウド」は流行語です。 「クラウド」という言葉が含まれていない定義はありません。デルがクラウドを説明する方法を次に示します。

クラウドコンピューティングは、ITをサービスとして提供します。これは、組織内でのみアクセスできる独自のプライベートクラウド、外部プロバイダーのパブリッククラウド、または両方にまたがるハイブリッドクラウドの場合があります。

クラウドはIT as a Serviceです。正しい。 Geek SquadはサービスとしてのITだと思いましたか?それで、クラウドはオタクな分隊ですか、それともオタクな分隊はクラウドですか?そして、Geek Squadがクラウドサービスの提供を開始した場合、宇宙は特異点を終わらせますか?マーケティング担当者にとっては、地獄のような熱くて深いものはありません。

基本的には、クラスター、仮想化、およびより高速なインターネット接続の論理的な進歩です。企業はストレージと処理能力の提供に特化することができ、アプリケーションをクラスターでホストし、インターネット経由でアクセスできます。また、仮想化を使用すると、実行している実際の物理ハードウェアとは無関係の任意の環境に存在できます。とてもかっこいい。

透過的にスケーリングできるサードパーティの機器でアプリケーションをホストする機能は非常に強力です。ハードウェアをオーバーコミットすることなく、Webプレゼンスを作成できます。特定のハードウェア実装は開発者にとって重要ではないので、それもいいことです。

彼らがそれを「クラウド」と呼ぶ理由は、従来のネットワークダイアグラム、インターネット、世界の他の地域、WAN、ネットワーク、および現在のダイアグラムの範囲を超えたハードウェアは、常にクラウドとして表されるためです。

Network diagram

未知の国としての雲の本質は、今日まで続いており、雲が何であるかを十分に説明できない理由の根源となっていますis。重要なのは、それが何であるかわからないことです。する必要はありません。アプリをAmazon、IBM、またはその他の「クラウド」プロバイダーに提供できることを知っているだけで、プロバイダーがそれをホストし、使用量に基づいて請求します。

32
Satanicpuppy

「クラウド」という用語を聞いたとき、それは実際には(不十分な)抽象用語であり、以下の範囲を実行します。

  • サービスとしてのインフラストラクチャ(IaaS)-リモートプロバイダーとプログラムによるAPIの両方を介して仮想化されたコンピューティングリソースを利用できます。この一般的な例は、Amazon EC2とRackspace Cloudです。その説明の「プログラムAPI」の部分がキッカーであることに注意してください。そうでなければ、リモートホスティングまたは仮想プライベートサーバー(VPS)について話しているだけです。
  • Platform as a Service(PaaS)-これはアプリケーション層までの抽象化です。たとえば、Webアプリケーション開発者は、デプロイ可能なアーティファクト(JavaまたはRubyのgemなど)を作成するとします)を作成し、そのアーティファクトをPaaSプロバイダーにデプロイします。アプリを取得し、ハードウェアとOSの詳細をすべて非表示にし、アプリのトラフィック/スループットに基づいてアプリのスケールアップとスケールダウンを管理します。開発者は、アプリ自体の記述のみに関心があり、他には何も関係ありません。 (それは大げさな誇張ですが、実際にはアプリを制御するだけであるということを意味します。)例は、Google App EngineやHerokuです。
  • サービスとしてのソフトウェア-開発者は、サービスのクライアントになることを除いて、サードパーティにすべての制御を放棄します。基本的に、外部から提供されるAPIを使用して、一連のWebサービスを通じて他の誰かのインフラストラクチャ上のデータを操作します。おそらくこれの最も一般的な例はSalesforceです。

「クラウド」という用語自体は、これら3つのことを非常によく説明していません。一般的に、人々が「クラウドコンピューティング」について言及する場合、ホスティングと書き込みの両方ではなく、ソフトウェアの非機能的な懸念の一部(またはすべて)の制御を放棄する専門プロバイダーがいるパラダイムシフトです。 、すべてを自分で管理します。

10
whaley

多くの人がクラウドとは見事に説明しているので、ユニコーンやゴールデンレインボーに加えて、クラウドがもたらす可能性があるもの(Web開発者)に対処するように努めます(テクノロジーに恥知らずなプラグインを使用)。

  1. オンデマンドでのホスティングと水平スケーリング-Amazon EC2。私たちのウェブサイトがスラッシュドット化または再編集され、次の数日間だけ追加のホストが必要になったとします-問題ありません。それらは要求に応じて上下させることができます。
  2. きめ細かい充電-使用した分だけお支払いください。 AWSで最も安価なサービスは、実際には限られた使用状況では無料です。だから無料であなたのウェブサイトを構築してみてください。データセンターのホスティングなどにはもう必要ありません。
  3. バッキングデータベースを必要とするサイトを構築したい-問題はない。 SQLが必要な場合は、noSQL/RDSにAWS SimpleDBを使用できます。
  4. あなたはそれらのかわいい子猫の画像を保存してそれらにリンクしたいですか? AWS S3。
  5. 低レイテンシで世界中の人々に対応したいですか? AWSクラウドフロント!これらは顧客の近くにEdgeサーバーを配置しているため、これらの画像をすばやく取得できます。
  6. サイトの使用状況のライブ監視/レポート
  7. 分散システムで巨大なデータセットの問題を解決したいですか? AWS MapReduce
  8. 顧客に確実にメールを送りたいですか? AWS SES
  9. オンライン注文のバックエンドのような非同期処理をしたいですか? AWS SQS

http://aws.Amazon.com/ にはさらに多くの機能があります。見てみな!明らかに、これはすべてAMZNからのものです。Googleのような他の会社も競争力のあるサービスを提供しています。

「クラウド」が流行語となるずっと以前から、ネットワーク図を描く人々は、直接制御下にあるすべてのクライアント、サーバー、ルーター、スイッチ、およびそれらの間の接続を描いていましたが、従来は、ネットワークの一部にクラウドを描いていました。制御しません。いくつかの例では、PSTN(公衆交換電話網)のgoogle画像検索を実行します。クラウドは、私たちのワイヤーが出入りする曖昧なものを表しています。他の人が面倒を見てくれるので、それがどのように機能するかを理解する必要はありません。私たちは、パケットが反対側の適切な場所に戻ってくることを信頼しています。通常、インターネットはクラウドとして描画されます。パケットがISPに到達すると、パケットが適切な場所に到達する方法を知っていて、通過する特定のルーターを気にしないためです。

簡単に言えば、「クラウドコンピューティング」とは、自宅や会社のネットワーク図、つまりインターネット上のクラウド内でホストされるサービスを指します。ハードウェアは直接管理されていません。データを「クラウドに」送信し、ベンダーがそのデータを処理して保存することを信頼するだけで、引き戻す必要があるときに利用できます。その流行語の意味は、現在「クラウドで」処理されているものが伝統的にローカルコンピュータのドメインであることを意味します。あなたは伝統的にバックアップサーバーを持っていたかもしれませんが、「クラウド内」でバックアップを行うカーボナイトのようなサービスに切り替えました。以前はローカルデスクトップでMS Officeを使用していましたが、現在はGoogleドキュメントなどを使用しています。

Web開発者にとってあなたにとってそれが意味することは、顧客がデスクトップコンピュータで従来処理していたサービスをWebアプリケーションに置き換える方法を探しているということです。デスクトップソフトウェアを補完するだけでなく、置き換えることができると、競争力が高まります。

1
Karl Bielefeldt

問題は、「クラウド」が(範囲内で)ややあいまいな意味であることです。

ほとんどの人は、「クラウド」は仮想化インフラストラクチャであり、その利点を聞いたときに考える最低限のものです。

  • 潜在的なハードウェア障害を説明するために必要な冗長性を排除する
  • 「弾力性のある」またはオンデマンドのインフラストラクチャリソースを持つ可能性(つまり、ピークまたは季節的な負荷を処理するために完全にプロビジョニングされた10個のVMを起動する)
  • リソースの再割り当て/再割り当て/廃止の容易さ
  • 環境の複製が容易
  • 仮想化インフラストラクチャリソース、場合によっては環境全体を「スナップショット」および「ロールバック」する機能

ちなみに、リストのすべてを常に取得できるわけではありません。取得しても100%になるとは限りません。実際の例として、「AWS US East Outage」で何が起こったかをGoogleで確認できます。

人々は時々、データベース、ロギングなどの「クラウド」の一部として他のサービスを追加し、「インフラストラクチャ」と「アプリケーション」の間のスペースをまたぐような他のサービスも追加します。

「クラウド」を「仮想」の同義語として使用する人もいます。 「ソフトウェアとサービスとしてのプラットフォーム」を意味する場合もあります。

0
dietbuddha

クラウドはインターネットにとって単なる言葉です。重要なソフトウェアサービスのために組織がインターネットを信頼できるほど成熟しているため、SAASのようなことについては耳にし続けています。

0
Craig