エンジニアになるための学習を進めていて、現在はRailsの学習をしておりますが多方面で
「Heroku」
という単語が見えてたり聞こえたりしていました。
ずっとHogeのこと?って思ってた
調べることもなく
「Hogeに関連したことをいってるの?」
ってスタンスでした。
そうじゃないということに気が付きましたんで、早速調べて初学者の自分向けにまとめていこうと思います。
Hogeじゃないよ「Heroku」だよ
そもそもHogeとは
「説明したいことの趣旨とは一切関係のない、何でもよいことを示す名前」
でメタ構文変数と呼ばれるものです。
つまり僕はHerokuも同じメタ構文変数だと思っていたんですよね。
まったく違うよ_φ(・_・??
Herokuはクラウドプラットフォーム
Herokuはアプリの構築や監視のほか、提供など行なってくれるクラウドプラットフォーム。
開発者を大いに支援してくれるサービスという認識です。
詳細は公式サイトで読む方が勉強になります。
クラウドプラットフォームのあれこれ
クラウドプラットフォームでHeroku以外にもサービスがありますが、
その中でも有名なAWSなどと比べるとHerokuはどうなのか。
そちらについても調べてみました。
対応している言語数が違う
AWSの対応言語は、C++・Go・Java・JavaScript・.NET・Node.js・PHP・Python・Rubyで、
一方、
Herokuは、Java・Ruby・PHP・Python・Node.js・Go・Scala・Clojureの8種類に対応しています。
なのでScalaで開発をしたい場合はHerokuで行う必要があるそうですね。
料金体系の違い
AWSは従量課金制のサービスで使った分だけ費用がかかるというもの。
反対にHerokuは月額制をメインとした体制で毎月の運用コストが見える化しやすいというメリットがあります。
過去に調べていて、
AWSでポートフォリオサイトを構築し、実際に転職活動中は使っていたものの
それ以降は使用せず、AWSがONの状態?だったため高額な金額を請求されたケースをどこかで拝見しました。
そういった面と比べると月額制なので、コストが明確に決まっているので安心ですね。
機能の豊富さを求めるならAWSだけど
機能の違いについてはAWSは人工知能や機械学習など高度な機能を活用できるのがAWSの特徴の一つなんですが、反対に機能が多すぎてどれを選定すればいいかわからないといった迷路に直面する可能性もあります。
Herokuは一方、アプリ開発→公開→運用において必要不可欠な機能を備えているものの、機能自体は非常にシンプル。
転職するまでのアプリケーション制作などはAWSを使用する前はHerokuでやった方がクラウドプラットフォームへの理解度も高まるのではないかと個人的に感じました。
機能面やその他についてまとめている記事で参考になったところ↓↓
Herokuとは?できることやメリット・デメリット、AWSとの違いを解説!
まとめると
HerokuはクラウドプラットフォームでHogeではありませんねw
転職活動時に使用するポートフォリオ制作ではAWSを使用する予定ですが、
それまでの学習でクラウドプラットフォームを理解するためにはまずはHerokuを使用していきます。