コンピューティングとは

クラウドコンピューティングでは、「コンピューティング」という用語は、ソフトウェア計算に関連する概念とオブジェクトを表します。これは、処理能力、メモリ、ネットワーク、ストレージ、およびプログラムの計算を成功させるために必要なその他のリソースを指すために使用される一般的な用語です。 

例えば、機械学習アルゴリズムや 3D グラフィックスレンダリング機能を実行するアプリケーションを正常に実行するには、大容量の RAM と複数の CPU が必要です。この場合、必要な CPU、RAM、およびグラフィックプロセッシングユニットはコンピューティングリソースと呼ばれ、アプリケーションはコンピューティング集約型アプリケーションになります。

現代のコンピューティングの文脈でこの用語を理解するために、いくつかのコンピューティングに関するよくある質問 (FAQ) を見てみましょう。

コンピューティングリソースとは

コンピューティングリソースは、コンピューティングアクティビティのために要求、割り当て、および消費できる測定可能な量のコンピューティングパワーです。コンピューティングリソースの例には、次のものがあります。

CPU

中央処理装置 (CPU) は、あらゆるコンピュータの頭脳です。CPU は、ミリコアと呼ばれる単位で測定されます。アプリケーションデベロッパーは、アプリケーションの実行とデータの処理にどれだけの CPU を割り当てる必要があるかを指定できます。

メモリ

メモリはバイト単位で測定されます。アプリケーションは、効率的に実行するために必要なメモリリクエストを行うことができます。

アプリケーションが単一の物理デバイスで実行されている場合、そのデバイスのコンピューティングリソースへのアクセスは制限されます。ただし、アプリケーションがクラウドで実行されている場合、アプリケーションは多くの物理デバイスからより多くの処理リソースに同時にアクセスできます。これをもう少し詳しく見てみましょう。

クラウドコンピューティングとは

クラウドコンピューティングは、インターネットを介してコンピュータリソースを届けることを含むあらゆるものの総称です。ユーザーは、オンデマンドで大量のコンピューティングパワーにアクセスできます。ユーザーは分単位または時間単位で購入し、コンピューティング活動に必要なだけ使用することができます。

クラウドコンピューティングの歴史

従来、ウェブアプリケーションは固定の物理サーバーでホストされていました。アプリケーションに必要なコンピューティング能力は、アプリケーションが実行されているサーバーに限定されていました。ウェブサイトの所有者は、複数のサーバーまたは単一のサーバー内のスペースを購入できますが、使用量に関係なく、固定料金を支払う必要がありました。また、独自のコンピュータサーバーインフラストラクチャを管理および保守する必要がありました。

現在、アプリケーションはさまざまな物理デバイスのコンピューティングリソースを柔軟に使用できます。クラウドプロバイダーには、サーバーと物理データセンターの両方で構成される膨大なコンピューティングリソースプールがあります。企業はアプリケーションをホストし、プールからこれらのコンピューティングリソースにアクセスできます。プロバイダーは、リソースを完全に管理および最適化して、ユーザーに柔軟性、スケーラビリティ、および効率性をもたらします。ユーザーはアプリケーションを保守するだけで済みます。コンピューティングインフラストラクチャの管理は、クラウドプロバイダーによって行われます。

会計ソフトウェア: クラウドコンピューティングの例

会計ソフトウェアの例を見てみましょう。数十年前、企業は社内の物理ハードウェアにソフトウェアを購入してインストールする必要がありました。ソフトウェア機能は、基盤となるハードウェアに限定されていました。時間の経過とともに、システムのメモリが不足したり、更新が必要になったり、ハードウェア障害によって重要なビジネスデータが失われたりする可能性があります。

今日、会計ソフトウェアのデベロッパーはクラウド上でソフトウェアを実行できます。ユーザーは、他のウェブサイトにアクセスするのと同じ方法でアクセスでき、必要に応じて段階的なプランを購入できます。ソフトウェアアプリケーションはクラウドからのコンピューティングパワーを使用し、ソフトウェア自体は必要に応じて拡張できます。また、顧客がデータを失う心配もありません。

