クラウドコンピューティングは、もはや特別な存在ではなくなりました。流行っているどころか、一時期よく聞かれたクラウドファーストという言葉すら、響きが古く感じられるようになったのではないでしょうか。自前でサーバールームやデータセンターを設置して運用できる大企業ならいざ知らず、たいていの企業はクラウド上に自社の基盤を築いています。
とはいえ、そこまで当たり前化しても、いざクラウドって何ですか?って聞かれたら説明に困りますよね。ITエンジニアたちにとってのクラウドとは、クラウド上のシステム基盤のことをさします。一方で、Office365をはじめとした一般利用者向けのサービスもクラウドといいます。
そこで本記事では、クラウドコンピューティングとは何かという基本から始まって、クラウドの種類、AWSとは何かまでを解説します。本記事を読み終えるころには、クラウドってなに?という問いに対する、自分なりの答えが見つかるはずです!
目次
クラウドコンピューティングとは
本記事では、著名な辞書やWikiペディアをはじめとした説明は参考にはしたものの、皆さんの理解を最優先に、誤解のない程度に噛み砕いて解説します。
クラウドとは、英語的に言えば「雲」になります。
雲から雨が降ってきます。その光景を頭に入れて、次へとお進みください。
昔話を一つ・・・
皆さんが日ごろから普通に使っている、インターネット上の路線検索を例にあげましょう。
20年ほど前、それこそWindows95の全盛期あたりでは、路線検索は市販のソフトを購入し、CD-ROMで自分のPCにインストールするのが普通でした。しかも、昔はインターネットがまだダイヤルアップ接続が普通で、今のような常時接続などありえなかった時代です。
でも、何だか変ですよね。
年に何度か、日本のどこかで駅の名前が変わったり、運賃の見直しが発生します。なのに購入した時からデータが入れ替わらないなんて!
そんなときは、新しいデータをCD-ROMで購入して自分のPCの路線データをアップデートしたものでした。面倒だとはいえ、誰もそれを不思議に思いませんでした。
クラウドってすばらしい!
今はどうでしょうか?
私たちはスマホやPCを使って、日常的に路線を検索しています。データの鮮度など気にしなくても大丈夫です。サイトの運営者側が何とかしてくれるからです。それどころか、サーバーやインフラのことなどまったく気にしません。
強いて言えば、スマホで路線検索アプリを入れるくらいですが、それとてあくまでツールをインストールするだけ。路線データをスマホ内に持つわけではありません。
そして話は戻って、先の「雲から雨が降っている」というイメージに戻ってください。
このたとえ話では、路線検索のシステムやデータ、運営者側を一括して「雲(クラウド)」、検索結果を「雨(サービス)」となぞらえれば、すんなり理解できませんか?
「私たちはクラウドを気にせずサービスだけ受け取れます」「私たちはクラウドを利用して検索します」というとどうでしょうか?何となくピンときませんか?
クラウドコンピューティング種類
「雲(クラウド)」とはインフラ一式を、そこから「雨(何らかのサービス)」が降り注ぐ、という認識でOKです。
ITの世界では、クラウドはもう少し意味が広くなります。定義づけを一般ユーザーに近い順に見ていきましょう。
Software as a Service (SaaS)
SaaS(サース)とは、Software as a Serviceの略です。
先ほどの路線検索(クライアント側のアプリやスマホアプリも、さらに基盤も含めて)そうですし、Google AppsやOffice365、サイボウズなど、その他オンライン上で利用できるサービスはSaaSに該当します。
利用者は自前でサーバーやインフラの導入はしませんし、特別なアプリのインストールも必須ではありません。
それにも関わらず、クラウドのサービスが利用できるのです。
この場合の「雲(クラウド)」とはサービスを供給する側のインフラや運用体制で、「雨」とはクラウドによって提供される検索結果等のサービスです。
Platform as a Service (PaaS)
PaaS(パース)とは、Platform as a Serviceの略です。
プラットフォーム、というとIT関係者としては「開発プラットフォーム」という言葉としてよく聞きますね。
PaaSとは、OSやミドルウェアといった、ハードウェアの一つ上のレイヤーがサービスとして提供される形態です。代表的なものに、SalesForce(開発や運用に必要な基盤そのものを提供)やMicrosoft Azureなどがあります。
この場合の「雲(クラウド)」とはクラウドプロバイダーのインフラ、「雨(サービス)」とは、ハードウェアより1つ上のレイヤーであるOSやミドルウェアで構成されるプラットフォームや開発環境です。
Infrastructure as a Service (IaaS)
IaaS(イアース)とは、Infrastructure as a Serviceの略です。
ITの中でも、IaaSはどちらかというとインフラよりの概念と思ってください。
各クラウドプロバイダーの提供するITインフラ、例えば仮想サーバーや仮想ネットワークなどを利用して、要求する仕様を満たすインフラ環境を構築できるのがIaaSの概念です。
例えばAWSでシステム環境を構築することをイメージしてみてください。
AWS EC2(仮想サーバー)やAWS VPC(仮想ネットワーク)は、構築するエンジニアやシステムオーナーからは、ハードの実物は一切見えません。
EC2やVPCは、データセンター内のシステムの中で、ソフトウェア上で実現された仮想インフラです。ハードのスペックやネットワーク構成など、利用者の思うままに決定できます。もちろんその他のサービスも、実機が見えない仮想のハードウェアです。
だけど、やりたいことは実現できますよね。
この場合の「雲(クラウド)」とはクラウドプロバイダーのインフラで、「雨」はインフラによってもたらされる恩恵というわけです。
結局、3つのちがいは何か?
エンドユーザーに近い順に、SaasやPaaS、IaaSを解説してきました。三者を並べたときのちがいというと、やはり「エンドユーザーから近い順に、どこまでクラウドに委ねるのか」と考えた方がよいでしょう。
アプリまですべてクラウドに任せるのがSaaS、OSやミドルウェアまでを任せるのがPaaS、ハードやネットワークまですべて任せてしまうのがIaaSとも言えますね。
アマゾンウェブサービス(AWS)とは
AWS(Amazon Web Services)とは、みなさんがよくご存知のAmazonの関連会社であるAWSが提供するクラウドサービスです。
もともとはAmazon社内のクラウドサービスだったのですが、一部のエンジニアに公開したところ非常に評判が良く、一般向けにも公開されました。
2006年3月にはS3(ストレージサービス)、同年8月にはEC2(仮想サーバー)が公開されたのを最初として、2018年8月現在はサービスの数は100を超えています。
IaaSやPaaS、SaaSまで広くカバーされているのが特徴です。
AWSができること
AWSのサービス、いったいどんなことができるのかをご紹介します。
Webシステム構築、運用
やはり、何といってもコレでしょう。AWSは、Webシステムの構築から運用までを手広くカバーしています。
Webシステムに必要な基盤、つまり先に述べたIaaSからです。
AWS EC2の仮想サーバーによるWebアプリケーションの稼働、AWS RDSのデータベース、AWS VPCによる仮想ネットワーク、AWS IAMによるユーザー認証、AWS CloudWatchによるWebシステムのヘルスチェックが基本でしょう。
規模が大きくなるとAWS ELB(ロードバランシング)による複数のサーバーを使った負荷分散や、大量のアクセスログ解析にAWS EMR(ビッグデータ分析)を利用するのも手です。
Webシステムというと規模の大きいイメージですが、もちろん静的ページのみのWebサイトだってAWS上に乗せてもまったく問題ありません。
バックアップ
IaaSの話がもう少し続きます。
各種バックアップに、AWSの潤沢なリソースが活用できます。
AWSは全世界にリージョンと呼ばれるデータセンターを持っています。日本(東京)だけでなく、AWSの本拠地である北米やサンパウロ、ヨーロッパにも点在しています。
物理ファイルはAWS S3(クラウド上のストレージ)にバックアップを保存できます。どうしてもファイルの安全が気になるなら、複数のリージョンに分散させればよいのです。
また1つのデータセンター内でも、アベイラビリティーゾーンという区画に別れています。よって天災や停電などで特定のゾーンが壊滅的ダメージを受けても、その悪影響は限定的となるのです。
AWS RDSにデータを保存している場合は、そもそもRDS自体に自動バックアップが付いています。もちろん手動でスナップショットを取ることもできます。データベースによっては、自動で複数のアベイラビリティーゾーンに分散してデータを保存するMultiA-Zが使えます。
本格的なエンタープライズ利用
AWSのヘビーユーザーの中には、みなさんもすでに耳にしたことがあるような有名な企業もあります。
Netflixもその企業の1つです。
AWSの活用事例のページにて、Netflixの責任者のプレゼンテーションがありました。それによると、Netflixは全世界でユーザー数8600万人、190ヶ国に対してコンテンツをストリーム配信をしています。
サーバーインスタンス数は10万以上、ピーク時で1秒間に10,000以上のストリーム配信開始(1秒間に10,000ユーザーが同時に視聴し始める)、1ヶ月で10億時間分という規模にまでなっているとのことでした。
そんな過酷な要求にまで応えることができるAWSって、本当にすごいですね。
AWSを利用するメリット
AWSを利用するメリットって何があるのかご紹介しましょう。
初期コストがかからない
AWSのサービスは、基本的に従量金制です。使った分だけ支払い、止めておけば料金は発生しません。難しい初期契約もありません。ちょっと試してみたいだけ、というお試しユーザーにはうれしいですね。
安心のセキュリティ体制
クラウドはセキュリティに弱い、そういったウワサをお聞きになったこと、ありませんか?決してそんなことはありません。
AWSは公式ホームページにおいて、どのサービスでも必ずセキュリティに解説しているほど細心の注意を払っています。そこまで注力しているので、自力で環境を構築するよりよほどセキュリティが高いといえるほどです。
AWSにてセキュリティ事故が発生するとすれば、むしろIT担当者による設計ミスや設定ミスによる原因の方が考えられます。
拡張性が高い
AWSの各種サービスは、サービス間で連携しているものが多いです。
ビッグデータの分析サービスがあれば、インプットとなるデータや分析結果の保存場所はS3を指定できる、各種サービスの監視はCloudWatchが一括して引き受ける、ユーザー権限(人間だけでなくサーバーなども)はすべてIAMが管理する、といったサービス間連携も見逃せません。
サービスの規模が大きくなった時の拡張性もAWSの特徴です。
システム稼働当初はAWS RDSという関係データベースだけを使っていて、そのうちデータ量が大量になったとします。すると日々変動するトランザクションデータやマスターデータなどはRDSに置いて、追記するだけの分析系のデータはビッグデータのサービスに移行する、といったことも簡単にできます。
規模に合わせた選択ができるのも、AWSの特徴です。
世界的な対応
AWSは2018年現在で、18ヶ国にリージョンがあります。全18箇所がどこにあるかは、こちらをご参照ください。
日本以外に支社をお持ちの会社は、海外支店用に最寄りのリージョンを使うのです。リージョン間はAWSの高速通信網で結ばれており、しかもセキュリティは十分に担保されています。AWS内でのデータ共有は簡単どころか、意識する必要すらありませn。
リアルタイムで接続する必要がなければ、海外支店と別々のサーバーインスタンスを用意して、夜間にバッチ処理でデータの同期といったことも簡単にできてしまいます。
まさに一昔前では考えられなかったことですね。
AWSのデメリット
AWSのデメリットについても考えてみましょう。
コストが変動する
利用するサービスによっては、リージョンごとに単価が変わるものがあります。また、そもそもUSドルでの支払いなので、為替相場の影響をモロに受けてしまいます。
1つのサービスだけを利用していても、裏側で関連サービスも動くことがあり、感覚的に「あれ?高いなあ」と思うことがよくあります。
トラブル対応
AWSは万全な運用体制を取っていますが、それとて万全ではありません。
AWSは過去に何度か、かなり大規模な障害が発生しています。天災によるもの、人災によるもの、さまざまです。何らかのトラブルが発生すれば、AWSマネジメントコンソールにその事象が発表されます。
過去に、大規模障害が発生していながらマネジメントコンソールに発表されないということもありました。
つまりAWS的には問題ないとしながらも、ユーザーはその問題の悪影響を受けていたということです。何か問題が発生しても、確実に連絡が来るという訳ではないのです。
AWSは規模が大きいのが特徴ですが、ひとたび大障害が発生すると、その影響をまともに受けるという心積もりが必要です。
ポテパンスタイルにおける参考記事:
AWSで今まで発生した障害と、私たちにできること
AWSの料金プラン
AWSの大きな特徴でもあり、本記事に限らずポテパンスタイル内の他の記事でもお伝えしたとおり、完全な従量金制です!使った分だけ支払います。サービスによっては止めている間は課金されないものもあります。USドルによる支払いです。
リージョンによって金額が異なるサービスもあるので要注意です。
事前に正確に見積もりたいなら、こちらのページの「AWS 簡易見積りツール」をご利用ください。
完全な従量金制とはいいながら、前払いも可能です。サービスによってはリザーブドキャパシティー料金が設定されています。要は1年分前払いするから25%値引きします、といった払い方です。こちらも同じく、先ほどのリンクをご覧ください。
無料ではどこまで使えるのか
AWSは、ちょっと試してみたいという方々のために無料枠を用意しています。1年間は無料枠が使えます。という訳で、無料枠でどれだけ使えるのか?を調査してみました。
EC2/RDSを750時間/1ヶ月
EC2は月間750時間無料です。どこから750という数字が出たのか、というと、24時間×30日=720時間なので、1ヶ月間立ち上げっぱなしでも無料枠内ということと思われます(正確に公式HP上で断言していないので分かりませんが)。
RDSも同じく750時間/1ヶ月まで無料です。
ポテパンスタイルにおける参考記事:
AWSといえばEC2!さあ無料で始めましょう!
まとめ
本記事では、クラウドとは何かという話に始まって、AWSを例に挙げてクラウドの実際を解説しました。本記事が、クラウドとは何かという問いに対する答えを考える上で、一助となれば幸いです。