AWS・Azure・GCPでエアコン操作システムを開発！開発のしやすさ徹底比較とクラウドの未来

## はじめに
こんにちは！寒い日が続いていますね。私も寒さが苦手で、特に冬の朝は布団から出るのが一苦労です。そこで、朝起きる少し前にエアコン（暖房）を自動でONにして、快適に目覚められる仕組みを作ってみました。

今回は、このシステムを3大クラウドサービスとして知られる以下の3つを使って構築しました。

- Amazon Web Services (AWS)
- Microsoft Azure(Azure)
- Google Cloud Platform (GCP)

どのように実装したのか詳しくは以下の記事をご覧ください

https://qiita.com/nishifeoda/items/9b5cc9ea3c748de65b8c

https://qiita.com/nishifeoda/items/d8ff4a5f10b1c3cce364

https://qiita.com/nishifeoda/items/a845c61f59980adf1f64

3大クラウドサービスを全て利用してシステム開発を行う例は、Qiitaなどの記事でもあまり見かけないので、今回その体験を記事にまとめることにしました。具体的には、以下の内容をお伝えします。

- 3大クラウドサービスとは
- 3大クラウドサービスを使って開発した感想
- 3大クラウドサービスのうちどれを使ったらいいのか

これからクラウドサービスを使った開発を考えている方や、どのクラウドサービスを選ぶべきか迷っている方にとって、少しでも参考になれば嬉しいです！

## クラウドサービスとは
「クラウドサービス」とは、インフラ（サーバー、ストレージ、ネットワークなど）やソフトウェアを自前で用意せずに、インターネットを通じて必要なサービスを必要な時に必要な分だけ利用できる仕組みのことです。簡単に言えば、自分でサーバー室を作らなくても、インターネット経由でサーバーやストレージを利用できるサービスです。もし自前でサーバーを管理する場合、HDDの経年劣化や停電対策などを考慮する必要があり、これらの管理には多くのコストと手間がかかります。一方で、クラウドサービスを使えばこれらの問題を気にせずに済むため、非常に便利です。これを「クラウド・コンピューティング」とも呼びます。

例えば、従来はパソコンにメールソフトをインストールし、サーバーを構築して使う必要がありました。しかし、Gmailのようなクラウドサービスでは、インターネットに接続しブラウザを使うだけで簡単に利用できます。この「持たないで使う」という考え方がクラウドの本質です。

クラウドサービスには、個人向けのものから企業向けのものまでさまざまな種類があります。中でも、代表的なサービスとして次の3大クラウドサービスが挙げられます。

- AWS (Amazon Web Services)
- Microsoft Azure
- Google Cloud Platform (GCP)

これらのサービスは、膨大なデータの保存、アプリケーションのホスティング、機械学習の活用など、幅広い用途で利用されています。

クラウドが生まれた背景には、技術の進化に伴い、膨大なアプリケーションやデータを管理する課題が生じたことが挙げられます。この課題を解決する手段として、サービスをネットワーク越しに提供する「クラウド・コンピューティング」の考え方が登場しました。

## 3大クラウドサービスとは
「3大クラウドサービス」とは、一般的に次の3つのサービスを指します。

- Amazon Web Services (AWS)
- Microsoft Azure(Azure)
- Google Cloud Platform (GCP)