マイクロサービスとは何ですか?

マイクロサービスアーキテクチャとも呼ばれるマイクロサービスは、サービスのコレクションとして構造化されたソフトウェアアプリケーションに使用されるアーキテクチャスタイルです。 

エンタープライズアプリケーションは通常、次の 3 つの主要部分で構築されます。

  1. クライアント側のユーザーインターフェイス (エンドユーザーのデバイスで実行されるアプリまたは HTML ページ)
  2. (アプリケーションデータを格納する) データベース
  3. (オペレーションの機能的および論理的な動作を定義する) サーバー側アプリケーション

このモノリスアーキテクチャスタイルは柔軟性がなく、変更が困難です。システムの一部に小さな変更を加えると、モノリス全体を再デプロイする必要があります。

一方、マイクロサービスアーキテクチャは、分散管理を含む機能サービスのコレクションとしてアプリケーションを設計します。マイクロサービスは、データ検索、ログ記録機能、ウェブサービス機能などの単一の懸念に対処しようとします。これらのマイクロサービスは、独立してデプロイし、独自のコンピューティングリソースを使用して、相互に通信することができます。

例えば、ニュースアプリケーションは、スポーツ、犯罪、グローバルなどの独立したマイクロサービスで構成され得ます。各マイクロサービスは、コンテンツの独自の取得と並べ替えを管理します。また、必要に応じてスケールアップまたはスケールダウンすることもできます。スポーツマイクロサービスは、主要なスポーツイベント中、処理能力を増やすこともありますが、イベントの完了後にスケールダウンされます。 

仮想マシンとは

仮想マシンは、クラウドからコンピューティングパワーを取得する基本的な構成要素です。仮想マシンは、実行中のアプリケーションやオペレーティングシステムなど、物理コンピュータと同じ機能をすべて実行できるソフトウェアです。これは、物理コンピュータのデジタルバージョンです。仮想マシンは、プログラムやオペレーティングシステムを実行し、データを保存し、ネットワークへ接続し、その他のコンピューティング機能を実行することができます。また、更新やシステムモニタリングなどのメンテナンスが必要になる場合もあります。

仮想マシンは、基盤となる多くの物理マシンで実行できるため、アプリケーションを正常に実行するために必要なコンピューティング能力がアプリケーションに備わります。クラウドコンピューティングにより、ユーザーは仮想マシンをオンデマンドでデプロイおよびスケーリングできます。物理サーバーの管理に必要なオーバーヘッドなしに、安全で隔離された環境で保証された計算リソースを提供します。

Amazon EC2 インスタンスとは

AWS コンピューティングサービスでは、仮想マシンはインスタンスと呼ばれます。AWS EC2 は、CPU、メモリ、ストレージ、ネットワークリソースのさまざまな設定を備えたさまざまなインスタンスタイプを提供するため、ユーザーはアプリケーションのニーズに合わせてコンピューティングリソースを調整できます。 

インスタンスには次の 5 つのタイプがあります。

汎用インスタンス

汎用インスタンスは、バランスの取れたコンピューティング、メモリ、ネットワークのリソースを提供し、多様なワークロードに使用できます。汎用インスタンスは、ウェブサーバーやコードリポジトリなど、インスタンスのリソースを同じ割合で使用するアプリケーションに最適です。 

コンピューティング最適化インスタンス

コンピューティング最適化インスタンスは、高速ネットワークパフォーマンス、広範な可用性、および 1 秒あたりの高い入出力 (I/O) オペレーションを必要とする高性能コンピューティングアプリケーションを実行するために使用されます。このタイプのアプリケーションの例としては、科学および財務のモデリングとシミュレーション、ビッグデータ、エンタープライズデータウェアハウジング、およびビジネスインテリジェンスがあります。

高速コンピューティングインスタンス

高速コンピューティングインスタンスでは、ハードウェアアクセラレーター (コプロセッサ) を使用して、浮動小数点計算、グラフィックス処理、データパターン照合などの機能を、CPU で実行中のソフトウェアよりも効率的に実行します。

