2018年5月13日日曜日

クラウドサービスの種類について。(新人さん向け)


オフィス狛 技術部のHammarです。

この度、4月からオフィス狛へ参画しました。
役割的にはマネージャー兼プログラマー(何でも屋?)です。
これから、よろしくお願いします。
さて、参画後初のブログ記事ということで、4月入社の新人さんへ、IT用語の説明を記載しようと思います。
今回は『クラウド』についてです。

最近は多種多様なクラウドサービスが本当に多くなってきました。Amazon、Microsoft、Google、といったいわゆるクラウドBIG3を筆頭に中小さまざまなクラウドサービスが存在しています。
一概にクラウドサービスを利用するといっても、実はクラウドの利用形態によっていくつか分類されるのをご存知でしょうか。またその利用形態ごとのどういう機能を利用するかによってどのクラウドサービスを選ぶかの基準にもなってきます。
クラウドを利用した開発をするにあたって、そのクラウドサービスの種類についてちょっと勉強したことをまとめてみたいと思います。

そもそもクラウドとは

クラウドコンピューティング(英: cloud computing)は、インターネットなどのコンピュータネットワークを経由して、コンピュータ資源をサービスの形で提供する利用形態である。略してクラウドと呼ばれることも多い。 wikipedia

もう少しざっくり書くと、ユーザーはサーバーやストレージなどのインフラやソフトウエアなど物理的に持つ必要がなく、インターネット等を利用していつでも手軽にサービスを利用できる技術です。
上記の意味合いでは身近にあるGoogleのGmailはメールに特化したクラウドサービスです。

このクラウドサービスの種類についてですが、クラウドサービスには実は細かくわけると「SaaS」、「PaaS」、「IaaS」という種類があります(もう少し細かく「DaaS」というのもあります)

■SaaSについて

「Software as a Service」の略で「サース」と呼びます。
その名の通りソフトウェアをクラウドで利用できるサービスになります。
上記に書いたメールサービスなどがこれにあたります。
ほかにもDropbox等のクラウドストレージサービスやMicrosoft Office 365などのオフィスソフトも代表例になります。SaaSはすでにアプリケーションとしてすぐに利用できる状態で、エンドユーザーが一番身近に使うサービスが多いのではないかと思います。

■PaaSについて

「Platform as a Service」の略で、「パース」と呼ばれています。
プラットフォームのクラウドサービスということで、プラットフォーム「土台となる環境」をクラウド上で利用できるサービスになります。
開発者はシステムの開発に必要な土台となる環境(アプリケーションとOSをつなぐミドルウェアやDB管理システム、プログラミング言語、OS等がすでに利用できる状態でアプリケーションを開発できるので、いちいち開発環境を整える必要がなく、すぐに開発に取り掛かることができます。
代表例としてはGoogle App Engine やMicrosoft Azureあたりになります。AWSもサービスの内容によってはPaaSになりますね。

■IaaSについて

「Infrastructure as a Service」の略で、「イアース」や「アイアース」と呼ばれます。
インフラストラクチャ―のクラウドサービスなので、サーバーやストレージ、ネットワークをクラウド上で利用できるサービスになります。
サーバを利用する際に必要なハードウェアのスペックやOSを、ユーザーが自分で選んで利用することが可能です。PaaSとは違いインフラだけの利用なので、開発者が細かく設定を自由に設計することができます。
代表例としてはGoogle Compute EngineやAWSのEC2がこれにあたります。


これらの「SaaS」、「PaaS」、「IaaS」の種類の違いがわかると、開発時にどのクラウドサービスを使えばよいのかがわかってくると思います。

含まれている機能要素の順に
【SaaS:すぐに使える】>【PaaS:基本的な準備あり】> 【IaaS:インフラだけ】
になるでしょうか。

開発基本に考えた場合、基本的にはPaaSを利用する機会が多いと思いますが、案件内容や状況によってメリット、デメリットをクラウドサービスを考えて選択できるのではないかと思います。


0 件のコメント:

コメントを投稿