これらの3社は、世界のクラウドインフラサービスへの支出額のシェアで大きな割合を占めており、合計で約7割のシェアを持っています。2023年第4四半期時点では、AWSが約31%、Microsoftが24%、Googleが11%のシェアを持っており、特にMicrosoftとGoogleのシェア拡大が目立っています。市場は依然としてこの3社の寡占状態が続いています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/561875/00767091-c036-59b8-f21a-1bf4afe59eea.png)
（引用元: [総務省｜令和6年版 情報通信白書｜クラウドサービス](https://www.soumu.go.jp/johotsusintokei/whitepaper/ja/r06/html/nd218200.html)）

一般的には、AWSが最も知名度が高いと言えるでしょう。日本国内では、さくらインターネットの「さくらのクラウド」やGMOグローバルサイン・ホールディングスの「GMOクラウド」などもありますが、世界的なシェアで見ると、まだ3大クラウドサービスには及びません。

さらに、3大クラウドサービスは世界中で非常に多くのユーザーに利用されているため、トラブルが発生した際にも参考になる文献や情報が豊富です。また、公式のドキュメントだけでなく、開発者コミュニティやフォーラムが充実しているため、設定や開発方法に関する情報も簡単に見つかります。このような環境は、開発者にとって大きな利点であり、スムーズな開発を可能にしています。

AWS、Microsoft Azure、Google Cloud Platformは、それぞれクラウドサービス全体を指す名称です。しかし、この中には、アプリを簡単にリリースできるサービスや、手書きの文字をテキストに変換するサービス、自動翻訳サービスなど、さまざまな機能が含まれています。これを食べ物に例えるなら、AWSやMicrosoft Azureは「パン」のようなもので、その中にはメロンパンやクリームパンなど、さまざまな種類のサービスが詰まっているイメージです。詳しくは下記の記事が非常によくまとまっているので一度読んでみてください。

https://qiita.com/hayao_k/items/906ac1fba9e239e08ae8

## 3大クラウドサービスを使ってみた感想
個人的な感想として、開発のしやすさで言うと、以下の順番になります。

1. GCP（Google Cloud Platform）
2. Azure（Microsoft Azure）
3. AWS（Amazon Web Services）

特に **GCP（Google Cloud Platform）は非常に直感的で開発しやすかったです。次にAzure（Microsoft Azure）** ですが、こちらも似たような感じではありますが、アプリを定期実行させる際に独自のワークフローを使う必要があり、少し癖がありました。 **AWS（Amazon Web Services）** は、時に使いづらい部分がありました。例えば、URLから直接実行させることができず、AWSの他のサービスを別途使う必要がありました。また、AWSではサービスによっては、ユーザーがどの操作を実行できるかを制御する「ポリシー」を設定する必要があり、これが手間に感じました。

しかし、 **業務で使用する場合、私はAzure（Microsoft Azure）が最適だと思います。** 特に、関数をデプロイする際、開発に使ったVisual Studioの機能をそのまま利用できるため、手間が少なくスムーズに進めることができました。アプリのデプロイも、GitHub上にあるサンプルコードを少し修正するだけで対応でき、難しくありませんでした。

さらに、Azure（Microsoft Azure）には他のクラウドサービスにはない特長があります。AzureはMicrosoft製のクラウドサービスであり、開発に使ったVisual StudioもMicrosoft製です。そして、現在はGitHubもMicrosoftの傘下にあります。さらに、ビジネスシーンで広く使われているWordやExcelなどのOffice製品もMicrosoftが提供しているため、Azureはこれらの製品との連携が非常に強力です。

もしMicrosoft製品に変更があった場合、Azureは最速で対応する可能性が高い点も大きなメリットです。そのため、特にビジネス用途でクラウドサービスを導入する場合、Azureは非常に有力な選択肢だと感じます。また、AzureはMicrosoftアカウントがあればすぐに利用を開始でき、新たに別のアカウントを作成する手間を省けるため、運用管理コストも抑えることができます。

結論として、業務でクラウドサービスを導入するなら、 **現在のビジネス環境においてはAzure（Microsoft Azure）が最適だと感じました。** 

## クラウドサービスの併用とリージョン分散の必要性
では、開発ではAzure一択なのでしょうか？この点について、私は少し疑問があります。 **むしろ、3大クラウドサービスを併用し、それぞれのサービスを異なるエリア（リージョン）で実行するのが最適だと考えます。** たとえば、以下のように分散する方法です。

- AWSのリージョンは「日本」
- GCPのリージョンは「アメリカ」
- Azureのリージョンは「ヨーロッパ」

クラウドサービスは非常に便利で、自前でサーバーを用意する必要がなくなるため、多くのコストと労力を削減できます。しかし、クラウドサービスにもリスクがあります。過去にはクラウドサービスの障害で利用できなくなる事例がありました。また、[オーストラリアでは、年金基金を運営するUniSuperのアカウントが運営側によって全削除される](https://www.itmedia.co.jp/news/articles/2405/13/news090.html)という深刻な問題も発生しています。

さらに、クラウドサービスを提供する企業は営利目的の企業です。そのため、サービスの停止や、リージョンからの撤退が起こる可能性も否定できません。また、以下のような外部要因による影響も考えられます。

- **自然災害**：日本は台風や地震が多く、アメリカでは山火事が頻発しています。
- **政情不安**：データセンターがある国でクーデターや政変が起これば、混乱によってサービスが停止するリスクがあります。現在隣国の韓国では政治状況が不安定になっており、今後の展開によっては影響を受ける可能性があります。

こうしたリスクを分散させるために、3大クラウドサービスを併用し、リージョンも分散して利用することが有効です。

しかし、費用面の考慮も重要です。今回のように「毎日同じ時間にエアコンの電源を制御する」程度であれば、3大クラウドサービスを使っても費用は大したことはありません。しかし、何万人ものユーザーが利用するアプリを開発する場合は、一つのクラウドサービスを使うだけでも大規模な費用がかかります。さらに複数のクラウドサービスを併用すると、コストはさらに増大します。このような場合、どのクラウドサービスを利用するか、あるいは併用するかについて慎重に検討する必要があります。

さらにエンタメ系のサービス（例：NetflixやYouTube）は、仮に一時的に止まっても生活への影響は限定的です。しかし、医療や金融など社会や生命に直結する分野では、サービス停止が重大な影響を及ぼす可能性があります。こうした場合、クラウドサービスの選択と運用には特に注意が必要です。

## 日本発クラウドサービスの価値とリスク分散の重要性
「3大クラウドサービスだけを使えば十分か？」という疑問に対し、私はリスクの観点から、**日本企業が提供するクラウドサービスを併用するのも一つの有効な手段だと考えます。**

たしかに、3大クラウドサービス（GCP、Azure、AWS）は世界的にユーザーが多く、トラブルが起きても対処しやすい点や、開発時に参考になる情報が豊富である点は大きなメリットです。しかし、これらのクラウドサービスはすべてアメリカ企業によって運営されています。現在、日本とアメリカの外交関係は良好ですが、将来的に何らかの理由で関係が悪化した場合、サービスが日本国内で提供されなくなるリスクもゼロではありません。

さらに、防衛や外交など国家に関係する分野で、外国企業のサービスに依存することにはリスクがあります。さらに最近、IT分野とは直接関係ありませんが、電子書籍販売サイト「DLsite」など一部のサービスで、クレジットカードのVISAが利用できなくなった事例がありました。これらは一例にすぎませんが、海外サービスに完全に依存することの危険性を浮き彫りにしています。

特に、VISAはアメリカのブランドであるため、国際情勢の影響を受けやすいという側面があります。一方で、日本には日本発唯一の国際カードブランドであるJCBが存在しており、こうした場合にも一定の対応が可能です。このような背景を考えると、万一3大クラウドサービスが日本国内で利用できなくなった場合に備え、リスク分散を図ることが重要だと言えるでしょう。

その点で、日本の「**さくらのクラウド**」を提供するさくらインターネット株式会社は注目に値します。同社が提供する「さくらのクラウド」は、日本国内で利用できるクラウドサービスの一つの選択肢として考えるべき存在です。2023年度、デジタル庁が進める「ガバメントクラウド整備のためのクラウドサービス」の募集において、日本企業で唯一選定されたのがさくらインターネット株式会社の「さくらのクラウド」です。このガバメントクラウドには、GCP、Azure、AWS、Oracle Cloud Infrastructureなど、世界的なクラウドサービスも含まれています。その中で日本企業が選定されたのは「さくらのクラウド」だけです。この事実からも、同サービスが日本政府の定めた厳しい要件を満たした信頼性の高いクラウドサービスであることが分かります。

## まとめ
今回は、3大クラウドサービスであるAWS（Amazon Web Services）、Microsoft Azure、Google Cloud Platform（GCP）を利用して、冬の朝にエアコンを自動でONにするシステムを構築した体験について紹介しました。それぞれのクラウドサービスには独自の特長や使いやすさがあり、実際に使ってみることで、開発の進めやすさや利便性に関する感想を得ることができました。

具体的には、GCPは直感的で開発しやすく、Azureは特にビジネスシーンでの連携やスムーズなデプロイが魅力で、AWSは他のクラウドサービスに比べて少し使いづらさを感じる場面がありました。それでも、業務利用においては、特にMicrosoft製品との統合性の高さからAzureが最適だと感じました。

また、クラウドサービスの選択においては、単一のサービスに依存せず、リスク分散の観点から複数のクラウドを併用することが有効だという意見も述べました。特に、クラウドサービスの提供元が海外企業であることを考慮し、日本国内で提供されるサービスも併用することでリスクを軽減することも一つのプランです。さくらインターネット株式会社の「さくらのクラウド」は、その点で信頼性の高い選択肢として注目されるべき存在です。

結論として、クラウドサービスを選ぶ際は、開発のしやすさや特長だけでなく、運用・運営コストやリスクをしっかりと考慮することが重要です。今後もクラウドサービスの利用はますます進化し、選択肢が増える中で、各企業や個人が最適な選択を行えるよう、各クラウドサービスの特徴をしっかり理解しておくことが求められます。

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

## 参考文献
[クラウドとは？を分かりやすく解説 | GMOクラウド](https://altus.gmocloud.com/suggest/cloud/)
[「世界3大クラウドサービス」を比較！その違いをチェック［2024年6月版］ | クラウド | お役立ちナレッジ | ビジネスを加速する総合ITソリューション N
-PLUS](https://www.nplus-net.jp/knowledge/2021/20210830105727.html)
[総務省｜令和6年版 情報通信白書｜クラウドサービス](https://www.soumu.go.jp/johotsusintokei/whitepaper/ja/r06/html/nd218200.html)
[Google Cloud、豪年金基金のアカウントを誤削除　予備も誤削除　他社でのバックアップでなんとか復旧 - ITmedia NEWS](https://www.itmedia.co.jp/news/articles/2405/13/news090.html)
[ガバメントクラウド｜デジタル庁](https://www.digital.go.jp/policies/gov_cloud)
[さくらインターネット、ガバメントクラウドサービス提供事業者に選定 | さくらインターネット](https://www.sakura.ad.jp/corporate/information/newsreleases/2023/11/28/1968214232/)
[【重要】Visa、Mastercardをご利用のお客様へ【4/4追記】 | DLsite｜サービスインフォメーション](https://info.eisys.co.jp/dlsite/69dd17c1c4b21c06)
[JCBの歴史｜JCB 新卒採用情報](https://www.saiyo.jcb.co.jp/introduction/history/)