【初心者〜現場で活躍まで】挫折しないPython勉強方法もっと知る

【初心者でも10分で理解】クラウドの概要とメリットを解説する

  • クラウドってよく聞くけれど、よく分かってないんだよなー。
  • クラウドがなぜこんなに凄いと言われているのかが、分からない!

今回は、こんな疑問に答えます。

この記事を読めばクラウドについて人に説明が出来るくらい理解が出来ます。

こんな人に読んでもらいたい
  • クラウドについてよく分からないエンジニア
  • これからクラウドを使いたいと思っているが、いまいちメリットが分からないエンジニア
  • オンプレミスからクラウドにスキルチェンジしたいエンジニア
目次

クラウドとは何か?

クラウドとは何かを知るために、AWSが出しているクラウドの定義を見てみましょう。

「クラウド(クラウドサービス、クラウドコンピューティング)」とは、クラウドサービスプラットフォームからインターネット経由でコンピューティング、データベース、ストレージ、アプリケーションをはじめとした、さまざまな IT リソースをオンデマンドで利用することができるサービスの総称です。クラウドサービスでは、必要なときに必要な量のリソースへ簡単にアクセスすることができ、ご利用料金は 実際に使った分のお支払いのみといった従量課金が一般的です。

引用元:https://aws.amazon.com/jp/cloud/

ポイントは以下となります。

クラウドを理解するポイント
  • インターネット経由でサービスが受けられる
  • 必要な時に必要なリソースにアクセス出来る
  • 使った分だけ支払いが発生する従量課金制

クラウドサービスプラットフォームではAmazonが運営する「AWS」やGoogleが運営する「GCP」、Microsoftが運営する「Azure」が有名です。

世界的なシェア率としては、以下の通り、AWSが首位を走っています。

Amazon Web Services(AWS)は約40%のシェアをほぼ下げることなく維持し、引き続き他社を大きく引き離した首位の座にいます。

そのAWSを追い上げるのがマイクロソフトで、2019年第3四半期の時点で20%弱のシェアを保持。それに続く10%弱のシェアがGoogle、6%程度がAlibabaとなっています。

引用元:https://www.itmedia.co.jp/news/articles/1911/13/news073.html

今からクラウドを勉強するのであれば、「AWSを選択して良い」と思います。

日本政府の基幹システムも以下の記事のように、AWSを使ったクラウド基盤へと移行していくこととなっています。

政府の基盤クラウド、Amazonに発注へ

クラウドのメリット

クラウドのメリットを考えるために、クラウドと対比関係にある「オンプレミス」との違いを見ながら、整理していきましょう!

オンプレミス ( 英語on-premisesオン・プレミシズ))[注 1] とは、情報システムハードウェアを使用者(通常は企業)が自社保有物件やデータセンター等の設備内に設置・導入し、それらのリソースを主体的に管理する運用形態をいう。

引用元:https://ja.wikipedia.org/wiki/%E3%82%AA%E3%83%B3%E3%83%97%E3%83%AC%E3%83%9F%E3%82%B9

オンプレミスでのアプリ開発までの流れ

例えば、何かWebアプリケーションを構築するとします。

その際、オンプレミスであれば、「サーバーやストレージを調達して、そこからDBサーバーとWebサーバーを作って、ネットワーク構築をして…」とたくさんの作業をする必要があります。

オンプレミスではここまでの作業を実施するのに、多額のお金とサーバー調達(※1)や構築作業に膨大な時間と多くの人的リソースが必要となります。

※1 サーバーの調達にはリードタイムがかかりますしね。

そして、やっとアプリ開発にまで進みました。

が、しかし。

このアプリケーションが形になる頃にはビジネスアイデアが古くなり、望んでいた結果を得られないことがあります。

フローチャートにすると、以下のようになります。

onpremise_problem

しかしながら、オンプレミスには以下の課題があります。

オンプレミスの課題
  • オンプレミスはアイデアを形にするまでに時間とお金がかかり過ぎる
  • それぞれの工程を管理する人が多く、人的リソースがたくさん必要
  • アイデアが失敗と分かっても、調達した資源が残るため、撤退がしにくい

この課題を解消するには、どうしたら良いのでしょうか?

クラウドでのアプリ開発までの流れ

一方、クラウドの場合はどうなるのでしょうか?以下からは、AWSを例に紹介します。

まず、サーバーやストレージの調達はリードタイムがかからず、インターネット越しに数クリックするだけで、サービスとして利用出来ます。

AWSで言うとサーバーはEC2になり、ストレージはS3になりますかね。

もっと言うと、データベースもリレーショナル・データベースであればRDS、NoSQLであればDynamoDBと言った具合にサービスが存在します。

そのため、わざわざサーバーにインストールしなくてもすぐに使えるようになります。

インフラに関してもVPCというサービスを使うことで、すぐにネットワークを構築することが出来ます。

もちろんデータセンターにわざわざ行って、LANケーブルをハブに繋いだりといった作業は発生せず、インターネットで全て完結します。

またアプリ開発についても、便利なサービスがたくさんあります。

特にAmplifyというAWSサービスを使うと、実装が難しい認証処理といった処理が簡単に実装出来ます。

またCodeシリーズ(CodeCommit、CodeBuild、CodeDeploy、CodePipeline)やCloudformationを使うことで、CI/CD環境を簡単に構築することも可能です。

このように、「クラウドは数クリックでインフラリソースを準備出来て、アプリ開発についても便利なサービスを組み合わせることで素早く開発が出来る」ようになります。

オンプレミスで同じことをやろうとした場合に比べると、マネージド・サービスを使うことで、人的リソースも少なくなります。

またアプリ開発の結果、ビジネスアイデアがイマイチだと判断出来た場合は、その時点でサービスの利用を辞めれば、それ以降はコストがかからなくなります。

フローにすると以下のようになります。

cloud_dev_flow

クラウドのメリットをまとめると、以下のようになります。

クラウドのメリット
  • 数クリックでインフラリソースを準備出来るので、速い
  • アプリ開発に役立つ便利なサービスがたくさんあるので、アプリ開発が速くなる
  • サービスを利用することで、人的リソースも少なくなる
  • コストは固定費ではなく変動費となるので、辞めたくなったらすぐに辞めることが出来る

なぜフルスタックエンジニアが求められるのか

今回は、以下の内容について語りました。

  • クラウドとは何か
  • クラウドのメリットは何か

最近、「フルスタックエンジニア」という言葉がバズワードのように流行っているような気がします。

それは、以下のようなことで何でも出来るエンジニアの需要が高まったのではないかと推察します。

フルスタックエンジニアが求められる背景
  1. クラウド誕生→インフラ構築からアプリ開発までのリードタイムがなくなった
  2. リードタイムがないんだからインフラもアプリも同一人物がやった方が効率が良い
  3. フルスタックエンジニアの需要が高まる

クラウドを勉強することで、インフラ構築からアプリ開発まで一貫した流れをインターネット越しに学習することが出来ます。

クラウドを勉強することこそが、フルスタックエンジニアへの第一歩だと私は思っています。

ここまでお読みいただき、ありがとうございました。

役に立った、面白かったと思ったら、SNSでシェアしてくれると嬉しいです。

エソラ

もし分からないことがあれば、お問い合わせTwitterにご連絡をいただけると嬉しいです。(Twitterの方が返信早いかも…)

\ 更新の励みになるので、ポチッとしてね /

エソラ

他にもスキルアップやキャリアアップの役に立つ情報が満載です。他の記事も読んで、ゆっくりしていってね!

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメント一覧 (1件)

コメントする

目次