![Search icon](https://hackernoon.imgix.net/search-new.png?w=19&h=19)
Palantir に在籍中、私はクラウド環境でのソフトウェアの導入にかなりの時間を費やし、オンプレミス (オンプレミス) 環境でのソフトウェアの導入にもかなりの時間を費やしました (そのためのチームを立ち上げることも含む)。クラウド導入が一般的に好まれているにもかかわらず、オンプレミス導入にも依然としてメリットがあることに気づきました。
オンプレミスからクラウド コンピューティングへの移行
近年、IT 業界では、インフラストラクチャ サービス (IaaS) とプラットフォーム サービス (PaaS) の柔軟性により、クラウド コンピューティングがますます好まれるようになっています。世界のクラウド コンピューティング市場は、2010 年の 246.3 億ドルから 2020 年には 1,564 億ドルに成長し、この傾向は続いており、2028 年までに 1 兆ドルを超えると予測されています。この急激な成長は、世界からのコンピューティングの新たな需要だけでなく、オンプレミスのワークフローのクラウドへの移行によっても推進されています。
この移行には十分な理由があります。クラウドにより、リソースの迅速なプロビジョニング、地理的な冗長性、設備投資 (CapEx) から運用コスト (OpEx) への移行が可能になります。ただし、確定的な遅延、ハードウェア レベルの制御、厳格なセキュリティ対策などの特定の技術要件が最も重要である場合は特に、オンプレミス インフラストラクチャの使用が重要なシナリオもあると思います。
クラウド設定とオンプレミス設定の比較の核心に入る前に、それぞれの展開が通常どのように設定されているかを少し調べてみましょう。
Canonical オンプレミス セットアップ
一般的なオンプレミスのセットアップには、企業がテクノロジー スタックのすべてのレイヤーを管理する、完全に制御された環境が含まれます。これには次のものが含まれます。
物理層: サーバー、ストレージ アレイ (SAN/NAS)、ネットワーク機器 (ルーター、スイッチ、ファイアウォール) などのハードウェア。サーバーを実行するためのデータ センターも必要です。
仮想化レイヤー: 多くの場合、VMware vSphere、Microsoft Hyper-V などのハイパーバイザー、または KVM などのオープンソースの代替手段を使用して実装され、仮想化されたリソースと分離を提供します。
ストレージとコンピューティング: 直接管理され、多くの場合、カスタム構成 (RAID レベル、キャッシュ メカニズムなど) によって特定のワークロードに合わせて最適化されます。
ネットワーク: ネットワーク プロトコル、ルーティング、セキュリティ ポリシーを完全に制御し、QoS (Quality of Service) を細かく調整して、遅延を最小限に抑えます。
Canonical Cloud のセットアップ
一般的なクラウド設定では、インフラストラクチャはクラウド プロバイダーによって抽象化および管理され、次の機能が提供されます。
仮想化インフラストラクチャ: コンピューティング インスタンス、仮想ネットワーク、ストレージは API を介してプロビジョニングされます。Kubernetes やサーバーレス アーキテクチャなどのクラウドネイティブ テクノロジーは、オーケストレーションとスケーリングに活用されます。
マネージド サービス: データベース (Amazon RDS、Google Cloud SQL など)、データ レイク、AI/ML サービス、その他の高度な分析ツールがマネージド サービスとして提供され、運用オーバーヘッドが削減されます。
マルチテナント アーキテクチャ: 多くの場合、リソースは複数のテナント間で共有され、仮想化とコンテナ化によって分離が実現されます。
比較
スケールとスピード: クラウドは、自動スケーリング グループやサーバーレス機能などの水平スケーリング メカニズムによって実現される、弾力的なスケーリングに優れています。オンプレミス インフラストラクチャでは、慎重なキャパシティ プランニングと物理ハードウェアへの投資が必要であり、垂直スケーリングを伴うことがよくあります。新しいコンピューティングを 9 か月待つことができないスタートアップの場合は、クラウドが最適です。ただし、今後 1 年間のコンピューティング負荷を予測できる大企業の場合は、オンプレミスが実行可能なオプションになる可能性があります。
レイテンシ:オンプレミスのセットアップでは、サーバーが近接しており、ネットワーク パスを直接制御できるため、決定論的な低レイテンシを実現できます。レイテンシの影響を受けやすいアプリケーション (高頻度取引、リアルタイム分析など) では、これが重要になります。クラウド環境は、AWS Direct Connect や Google Cloud Interconnect などの機能によって低レイテンシに最適化されていますが、ネットワークの輻輳 (ノイジー ネイバー問題) や仮想化のオーバーヘッドなどの要因により、レイテンシが変動する可能性があります。したがって、予測可能なレイテンシと低レイテンシのワークフローがビジネスにとって重要である場合は、オンプレミスのセットアップは悪くないアイデアかもしれません。
コスト:クラウドの価格モデル (従量課金、リザーブドインスタンス) は柔軟性を提供しますが、持続的で大量のワークロードではコストが高くなる可能性があり、特にデータ送信コストが高い場合はコストが高くなります。オンプレミス ソリューションは、ハードウェア取得に多額の初期 CapEx を必要としますが、特に予測可能で使用率の高いワークロードでは、長期的には総所有コスト (TCO) が低くなります。クラウド モデルは高価になる可能性があり、Dropbox は 2016 年にストレージの大部分を AWS から自社のデータ センターに移行して 1,680 万ドルを節約しました。オンプレミスにすることでどのようにコストを節約できるかについて詳しく説明している記事があります。
専門知識:オンプレミス環境では、ハードウェアのメンテナンス、ネットワーク エンジニアリング、システム管理に関する深い専門知識が求められます。一方、クラウド環境ではインフラストラクチャ管理の多くをプロバイダーに任せるため、チームはアプリケーションの開発と展開に集中できます。多くの場合、DevOps プラクティスや、Terraform や CloudFormation などの Infrastructure as Code (IaC) ツールが使用されます。SRE やシステム管理者は今では珍しい存在であり、オンプレミス セットアップの保守と運用のためにこれらの人材のチームを雇うには、かなりのコンピューティング能力が必要になるでしょう (また、持続可能なオンコール ローテーションが必要であることもお忘れなく)。
セキュリティ:オンプレミスのセットアップでは、物理的なセキュリティ対策からきめ細かいネットワーク セグメンテーションや暗号化プロトコルまで、セキュリティ構成を完全に制御できます。この制御は、特定のコンプライアンス標準 (PCI-DSS、HIPAA など) を満たすために不可欠です。対照的に、クラウド環境ではプロバイダーのセキュリティ対策を信頼する必要がありますが、仮想プライベート クラウド (VPC)、専用ハードウェア (AWS Outposts など)、顧客管理の暗号化キーなどの機能により、ある程度の懸念を軽減できます。これらのセキュリティ制御とプロトコルを必要とするワークフローを実行している場合は、オンプレミスで展開することが唯一の方法である可能性があります。そうでない場合は、より厳格なセキュリティを検討する必要があるかもしれません。ただし、現在のクラウド プロバイダーは適応しており、これらの標準の一部を満たす製品を提供していると思います ( AWS GovCloudなど)。
結論
クラウド コンピューティングは、比類のない柔軟性、拡張性、高度なマネージド サービスへのアクセスを提供しますが、低レイテンシ、高セキュリティ、ハードウェアとソフトウェアの構成の完全な制御を必要とするシナリオでは、オンプレミス ソリューションが依然として不可欠です。IT 環境が進化するにつれて、クラウドとオンプレミスの決定は、特定の技術要件とビジネス要件に基づいて行う必要があります。選択したインフラストラクチャが組織の戦略目標と一致するようにしてください。また、上記の要素と比較を使用して、より情報に基づいた最適な設定を選択できます。幸運を祈ります。