Power Unit Inc. | 想像力のない者に翼はない | Outlook
15442
page-template,page-template-full_width,page-template-full_width-php,page,page-id-15442,qode-quick-links-1.0,ajax_fade,page_not_loaded,,side_area_uncovered_from_content,columns-4,qode-theme-ver-13.5,qode-theme-bridge,wpb-js-composer js-comp-ver-5.4.5,vc_responsive
 

Outlook

今や、クラウドはあらゆるところに存在します。

クラウドなしのコンピューティングはもはや考えられません。

クラウド(クラウドコンピューティングもしくはクラウドサービス)という言葉を初めて提唱したのは、Google の会長エリック・シュミット氏が当時の Google のネットサービス、つまり、検索、広告アナリティックス、Gmail、Hangout、Google Map などを総称して、それまでのコンピューティングモデルとは次元の異なる新世代アーキテクチャとして紹介したことが始まりだという説があります。

また、ビジネスソリューション・ビジネスソフトウェアよりの視点から Salesforce.com が自社の包括的なビジネス支援サービス全体を総称してクラウドサービスという言葉を初めて使用したという説もあります。Salesforce.com の会社のロゴは、現在では当たり前になったクラウド(雲)です。

両者に共通して言えることは、それまで常識と考えられていた、コンピューティングリソース(CPU、メモリー、データ領域、サーバー、ネットワークなど)をオンプレミスのデータセンター内に構築し、データベースやアプリケーションサーバーをデプロイするという「バラバラであったシステム群をいかに統合していくか」に基づいた「モノリシック(一枚岩)」なコンピューティングモデルではなく、より抽象化された「巨大なサービスをいかに複数の細分化されたサービス群でインターネット上に構成するのか」に基づいた「マイクロサービスアーキテクチャ」だと言えます。

正確に言えば「優れたウェブサービスを観察したところ同じようなアーキテクチャだったので、それをマイクロサービスアーキテクチャと名付けた」という方が正しいかもしれません。これは「大きなウェブサービスを作ろうと思ったときの定石」といえます。「各要素を疎結合に構成し、連携する」「それぞれの要素に適した技術を使う」といったアイデアは突飛なものではありません。

「マイクロサービスアーキテクチャ」というキーワードは、ThoughtWorks 社のマーチン・ファウラーとジェームス・ルイスが最初に提唱したソフトウェアアーキテクチャです。モノリシック(一枚岩)なアーキテクチャを、ビジネス機能に沿って複数の小さい「マイクロサービス」に分割し、それらを連携させるアーキテクチャにすることで、迅速なデプロイ、優れた回復性やスケーラビリティといった利点を実現しようとするものです。

マイクロサービスアーキテクチャは従来のモノリシックなアーキテクチャとは比べようもないほど容易に導入、スケーリングできるので、大規模なウェブサービスだけでなく、中小規模のウェブサービスでも適用でき、それによって、クラウドが急速にスタンダードになったのです。

(IaaS + PaaS + SaaS)  α = Cloud

すべてのものに、それが誕生するまでの歴史的な経緯というものがあります。クラウド(クラウドコンピューティングもしくはクラウドサービス)も、ある日、突然、私たちの目の前に登場したわけではありません。「クラウドはコンピュータ処理の使用形態の一つ」であり、それ自体は新しい技術ではありません。また、今日ではあまりにも広い領域でクラウドという言葉が用いられていることから、もはや、特定の技術を指す用語でもありません。しかしながら、これまでの経緯から、クラウドは、階層的なサービス基盤の構造の視点から3種類に分類できると考えても差し支えないでしょう。

IaaS(Infrastructure as a Service) の略。インターネットを利用したコンピュータの新しい利用形態の1つです。IaaS では、コンピュータシステムを構築および稼動させるための基盤(仮想マシンやネットワークなどのインフラ)そのものを、インターネット経由のサービスとして提供します。

特にデータセンターで1つの物理的なサーバー上に複数の仮想マシン(環境)を外部から管理(構築・稼働・運用)できるテクノロジーの進歩によって急速に普及しました。現在、中規模以上のパブリッククラウド(インターネットサービス)・オンプレミスクラウド(イントラネットサービス)はデータセンターの IaaS 上に構築されていると言っても過言ではないでしょう。

一般的に、最もハードウェアに近い層が IaaS、中間にあってサービスの開発のための層が PaaS、最後にエンドユーザーが利用する層が SaaS になります。

PaaS(Platform as a Service) の略。インターネットを利用したコンピュータの新しい利用形態の1つです。PaaS では、ソフトウェアを構築および稼動させるための土台となるプラットフォームを、インターネット経由のサービスとして提供します。

開発者は、プラットフォーム上で構築したサービスを顧客に提供することができます。 具体的には、インフラ、データーベース、ユーザインタフェースなどのシステム開発手段となるツールや、開発したシステムを運用するための環境をインターネットを通じて「サービス」として提供し、月額使用料などの形で収入を得る事業モデルです。