メモリ最適化インスタンス

メモリ最適化インスタンスは、高速のソリッドステートドライブインフラストラクチャを使用して、データへ超高速にアクセスし、高いパフォーマンスを実現します。メモリ最適化インスタンスは、オープンソースデータベースやリアルタイムのビッグデータ分析など、より多くのメモリを必要とするがより少ない CPU パワーを要するアプリケーションに最適です。

ストレージ最適化インスタンス

ストレージ最適化インスタンスは、ローカルストレージの大規模データセットに対する高いシーケンシャル読み取りおよび書き込みアクセスを必要とするワークロード用に設計されています。ストレージ最適化インスタンスは、数万 IOPS もの低レイテンシーなランダム I/O オペレーションをアプリケーションに提供するように最適化されています。

コンテナとは

ソフトウェアをリリースする前に、テスト、パッケージ化、およびインストールする必要があります。 ソフトウェアのデプロイとは、コンピュータシステムまたはデバイスで実行するためのアプリケーションを準備するプロセスを指します。

Docker は、デベロッパーがソフトウェアをデプロイするために使用するツールです。これは、アプリケーションのコードをパッケージ化して任意のシステムで実行するための標準的な方法を提供します。Docker はコンテナ内でソフトウェアコードとその依存関係を組み合わせます。コンテナ (または Docker イメージ) は、Docker エンジンを介して任意のプラットフォームで実行できます。Amazon Elastic Container Service (ECS) は、非常にスケーラブルで高性能なコンテナ管理サービスで、Docker コンテナに対応しており、Amazon EC2 インスタンスのマネージドクラスターでアプリケーションを簡単に実行することができます。これにより、環境に関係なく、迅速で信頼性が高く、一貫性のあるデプロイが保証されます。

病院予約アプリケーション: Docker の例

例えば、病院が予約申込みアプリケーションを作成したいとします。エンドユーザーは、Android、iOS、Windows マシン、MacBook、または病院のウェブサイトでアプリを使用する可能性があります。コードが各プラットフォームに個別にデプロイされた場合、保守が困難になります。代わりに、Docker を使用して、予約アプリケーションの単一のユニバーサルコンテナを作成できます。このコンテナは、AWS などのコンピューティングプラットフォームを含め、どこでも実行できます。

AWS クラウドを使用したサーバーレスコンピューティングとは

サーバーレスコンピューティングとは、外部で管理され、基盤となるサーバーインフラストラクチャを備えたアプリケーションの開発を指します。AWS Lambda などのサーバーレスサービスには、オートスケーリング、組み込みの高可用性、従量制料金モデルが付属しています。

サーバーレスコンピューティングは、ソフトウェア開発会社が革新し、変化に迅速に対応できるようにするサービス、プラクティス、および戦略を説明する方法です。チームは、アプリケーションを迅速にリリースし、フィードバックを取得し、オペレーション上のオーバーヘッドを排除することでソフトウェアを改善できます。

例えば、ある技術系のスタートアップが、大学のコースを検索してフィルタリングするためのアプリケーションを作成するとします。立ち上げるために、会社はサーバーレスになり、ユーザーエクスペリエンスとシステムの改良に集中することができます。フルマネージド型のハードウェアインフラストラクチャを使用することで、代わりにマーケティングに投資できます。

 

コンピューティングリソースの Elastic Load Balancing とは

ロードバランシングは、クラウドコンピューティング環境でコンピューティングリソースとワークロードを均等に分散するプロセスです。これは、アプリケーションの需要が高い場合でも、ラグを減らして処理時間を維持するために行われます。ロードバランサーは、クラウド環境で実行されている複数のアプリケーションサーバー間でクライアントリクエストをインテリジェントに分散できます。

Elastic Load Balancing により、ユーザーはアプリケーションのパフォーマンスと信頼性を最大化できます。Elastic Load Balancing は、アプリケーションへのトラフィックを複数のターゲット (Amazon EC2 インスタンス、コンテナ、IP アドレス、AWS Lambda 関数、仮想サーバーなど) に自動的に分散できます。アプリケーショントラフィックのさまざまな負荷を処理し、コストを削減し、需要に合わせてアプリケーションを効率的にスケールアップまたはスケールダウンできます。

