転職活動して行く中でクラウド上での開発経験の有無を聞かれることがあり、なぜわざわざ聞かれるんだろう?何かしらのWebサービス作るのなら使わないわけに行かないのでは?と思いクラウドってなんぞやという基本を復習がてら調べてみました
クラウドの定義
今までのIT業界は業者が手元で作ったものを、ネット経由や媒体を渡しインストールしてもらう形で提供することが多かったです。
サーバーも自社に置いているなどめっちゃ色々抱え込んでいたわけです
しかし近年、サーバーなどをネット経由で借りてそこへ作ったソフトウエアを乗せるということが主流になってきました。
クラウドの種類は?
クラウドサービスは主に3つに分けることができます
- Iaas
- PaaS
- SaaS
意味合いが広いため、一口にクラウドと言っても相手が指しているものと自分が想像しているものが違うというケースも出てくるようです
SaaSはブラウザでパッケージソフトを提供するもの
これはGmailやGoogleドライブのスプレットシートなどのようなものです
今までは自分のパソコンに各人がインストールする必要のあったものですが、最近ではインストールすることの方が少ないのではないでしょうか?
メリットとしては、各パソコンにインストールしなくてもいいのでパソコンを変える場合でもあえてバックアップを取る必要性が無い・複数のデバイスから一気に利用できるなどがあります
PaaSは開発環境の提供
ソフトウエアなどを開発するときの環境を提供しているサービスになります
具体的なサービスとしては以下のようなものが主流です
- Google App Engine(Google Cloud Platform)
- Microsoft Azure
- Heroku
- IBM Bluemix
- AmazonAWS(厳密いいうとIaaSでもある。区別はしていないとのこと)
各サービスによって開発時に使えるプログラミング言語はことなります
laaSは仮想サーバーの提供
IaaSはPaaSと似ていますが、PaaSが開発プラットフォームを提供しているのに対して、IaaSはサービス公開に必要な仮想サーバーやネットワークの提供をしています。
PaaSではOSを自分で選択することはできません
IaaSの場合はOSも選択可能です
ネットワークサーバー越しに仮想サーバーを好きなだけ起動させ、そこに自分の好きなOSをインストールできます。サーバーの増築もすぐにできるので拡張性が高いと言えます
参考資料