上記のように、PaaS は、顧客(エンドユーザー)からは完全に隠蔽されていますが、開発者はサービスの基盤ツールとして PaaS を最大限に活用することによって、フルカスタムのアプリケーションをインタネットサービスという形で提供することができます。

SaaS(Software as a Service) の略。必要な機能を必要な分だけサービスとして利用できるようにしたソフトウェア(主にアプリケーションソフトウェア)もしくはその提供形態のことを指します。一般にはインターネット経由で必要な機能を利用する仕組みで、シングルシステム・マルチテナント方式になっているものを指します。

従来のソフトウェア販売の中心は、ソフトウェアをパッケージ製品としてユーザーにライセンス販売する形態であり、ユーザーは自分の持つコンピュータでそのソフトウェアを稼働させ、利用する形態でした。 一方、SaaS では、ソフトウェアを提供者(プロバイダ)側のコンピュータで稼働させ、ユーザーはそのソフトウェア機能をインターネットなどのネットワーク経由でサービスとして使用し、サービス料を支払う形態(ビジネスモデル)が主流となっています。

IaaS が主にシステム運用に関するクラウドサービス、PaaS がシステム開発に関するクラウドサービスで、エンドユーザーからは隠蔽されているのとは異なり、SaaS は、開発者によって構築されたサービスを利用する立場から見たクラウドサービスと言えます。

注意が必要なのは、IaaS、PaaS、SaaS そのものは、クラウドのようなマイクロサービスアーキテクチャ指向ではなくモノリシックなシステムを柔軟に構築するためのエンタープライズソリューションとして誕生したものです。そうして誕生したパズルのピースが組み合わされ進化したことによってクラウドというイノベーションが生まれたのです。

Public Cloud vs Private Cloud vs Hybrid Cloud

クラウドには、その構成に基づいて大きく分けて「パブリッククラウド」「プライベートクラウド」、さらに、それらを融合した「ハイブリッドクラウド」の3つに分類できます。

「パブリッククラウド」とは、クラウドプロバイダーなどが提供するクラウドコンピューティング環境を、企業や組織をはじめとした不特定多数のユーザにインターネットを通じて提供するサービスです。ユーザはハードウェアや通信回線などを自分では所有せず、クラウドインフラのベンダーが提供するパッケージ化されたクラウド環境を共有しながら使用します。

パブリッククラウドの特徴をひとことで表すと、「共有」の一言に尽きます。サーバ本体、その場所、OS を始めとしたソフトウェア、ひいては回線まで、パブリッククラウドはすべての環境を不特定多数のユーザ全体で共有します。

パブリッククラウドのメリットは、使いたいときに使いたいだけ利用することが可能であること、所有コストが下がる、システム管理の基本部分をクラウドプロバイダーに移管できるなどが挙げられます。

一方で、パブリッククラウドのデメリットは、障害が発生した場合は、基本的にユーザはクラウドプロバイダーからの障害復旧連絡を待つのみで、事態把握までに時間が掛かったり、自社のセキュリティーポリシーに基づくシステムの運用ができない可能性があることなどが挙げられます。

「プライベートクラウド」は、クラウドの技術を用いて一つの企業のためだけに構築するコンピューティング環境を提供するサービスです。企業はそのリソースを柔軟、効率的に所属するユーザに割り当て、共有することが可能です。更に構築のバリエーションがあり、サーバを独自に所持し、クラウドの技術を活用して現在のコンピュータリソースの最適化を行うオンプレミス型と、サーバ本体、設置場所はクラウドプロバイダーが提供し、システムの一部分を企業が占有し利用するオフプレミス型があります。

プライベートクラウドの特徴は、先にも述べましたが「占有」の一言に尽きます。企業はサーバ本体、設置場所はクラウドプロバイダーが所有するものを利用しますが、OS やソフトウェア、回線などについては、企業が自在にカスタマイズ、コントロールできるのです。この点がパブリッククラウドとの決定的な違いとなり、プライベートクラウドの特徴となります。

プライベートクラウドのメリットは、企業ポリシーに則った高度なセキュリティが実現できる、企業の特徴に合わせたシステム構成が実現できる、企業内のシステムを一定のレベルで統一して効率的に運用ができるなどがあります。

一方で、プライベートクラウドのデメリットは、ユーザ独自の仕様で作り上げられる分、パブリッククラウドよりも初期費用、メンテナンス費用は高額となり、場合によってはオンプレミスとほぼ変わらない価格となることもあります。また、簡単なコンピューティングリソースのスケーリングは難しいと考えられます。

「パブリッククラウド」「プライベートクラウド」には、それぞれ、その特性に応じてメリットとデメリットがあることがお分りいただけたでしょうか。「ハイブリッドクラウド」とは、こうした、メリット・デメリットを補完し合うエンタープライズソリューションのクラウドの形態です。