e コマース: Elastic Load Balancing の例

例えば、オンラインの e コマースストアは、その日の最良の取引を並べ替えるためのアプリケーションを実行したとします。コンピューティング集約型のアプリケーションとして、クラウドコンピューティングとロードバランシングを使用して需要を管理します。これにより、週末、クリスマス、および需要が急増するその他の季節的なピーク時に、追加の処理リソースが自動的に使用されます。それ以外の日には、需要が停滞するとコンピューティングをスケールダウンします。ロードバランシングがなければ、店舗は需要が停滞する日でもピーク時の使用料を支払う必要があり、利益率が低下します。

コンピューティングサービスとは

コンピューティングサービスは、サービスとしてのインフラストラクチャ (IaaS) とも呼ばれます。AWS コンピューティングなどのコンピューティングプラットフォームは、ユーザーがワークロードを仮想マシンに移行できるようにする仮想サーバーインスタンスとストレージおよび API を提供します。ユーザーは処理能力を割り当てており、必要に応じてコンピュータリソースを開始、停止、アクセス、および設定できます。

異なる AWS コンピューティングサービスからどう選ぶか

最適な AWS インフラストラクチャの選択は、アプリケーションの要件、ライフサイクル、コードサイズ、需要、コンピューティングのニーズによって異なります。以下、これらの 3 つの例を見てみましょう。

  1. AWS 環境内でさまざまなパフォーマンス上の利点を提供する各種のオンデマンドインスタンスをデプロイする場合は、Amazon Elastic Compute Cloud (EC2) を使用します。
  2. EC2 インスタンスのクラスター全体でコンテナとしてパッケージ化された Docker 対応アプリケーションを実行する場合は、Amazon Elastic Container Service (Amazon ECS) を使用できます。
  3. サーバーレス環境でイベント駆動型トリガーに応答してミリ秒のコンピューティングリソースのみを使用して独自のコードを実行する場合は、AWS Lambda を使用できます。

AWS コンピューティングサービスの利点

AWS コンピューティングサービスは、コンピューティングのための最も幅広く深い機能を提供します。AWS コンピューティングを使用する主な利点は次のとおりです。

ワークロードに適したコンピューティング

Amazon EC2 (Amazon Elastic Compute Cloud) は、プロセッサー、ストレージ、ネットワークの選択できめ細かく制御してアプリケーションインフラストラクチャを管理できます。Amazon Elastic Container Services (Amazon ECS) は、コンテナを実行するための選択肢と柔軟性を提供します。

ビルトインセキュリティ

AWS では、第 2 位のクラウドプロバイダーを明らかに上回る、セキュリティ、コンプライアンス、ガバナンスのサービス、各種の主要な機能をご用意しています。AWS Nitro System には、インスタンスハードウェアを継続的にモニタリング、保護、検証するためのセキュリティがチップレベルで組み込まれています。

コストの最適化

AWS のコンピューティングでは、長期契約や複雑なライセンスを必要とせずに、使用している限り、必要なインスタンスまたはリソースに対してのみ料金をお支払いいただきます。

柔軟性

AWS は、アプリケーションを迅速に構築、デプロイ、および市場に投入するための方法をいくつも提示します。例えば、Amazon Lightsail は、アプリケーションやウェブサイトの構築に必要なものすべてを提供する使いやすいサービスです。

ビジネスの成長に最適な AWS コンピューティングサービスを決定するには、当社の専門家チームにお気軽に連絡するか、無料の AWS アカウントに今すぐ登録してください。

AWS での次のステップ

追加の製品関連リソースを確認する
コンピューティングサービスの詳細 
無料のアカウントにサインアップする

AWS 無料利用枠にすぐにアクセスできます。

サインアップ 
コンソールで構築を開始する

AWS マネジメントコンソールで、AWS を使って構築を開始しましょう。

サインイン