Cloud Computingとは?
Cloud Computingは、自分でハードウェアを購入して保守する代わりに、インターネット経由でサーバー、ストレージ、ソフトウェアを借りることです。Cloud Computingを使うと、必要なときに柔軟にリソースを利用でき、実際に使った分だけ支払います。コンピュータのジム会員のようなものです:来て作業して、出て行けばよく、居間にラックを置く必要はありません。
「Cloud Computingはすべてが公開されていて安全でない」という見方がありますが、そうとは限りません。信頼できるプロバイダーは利用者ごとに分離し暗号化をサポートしますし、鍵とアクセスは引き続きあなたが管理できます。暗号分野では、チームがクラウド上でblockchainインデクサーを動かしつつ、署名鍵は自宅の専用ハードウェアやセキュアモジュールに保管することが多いです。
Cloud Computingの仕組み
週末に暗号アプリを立ち上げると想像してください。Cloud Computingを使えば必要なときに必要な分を借り、ピークが過ぎたら停止できます。
- Step 1: ステップ1:プロバイダーとリージョンを選び、数クリックか小さなスクリプトでサーバーやファンクションを要求します。
- Step 2: ステップ2:アプリやノードイメージをデプロイし、スナップショット用にデータベースやオブジェクトストレージを追加することもあります。
- Step 3: ステップ3:プロバイダーがCPU、メモリ、ストレージを割り当て、ネットワークを接続してアプリにアクセスできるようにします。
- Step 4: ステップ4:トラフィックが来ると、自動スケーリングのルールが負荷に応じてインスタンスを追加または削除します。
- Step 5: ステップ5:ログやメトリクスを監視し、需要が落ち着いたらコスト削減のために規模を下げます。
以上です。
Cloud Computingが重要な理由
注目すべき理由は次の通りです:
- Benefit: 利点:より速くリリースでき、ハードウェアを購入せずに済み、実際に使った分だけ支払います。
- Perspective: 視点:スパイクは発生します。要求に応じたScalabilityにより、ミントやドロップ、コミュニティの急増でアプリがダウンするのを防げます。
- Relevance: 関連性:DeFiのダッシュボード、NFTマーケットプレイス、ゲームのバックエンド、DAOツール、あらゆる分析パイプラインの裏側でこれを目にします。
署名鍵はクラウド外に置き、有効期限の短い認証情報を使ってください。ステートレス部分をオートスケールする際は、cost-effectiveなストレージクラスとリージョンを選びます。
Cloud Computingの主な特徴
次の特性を確認すれば全体像がわかります:
- OnDemand: オンデマンド:リソースを即座に確保し、用が済んだら削除します。
- Elasticity: 弾力性:スパイク時に拡張し、落ち着いたら縮小します。
- Global: グローバル:ユーザーに近いリージョンを選ぶと応答が速くなります。
- Managed: マネージド:プロバイダーがパッチ、稼働率の目標、ハードウェアの更新を担当します。
- Programmable: プログラマブル:APIやテンプレートを使ってインフラを構築・変更できます。
バリエーション
よく使われる主要な形態は次の通りです:
- IaaS: IaaS:Infrastructure as a Serviceは仮想マシン、ディスク、ネットワークを提供します。
- PaaS: PaaS:Platform as a Serviceはサーバー管理なしでアプリの実行環境を提供します。
- FaaS: FaaS:Function as a Serviceは短い関数をオンデマンドで実行し、リクエスト数に応じてスケールします。
- SaaS: SaaS:Software as a Serviceはブラウザ経由でセットアップ不要のフルアプリを提供します。
Cloud Computingは速度と利便性を提供しますが、分散化を意味するわけではありません。検閲耐性が重要なら、複数のプロバイダーに冗長性を持たせ、重要な部分がクラウド外でも動作できるように設計してください。
例
DeFiチームはCloud Computing上でエアドロップをバッチ処理し、各ウォレット用にtransactionをキューに入れ、追加サーバーを1時間ほど起動してから停止します。
豆知識
昔のネットワーク図でのクラウドアイコンは、文字通りインターネットの詳細を隠すための落書きでした。それが後にCloud Computingという用語の由来になり、会議で普通に使われるようになりました。
まとめ
短くまとめると:Cloud Computingは必要に応じて本格的な計算資源を借りられるので、素早く構築し、需要が来たときに拡張し、稼働した分だけ支払えます。