エンタープライズソリューションでは、パブリッククラウドのメリットを兼ね備えながらプライベートクラウドのように機能する「バーチャルプライベートクラウド(VPC)」と呼ばれるコンピューティングモデルがあります。こうしたバーチャルプライベートクラウドは必要に応じて、クラウドプロバイダーによって提供されているパブリッククラウドや、社内に設置されたデーターセンター上に構築されたプライベートクラウドとVPNなどの閉鎖網で連携することができます。

パラダイムシフト … それは、最初に買うではなくて、使った分だけ後から払うへ

自分で持つから自分では持たないへ … それは パラダイムシフト

クラウド(クラウドコンピューティングもしくはクラウドサービス)のアーキテクチャーについては上記の解説でおよその概念はつかめたのではないでしょうか。

クラウドには、こうしたアーキテクチャーのイノベーションと同じくらい大きなパラダイムシフトが2つあります。

クラウドが登場する前のクライアントサーバー型のコンピューティングモデルの時代の話にさかのぼりましょう。

当時は、システム(今日で言うところのサービス)を構築しようとすれば、サーバーのスペック(CPU/GPU、メモリ、ハードディスクなど)、ネットワークの構成(クラスター構成、ロードバランサー、ファイアーウォールなど)、OS の種別(Microsoft Windows Server、Linux)、ミドルウェア(データーベース、ウェブアプリケーションサーバー、CDN(コンテンツデリバリーネットワーク)などを元にどれだけの費用がかかるか見積もりを出します。

クライアント側も、システムに特化した業務専用端末や専用アプリケーションの組み合わせが必要です。さらに外部の管理者が、こうしたシステムの動作状況をモニタリングするための遠隔監視・操作アプリケーションも必要で、障害に備えて、(ディザスター)リカバリーシステムや、トランザクション・ロギングシステムなども費用に負担がかかります。

これらは、システムの要求仕様に基づいて見積もりを算出し、システムインテグレーターと顧客の間で契約が交わされ、システム構築費用が一般的に初期費用として発生します。

しかし、クラウドコンピューティングでは、これらのほとんどすべてのサービスが細分化されたマイクロサービスアーキテクチャー上に構築され、使用した分だけ料金が発生します。ほとんどの場合、最小構成ではわずかな料金しかかかりません。

クラウドが登場する前のクライアントサーバー型のコンピューティングモデルの時代の話にさかのぼりましょう。

「最初に買うのではなく、使った分だけ後から払うへ」で紹介した以前のシステムに含まれるハードウェアとソフトウェアは最終的に誰のもの(所有物)になるか?それは当然ですが顧客のものでした。システムの本番稼働後の保守費用はかかりますが、最初に払ったものは、必要が有る無しに関わらず、顧客の財産として勘定されます。

ところが、クラウドコンピューティングでは、パブリッククラウドに存在するサービス基盤は、ハードウェア・ソフトウェアを問わず、サービスを提供する側、つまりサービスプロバイダーの所有物になります。

もちろん、保守的な顧客の中には、パブリッククラウドではなく、システムの物理的な支配をコントロールするためにプライベートクラウドやハイブリッドクラウドを選択し、相応の負担を選択する場合もあります。また、汎用のパソコン、タブレット、スマートフォンではなく、業務専用端末をシステムインテグレーターに要求するエンタープライズユーザーもいます。

何れにしても、今日のクラウドでは、以前と比較して「自分でもつから自分で持たないへ」と大きくパラダイムシフトが起こっています。

「最初に買うのではなく、使った分だけ後から払うへ」「自分で持つから自分で持たないへ」の解説でクラウドのメリットは理解していただけたのではないでしょうか?それでは、クラウドコンピューティングは、これまでの問題をすべて解決する「銀の弾丸」でしょうか?

そうではありません。例えば、銀行の勘定系システムのように業務専用端末(ATM、帳票印刷、窓口端末、トランザクションの永続的保管やリカバリーシステムなど)を複雑に連携させる必要があるフルオーダメードのシステムをクラウドで構築しようとするのは不適切です。

同様に、コンビニエンスストアの本店システム、店舗システム、POS 端末、ハンディーターミナル端末などの複合システムも不適切でしょう。他にも鉄道やフライトの発券・運行管理システムもそうです。これらは、今でもモノリシックなアーキテクチャーの方が適しているでしょう。クラウドコンピューティングがフルカスタム、専用端末などから構成される複合システムをアーキテクチャーのターゲットにしていないからです。

しかし、だからと言って、Amazon.com のサービスが AWS(Amazon Web Service)の上で構築されているように、規模が大きければ適用できないということにはつながりません。

以前は、パブリッククラウドはセキュリティーの面で劣っているという(迷信めいたこと)が議論されましたが、それは、サービスのインテグレーターが適切なセキュリティーのデプロイメントやプロビジョニングを怠ったことが真の理由です。最新のクラウドコンピューティングでは、頑強なセキュリティーを構築するだけの十分な手段があります。ただし、公共サービスの基幹システムにパブリッククラウドを提案するのはセキュリティーだけではない様々な理由から時期尚早でしょう。