今更聞けない? クラウドのポイントを押さえよう

一昔前までWebシステムのインフラといえば、ハードウェアの選定・調達、そしてOSやミドルウェアの構築までを自前で行うのは当たり前のことでした。初期費用の高さや構築・運用の煩雑さはもちろん、あとで変更することも大変で、システムの拡大スピードを開発の最初期から慎重に見極めておかなければならないなどの難しさもありました。

この状況が変わったのは、2010年代に入ったころのことです。インターネットを通して、サービスとしてインフラを利用する「クラウドコンピューティング」が登場し、今では当たり前に使われるようになりました。

クラウドのメリットと潮流

クラウドはなぜ、こんなにも広まったのでしょうか? それは、以下のようなメリットがあったからです。

  • 始める際に一度に大きな投資をする必要がなく、スモールスタートが可能になる
  • 必要なリソースに合わせてサーバの台数などを増減でき、余剰リソースを最小限に抑えられる
  • 物理層が仮想化されハードウェアを直接扱う必要がないため、管理の手間が格段に省ける
  • 一定の非機能要件が自動的に担保されるため、実現される機能やロジックに集中できる

また現在では、こうしたメリットをさらに推し進めるためのコンテナ技術の活用やサーバレスアーキテクチャの採用も進んでいます。

まず、Dockerに代表されるようなコンテナ技術について見てみましょう。OS上に仮想的なユーザ空間を作り、その上でアプリケーションを実行するのがコンテナ型の仮想化技術です。複数のコンテナが1つのOSを共有するため、リソースの利用効率が高くなりますし、起動時間も短縮できるというメリットがあります。複数のコンテナを効率的に管理するオーケストレーションのためのソフトウェアとしてデファクトスタンダードの位置につきつつあるKubernetesなどは、この分野の要注目の技術と言えるでしょう。

次にサーバレスアーキテクチャです。これは、⁠サーバがない」というよりは、ユーザがメンテナンスすべき特定のサーバや常駐型プロセスが存在せず、イベント駆動で必要なときにプログラムが実行されるスタイルのアーキテクチャを指しています。常駐型のプロセスがないため、さらに効率的にリソースを利用できるというわけです。サーバレスアーキテクチャを組み上げるための代表的なサービスとしては、Amazon Web ServicesのLambda、Google Cloud PlatformのCloud Functions、Microsoft AzureのAzure FunctionsなどのFaaS(Function as a Service)に分類されるものが挙げられます。それぞれのサービスには制約があるものの、クラウド事業者が培ってきたベストプラクティスが組み込まれていることも強みとなっています。

クラウド活用のポイント1:各サービスの特徴を知る

このようなクラウドのメリットを活かすためには、どのようなポイントがあるのでしょうか。まず覚えておきたいのは、⁠特定のサービスだけですべての状況に対応できる」というわけではないことです。

先述のサーバレスアーキテクチャの項で説明したFaaSのようなサービスはもちろんのこと、ストレージやデータベースなど、特定の用途に特化したサービスが各事業者ごとに数多く提供されています。これらの中から、想定される技術や要件と相性が良いものを選ぶことではじめて、構築・運用の手間を省き、効率のよいリソースの活用ができるのです。

クラウド事業者が提供するサービスにはそれぞれに長所・短所があり、各々の特徴をしっかり知って組み合わせるのが重要であるというわけです。

クラウド活用のポイント2:さまざまな観点からの事例を知る

各サービスの特徴を知るだけでなく、実際の事例を知っておくことも重要でしょう。これからクラウドを本格的に活用しようとしているのであればなおさら、先行してクラウド利用を始めている企業などの成功事例/失敗事例含めたノウハウを知ることで、いっきに成長できるチャンスが生まれるのです。

もちろん、こういったノウハウは多岐にわたります。アーキテクチャ設計や移行方法といった誰もに共通するものもあれば、IoTやAIなどの分野に特化したノウハウもあるでしょう。使う技術の観点から言っても、たとえばFaaSなどを積極的に使ったものにしたいのであれば、それに特有のノウハウだって生まれてきます。もちろん、自社でサービスを運用しているのか、受託開発なのかといった違いもあるでしょう。

ですから、まずは自分たちが作るもの、実現したいことを明確化し、それに従って情報収集をしていくことが重要というわけです。

『クラウドエンジニア養成読本』でポイントを押さえる!

しかし、クラウドの分野は発展が著しく、まとまった書籍などで学んでもすぐに情報が古くなってしまいがちです。かといって、Webの情報だけではサービスの比較をしたり、実践的なノウハウを得ることはまだまだ難しい状況です。

そこで、クラウドエンジニア養成読本の登場です! 先に挙げたような「各サービスの特徴」「さまざまな観点からの事例」を1冊で学ぶことができるムックとなっており、いまやインフラ構築・運用において当たり前の選択肢となったクラウド技術を身に付けるには、うってつけの1冊です!