クラウド コンピューティングとは?クラウドの概要
クラウド コンピューティングとそれが今日の企業にもたらすメリットに関するガイド
クラウド コンピューティングとは、インターネット上でコンピューティング リソースを配信することです。コスト削減、拡張性、高パフォーマンス、スケール メリットなどを実現します。多くの企業にとって、クラウド移行はデータと IT の最新化に直接関係しています。
2000 年代前半に「クラウド」という言葉が最初に言われ始めたとき、難解な雰囲気がありました。オンプレミス IT インフラストラクチャ以外の場所 (空?) からコンピューティング リソースにアクセスするというアイデアは、SF のように思えました。現実ははるかに深淵で、テクノロジーと我々のビジネス手段を全くの別物に変えてしまいました。
Compass を無料で試す
開発者のエクスペリエンスを向上させ、すべてのサービスをカタログ化し、ソフトウェアの健全性を高めましょう。
クラウド コンピューティングとは?
クラウド コンピューティングとは、ストレージ、処理能力、データベース、ネットワーキング、分析、人工知能、ソフトウェア アプリケーションなどのコンピューティング リソースを、インターネット (クラウド) 経由で配信することです。企業はこれらのリソースをアウトソーシングすることで、物理的なオンプレミス IT インフラストラクチャを購入して維持することなく、必要なときに必要なコンピューティング資産にアクセスできます。これによって、柔軟なリソース、より迅速な革新とスケール メリットが得られます。多くの企業にとって、クラウド移行はデータと IT の最新化に直接関係しています。
クラウド コンピューティングの特性
クラウド コンピューティング以前は、組織はオンプレミス IT インフラストラクチャを購入して保守していました。コスト削減が多くのクラウドへの初期移行を後押ししましたが、多くの組織がパブリック、プライベート、またはハイブリッドのクラウド インフラストラクチャは多くのメリットを実現すると考えています。
アジャイル チームと DevOps チームについて、クラウド コンピューティングでは開発プロセスを簡素化して加速する機能を提供します。
次は、クラウド コンピューティングを定義する特性のリストです。
オンデマンド セルフ サービス
クラウド コンピューティング プロバイダーでは、API を提供します。これによって、必要に応じて新しいリソースを要求したり、既存のリソースの規模を拡大縮小したりするためにユーザーがアクセスできます。チームは、Terraform や Ansible などからコードとしてのインフラストラクチャ ツールを使用して、インフラストラクチャのプロビジョニングをシンプルな方法で自動化できます。
広範なネットワーク アクセス
物理的なハードウェアの場所は、最適なエンドユーザー エクスペリエンスを提供する際の大きな懸念事項です。クラウド コンピューティングは、グローバルに分散された物理ハードウェアを提供することで大きなメリットをもたらします。これによって、組織は場所を特定したハードウェアを戦略的にプロビジョニングできます。
リソース プーリング
クラウド インフラストラクチャ プラットフォーム内のコンピューティング リソースは、動的に分割されてオンデマンドで割り当てられます。クラウド ホストの物理マシンは動的にプロビジョニングされて複数のテナント間で共有されるため、クラウド ハードウェアは最大限に活用できるように徹底的に最適化されます。
迅速な柔軟性
クラウド インフラストラクチャは動的に拡張/縮小できるため、ユーザーはコンピューティング リソースをトラフィックのニーズに合わせて自動スケーリングするように要求できます。柔軟性は、利用可能なマシン リソースを最大限に活用するためにリソースの割り当てが増大する場合はマシン単位で発生したり、アプリケーションがマルチネットワーク マシンに自動スケーリングする場合は複数マシン単位で発生したりします。
整ったサービス
クラウド インフラストラクチャ プロバイダーでは、使用コストの伝達に使用される詳細な使用率の指標を提供します。たとえば、Amazon Web Services (AWS) は、各サービス カテゴリの使用率を時間単位または日単位の明細項目で提供します。通常、クラウド サービス プロバイダーは、測定して配信されるユーティリティ スタイルの従量課金モデルを導入しているため、顧客は使用された正確な量のコンピューティング リソースに対して課金されます。
クラウド デプロイの種類
主に 3 種類のクラウド デプロイがあります。それぞれのデプロイに独自のメリットがあり、組織はしばしば複数のデプロイを使用することでメリットが得られます。
パブリック クラウド
パブリック クラウドは、AWS や Microsoft Azure などのクラウド サービス プロバイダーから、コンピューティング リソース (サーバー、ストレージ、アプリケーションなど) をインターネット経由で配信します。クラウド プロバイダーは、ハードウェア、ソフトウェア、その他のサポート インフラストラクチャのすべてを所有して運用しています。
プライベート クラウド
プライベート クラウドは、組織専用のコンピューティング リソースです。組織のオンサイト データ センターに物理的に配置することも、クラウド プロバイダーによってホストすることもできます。プライベート クラウドは、企業専用のリソースを提供することで、パブリック クラウドよりも高いレベルのセキュリティとプライバシーを実現します。
プライベート クラウドの顧客は、セルフサービス、拡張性、柔軟性を含むパブリック クラウドの主なメリットを享受できるだけでなく、制御とカスタマイズというメリットもあります。さらに、パブリック トラフィックにアクセスできないプライベート ネットワーク上に格納されているため、より高いレベルのセキュリティとプライバシーを実現できます。
ハイブリッド クラウド
ハイブリッド クラウドは、プライベート クラウドとパブリック クラウドを組み合わせたもの (Red Hat による IBM Hybrid Cloud など) が、データとアプリケーションを連携させるテクノロジーを使用して接続されています。機密性の高いサービスとアプリケーションは安全なプライベート クラウドに保持されて、公にアクセス可能な Web サーバーと顧客向けのエンドポイントはパブリック クラウド内で稼働できます。最も一般的なサードパーティ クラウド プロバイダーは、ハイブリッド クラウド モデルを提供しています。これによって、ユーザーはプライベート クラウドとパブリック クラウドを組み合わせてニーズを満たせます。そのため、企業はアプリケーションの特定のインフラストラクチャ要件を柔軟にデプロイできます。
クラウド コンピューティング サービス
クラウド コンピューティングの動的プロパティは、より高いレベルの新しいサービスの基盤となります。これらのサービスは、補完するだけでなく、多くの場合、アジャイル チームと DevOps チームに必要なサービスを提供します。
サービスとしてのインフラストラクチャ
サービスとしてのインフラストラクチャ (IaaS) は、組織がクラウド プロバイダーから IT インフラストラクチャ (サーバー、ストレージ、ネットワーク、オペレーティング システムなど) をレンタルできる基盤となるクラウド サービス レイヤーです。IaaS を使用すると、ユーザーは未加工の物理サーバー倉庫から必要なリソースを予約してプロビジョニングできます。さらに、IaaS では、ロード バランサー、データベース、メール サーバー、分散キューなどの特殊なタスク用に事前設定されたマシンを予約できます。
DevOps チームは、IaaS を基盤となるプラットフォームとして使用でき、それにより、さまざまなサードパーティ ツールの使用を含められる DevOps ツールチェーンを構築することができます。
サービスとしてのプラットフォーム
サービスとしてのプラットフォーム (PaaS) は、IaaS 上に構築されたクラウド インフラストラクチャであり、ユーザー レベルのツールとアプリを構築するためのリソースを提供します。コンピューティング、ネットワーク、ストレージの各リソースに加えて、開発ツール、データベース管理システム、ミドルウェアを含む基盤インフラストラクチャを提供します。
PaaS は IaaS を活用して、言語ベースの技術スタックに能力を提供するのに必要なリソースを自動で割り当てます。人気のある言語技術スタックは、Ruby On Rails、Java Spring MVC、MEAN、JAM の各スタックです。PaaS の顧客は、PaaS のインフラストラクチャに自動でデプロイされるアプリケーション コードのアーティファクトをアップロードするだけです。これは新しく強力なワークフローで、チームは特定のビジネス アプリケーション コードに完全に集中でき、ホスティングやインフラストラクチャに関する懸念から自由になれます。PaaS は、インフラストラクチャのスケーリングと監視を自動で処理して、トラフィック負荷を監視してリソースを拡大/縮小します。
サービスとしてのソフトウェア
サービスとしてのソフトウェア (SaaS) は、ソフトウェア アプリケーションをインターネット経由で、オンデマンドで、通常はサブスクリプションによって配信します。クラウド プロバイダーは、アプリケーションのホストと管理を行って、必要に応じてソフトウェアのアップグレードとセキュリティ パッチの適用に対応します。SaaS の例としては、CRM システム、Web メール アプリ、Jira や Confluence などの生産性ツール、分析ツール、監視ツール、チャット アプリなどがあります。
サービスとしての機能
サービスとしての機能 (FaaS) は、顧客がアプリケーションを開発、実行、管理できるプラットフォームを提供する、クラウド コンピューティング サービスです。これによって、開発者がアプリを開発して起動する際に必要なインフラストラクチャを構築して保守する必要性が軽減されます。クラウド プロバイダーは、クラウド リソースを提供し、コード ブロックを実行し、結果を返し、使用されたリソースを破棄します。
クラウド コンピューティングのメリット
クラウド インフラストラクチャの独自のプロパティにより、いくつかの新しい技術的およびビジネス上のメリットがもたらされます。アジャイル チームにとって、クラウド コンピューティングの主なメリットは、次のとおりです。
コスト削減
クラウド リソースを使用するチームは、独自のハードウェア資産を購入する必要はありません。クラウド プロバイダーは、ハードウェア コストだけでなく、ハードウェアの使用率を最大化して最適化するために最善を尽くします。これによって、ハードウェアとコンピューティング リソースが商品に変換されて、クラウド プロバイダーは争って最低値を提供しようとします。
拡張性の向上
クラウド コンピューティングはデフォルトで柔軟性があるため、組織はオンデマンドでリソースの規模を拡大/縮小できます。クラウド コンピューティングによって、チームの自動スケーリング機能が実現します。クラウド アプリケーションは、トラフィックの急増に応じて、インフラストラクチャ リソースを自動で縮小/拡張できます。
パフォーマンスの向上
クラウド コンピューティングは、最新かつ最高のコンピューティング リソースを提供します。ユーザーは、大量の並列処理タスク向けに設計された究極のマルチコア CPU を搭載した最新のマシンにアクセスできます。さらに、主要なクラウド プロバイダーは、高度なグラフィック、マトリックス、人工知能処理タスク向けに、最先端の GPU と TPU ハードウェア マシンを提供しています。これらのクラウド プロバイダーは、常に最新のプロセッサー テクノロジーで更新されています。
主要なクラウド コンピューティング プロバイダーは、ハードウェアの場所をグローバルに分散して、物理的な接続場所に応じてパフォーマンスの高い接続を確保します。さらに、クラウド プロバイダーは、ユーザーの要求とコンテンツを場所別にキャッシュする、グローバル コンテンツ配信ネットワークを提供しています。
実行速度の向上
クラウド インフラストラクチャを使用するチームは、より迅速に実行して顧客に価値を提供できます。アジャイル ソフトウェア チームは、クラウド インフラストラクチャを活用して、新しい仮想マシンを迅速に起動し、独自のアイデアを試して検証し、パイプラインのテストとデプロイのフェーズを自動化できます。
セキュリティの強化
プライベート クラウド ホスティングは、セキュリティを向上させる隔離されたファイアウォールで保護されたインフラストラクチャを実現します。さらに、クラウド プロバイダーは、安全なアプリケーションの構築に役立つ多くのセキュリティ メカニズムとテクノロジーを提供しています。ユーザーのアクセス制御はセキュリティ上の重要な課題であり、ほとんどのクラウド プロバイダーはユーザー アクセスを細かく制限するツールを提供しています。
継続的インテグレーションとデリバリー
継続的なインテグレーションと継続的なデリバリー (CI/CD) は、DevOps 担当者にとって重要なプラクティスであり、チームのベロシティを向上させて市場投入までの時間を短縮します。Bitbucket Pipelines などのクラウドベースの CI/CD を使用すると、チームは CI インフラストラクチャの管理や保守を気にすることなく、コードを自動で構築、テスト、デプロイできるようになります。Bitbucket Pipelines は、リリース パイプラインの分離と再現性を提供するために Docker コンテナーに依存しています。チームはローカル マシンと同じようなコマンドを実行できますが、ビルドごとに最新かつ再現可能なセットアップのメリットを活用できます。
包括的な監視とインシデント管理
クラウドのデプロイによって、チームはツールをエンド ツー エンドに接続できるため、パイプラインのすべての部分をより簡単に監視できます。包括的な監視は、課題やインシデントに迅速に対応できるため、DevOps を実践する組織にとってもう 1 つの重要な機能です。クラウド プロバイダーは、アプリとサーバーの CPU、メモリ、リクエスト レート、エラー率、平均応答時間など、システムの正常性に関する指標を共有します。たとえば、多くの仮想マシン (VM) 全体の負荷を監視することは、ニーズが増えた場合にチームがより多くの容量を追加できることを意味し、またはチームはこれらの指標に基づいてスケーリング (拡張/縮小) を自動化し、人的介入とコストを削減できます。DevOps 監視の詳細をご覧ください。
結論
クラウド コンピューティングは、オンデマンドで利用可能な高度なコンピューティング リソースを提供します。必要に応じて拡張できて定期的に更新でき、オンプレミス インフラストラクチャを購入して保守する必要がありません。クラウド コンピューティングによって、従来のオンプレミス インフラストラクチャの管理に多大な労力を費やすことなく、迅速にサービスを取得して拡張できるため、チームの効率が向上して市場投入までの時間が短縮されます。アトラシアンのクラウド サービスをご覧ください。
次のトピック
おすすめコンテンツ
次のリソースをブックマークして、ソフトウェア開発や Compass の継続的な更新についてご確認ください。