クラウドはどのように作られているのか:新人のための「クラウド」基礎講座(2)(1/3 ページ)
前回は「クラウドとは何か」というテーマによる概念的な部分の解説でした。今回は、「クラウドはどのように作られているのか」と「IaaSとPaaSの大まかな仕組み」について、基礎技術の側面を説明します。
この連載は……
「クラウドコンピューティング」とは何でしょう。皆さんは、これを明快に説明できるほど正しく理解していますでしょうか。
今やクラウドは企業のビジネス成長に欠かせない存在として、エンタープライズ分野で普及が加速しています。しかし、データの保管(クラウドストレージ)やeメール(Gmailなど)といった身近な個人向けサービス以外は、ぼんやりとしか分からない。クラウドがビジネスとどう結び付くのか分からない……そんな人もいるはずです。
本連載は、そんな新卒エンジニア、クラウドの知識がないが業務で必要になった若手、オンプレミスエンジニア、IT業界で働くユーザー部門(営業担当者など)、IT業界に興味のある学生に向け、正しいクラウドの知識を身に付けてもらうことを目的にした、「やさしい先輩」からのメッセージです。「CompTIA SMEコミュニティ」に集う各企業の4人が協力し、それぞれの視点で「実務に役立つ、クラウドの基礎」を順番にお届けします。
今回は、日本マイクロソフト Azure技術部クラウドソリューションアーキテクトの吉田雄哉氏より寄稿いただきました。
「クラウド」は、これまでと何が違うのか
クラウドは、全く新しい技術だけでできているのではありません。これまでの技術の延長線上にあるものです。
しかし、クラウドがもたらす「大きな変化」を見据えて最初に伝えたいのは、「これまでの常識を元にしたアプローチのままでは、うまく活用できないことがある」ということです。同じ技術が使える=これまでと同じやり方でよい、のではなく、それをどう生かすのかの視点が大きく変わります。
つまり、「ビジネスの成長につながるメリットをどのように享受するか」を考えるということです。技術的な特徴を理解するにも、その技術の仕様や特徴がどんなメリットを生み出すのか、そして、それをどのように生かすのかの視点を常に持つことが、クラウドを考える上で基本的なアプローチであると筆者は考えています。
「クラウドを作る」ために必要なもの
「クラウドを作る」ためには何が必要と思いますか?
皆さんの会社にある「勤怠管理システム」を想像してみてください。このシステムが動作するには、何が必要でしょうか。もし、1台のコンピュータで動かすのならば、以下のようなシステム構成になります(図1)。
ソフトウェア、つまりプログラムが動くためにはなくてはならないものがあります。まずはそれを動かす機械、多くの場合はサーバと呼ばれるハードウェアが該当します。サーバ(Server)とは、サービス(Service:ユーザーが使うアプリケーションなど)を提供するためのコンピュータのことです。この例におけるサーバとは、物理的なコンピュータ(会社のPCや、会社のサーバルームに設置されたコンピュータを想像していただいて構いません)を指します。
サーバにはOS(Operating System:例えば、Windows ServerやLinuxなど)がインストールされ、このOSの上でアプリケーションが動きます。サーバ、OS、(勤怠管理を行う)アプリケーション、ネットワーク環境がそろって、勤怠管理の機能を社員にサービスとして提供する最低限の環境が整います。
一般的な会社では、それ以外の複数の社内システムも一緒に提供します。例えば、経費精算システムや業務管理システム、顧客管理システム、自社のWebサイトを配信するシステムなどがあります。このシーンを踏まえながら、より具体的なシステムの仕組みも考えてみましょう。
多くのシステムは、処理を実行するロジックの部分をアプリケーションの本体が担い、入力された情報を保持・保管はデータベースが担うといったように、複数のソフトウェアの組み合わせで構成されています。
企業システムで使われるサーバの役割
これらの処理を1台のコンピュータでまかなえる範囲ならば問題はありません。しかし、大抵の企業システムは違います。例えば、多くの利用者が一気にアクセスしてくるような高い負荷の掛かる状況になったら、1台の処理能力ではカバーしきれなくなってしまいます。「反応が遅くなる」「アクセスが遅くなる」といった不都合が発生し、場合によっては「システムごと停止してしまう」といった事態に陥ってしまいます。
前述した勤怠管理システムを例にすると、高い負荷が掛かる状況とは、出勤時間帯、月末、年度末に社員が一斉にアクセスしてくる場合が想像できます。もし、勤怠入力の途中でシステムが停止してしまったら、社員の給与計算が正確にできなくなる可能性があります。システムダウンによって、社員全員の勤怠情報を記録したデータベースが吹っ飛んでしまうことも、さらにはシステムごと故障してしまうことも考えられます。もし、そんなことになったら大ごとですね。
ですから企業向けのITシステムは個人向けのシステムと違い、高い負荷への耐性を高めたり、故障などの不具合が起きたとしてもサービスを提供し続けるための仕組みを組み込んだりすることで、リスクヘッジをするのが一般的です。そしてそのシステムは、企業の規模や成長速度、業務内容に応じて大きな規模になり、それに比例してサーバの台数も増えていくことになります。
この状況を背景に注目されることになったのが「仮想化技術」です。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- 「クラウド」とは何か
あなたは、「クラウド」を本当に正しく理解していますか? 新卒エンジニアやいきなり業務で必要になった若手、IT業界で働く営業担当者などのために、“やさしい先輩”が順番に「クラウド基礎講座」をお届けします。「そんなの知ってるよ」という人も、あらためて知識を確認・整理してみてはいかがでしょうか。 - 5分でわかるクラウド・コンピューティング
なぜいま、クラウド・コンピューティングなのか。過去の類似コンセプトとの相違や、クラウドの階層と提供事業者、普及度は? - いまさら聞けない「クラウドの基礎」〜クラウドファースト時代の常識・非常識〜
クラウドの可能性や適用領域を評価する時代は過ぎ去り、クラウド利用を前提に考える「クラウドファースト」時代に突入している。本連載ではクラウドを使ったSIに豊富な知見を持つ、TISのITアーキテクト 松井暢之氏が、クラウド時代のシステムインテグレーションの在り方を基礎から分かりやすく解説する。 - クラウドが普及した市場で、生き残るエンジニアと組織
クラウドがもたらした変化は、技術的なものだけにとどまらない。IT企業の組織、そしてエンジニアに求められるスキルや性質が変わってきている。