クラウドとは何か?知っておくべき基礎知識について解説
クラウドとは?
正確には「クラウドコンピューティング」と言います。
利用者は、ネットワークに接続されたコンピュータ(サーバ)にアクセスしてサービスを利用します。
これまでは、自社や個人でサーバを用意したりレンタルしたりしてサービスを利用していましたが、クラウドを利用するとどこにいても(ネットワークに接続さえしてれば)利用可能となります。
また、クラウドの仕組みは大きく3種類あります。
SaaS(Software as a Service)
自パソコンにソフトウェアをインストールすることなく、インターネット上で利用できるようにする仕組みです。自由度は低いですが、ソフトウェアの開発が不要ですぐに目的のサービスを得られるのが特徴です。例として、Gmailやブログサイトなどが当てはまります。
PaaS(Platform as a Service)
アプリが稼働するためのデータベースやプログラム実行環境などが提供されるサービスのことです。SaaSより自由度は高いですが、提供されているデータベースの設定やプログラムの実行環境に制限があります。例として、Google Apps EngineやMicrosoft Azureなどがあります。
IaaS(Infrastructure as a Service)
仮想サーバー、ストレージ、ファイアウォールなどのインフラを、ネット上で使えるサービスとして提供する形のものです。SaaSやPaaSよりも自由度が高いので好みの開発ができますが、その分ネットワークやサーバの知識が必要になります。また、セキュリティ対策も万全にしないといけません。例として、Amazon Elastic Compute Cloud(EC2)やGoogle Compute Engine(GCE)などがあります。
クラウドを利用するメリット
- 導入が容易:利用者はネットワークに接続すればすぐにサービスを利用できます。
- 運用が楽:ハードウェアの管理は全てクラウドを提供する会社が行います。利用者(会社)がハードウェアを管理するための人件費や光熱費を払う必要はなく、運用コストを抑えることができます。
- 従量課金:サービスを利用した分だけお金を払います。必要な時に必要な分を利用して無駄を省くことができます。
主要なクラウドサービスは3つ
Amazonが提供するAmazon Web Service(AWS)、Googleが提供するGoogle Cloud Platform(GCP)、Microsoftが提供するMicrosoft Azureの3つです。
以下にそれぞれの特徴をあげていきます。
AWS (Amazon Web Service)
アマゾン ウェブ サービス (AWS) は、世界で最も包括的で広く採用されているクラウドプラットフォームです。世界中のデータセンターから 175 以上のフル機能のサービスを提供しています。急成長しているスタートアップ、大企業、主要な政府機関など、何百万ものお客様が AWS を使用してコストを削減し、俊敏性を高め、イノベーションを加速させています。
AWSなどのクラウドコンピューティングサービスが出てくる以前は、自社に物理サーバを設置し、それをしようするオンプレミスが標準でした。
しかし、オンプレミスは機器のコストや、設置までの時間などの課題を抱えており、そのような中に開発されたのがAWSを始めとしたクラウドコンピューティングサービスです。
オンプレミスと違い、機器の購入費・設置時間・補完するための費用が削減でき、例えばAWSでは、以下のような作業を行うことが可能です。
- サーバ環境構築
- データ保存
- セキュリティ対策
- AIを活用しデータ分析
- ワークフロー管理
- メール送受信と通知
- 開発
- コンテンツ配信
AWSには100を超えるサービスがあるため、自分が必要としている機能を選び、作業を行うことが可能です。しかし、多くの機能があるということは、その分ノウハウを理解していなければ、十分に機能を活用することは困難となってしまいます。
そして、どのような人にAWSが適しているかは以下の通りです。
膨大な利用者が想定される動的なコミュニティサイト・ECサイトなどを運営するときは、高スペックなサーバー環境を手軽に用意でき、必要に応じてスピーディーにスペック変更が可能なAWSは適しているでしょう。対して、ITスキルの高い管理者が社内にいなかったり、たとえばPV数が1日数百・数千程度のコーポレートサイトを運用するのが目的だったりするのであれば、AWSが適しているとは言えません。共用レンタルサーバーのように、より手軽に使えるサービスの方が適切です。
Google Cloud Platform(GCP)
Google社が提供しているクラウドコンピューティングサービスです。
例えば、同様のサービスを展開しているAWSにおけるEC2(仮想環境の構築)やNoSQL(データベース)はそれぞれGCPではGoogle Compute Engine、Google Cloud Datastoreと呼ばれています。
他にもビッグデータ解析ツールのBigQueryや機械学習エンジンであるGoogle Cloud Machine Learningと呼ばれるサービスなど、多数のコンピューティングサービスを提供しています。
GCPを利用するには、Googleアカウントの登録が必要です。
また、サービスはAWSと似ている部分はありますが、根本で違う部分があります。
GCPがAWSと大きく異なる点のひとつに、”プロジェクト”の概念があります。
Compute Engine(GCE)やApp Engine(GAE)などのGCPで利用するリソースや、Google CalendarやGoogle Mapなどで利用するGoogle APIはすべてぷフォジェクトと紐づけられ、プロジェクト単位で課金やユーザー管理を行うこととなります。そのプロジェクトは複数作成することが可能です。
(中略)
一見、複雑なようにも思えますが、プロジェクト毎にユーザー管理や課金が別個に行えるため、複数のクライアント向けにプロジェクトを進行する開発者の方々にとって、管理が容易になるでしょう。
出典:株式会社トップゲート
Microsoft Azure
Microsoft Azureは、2008年にMirosoft社が発表し、2010年10月Windows Azureとしてサービスを開始したクラウドコンピューティングサービスのことです。
Microsoft Azureを利用するには、Googleアカウントの登録が必要です。
Microsoft Azureは、AWSやGPCと同様に、「従量課金制」のサービスで初期費用無しで使用した分だけ支払います。
Microsoft Azureが提供するサービスは一般的にIaaSとPaaSと呼ばれる分野のものです。
IaaS 仮想サーバー、ストレージ、ファイアウォールなどのインフラを、ネット上で使えるサービスとして提供する形のものです。
PaaS アプリが稼働するためのデータベースやプログラム実行環境などが提供されるサービスのことです。
以下では4つの代表的なサービスを紹介します。
・Azure Storage Azure用ストレージサービス
・Azure Virtual Machines 仮想マシンを提供するサ-ビス
・Azure DevOps Azure DevOpsは開発(Dev)と運用「Ops」を組み合わせたサービス
サービスの開発からリリースまで、ソフトウェア開発を支援するものです。
・Azure Functions サーバーの構築なしでプログラムを実行できるサービス
サポートしているプログラミング言語はC#、JavaScript、Java、Pythonなど
まとめ
以上、クラウドの基本的な知識について解説しました。
クラウドを使えば、いつでもどこでも自由にデータやサービスを利用することが出来るようになり、今後より一層クラウド化が進む世の中で、クラウドの使い方を正しく理解して使いこなしていくことが大切です。
ご紹介したように、クラウドサービスは様々あるので、それぞれの特徴を正確んい理解し、目的に応じて上手に使い分けていきましょう。