Help us understand the problem. What is going on with this article?

Herokuってなんなの?

使ったことはあるものの、よく知らなかったので調べてみました

heroku.png

Herokuとは?

開発したWEBアプリケーションを10分程度で全世界に公開することができ、そのままサービスを本格的に運用することも可能なホスティングサービス
  • Python/Java/Go/PHP/Node.JS/Ruby on Railsに対応可能
  • salesforceが買収したサービス

ホスティングサービスとは?

fukidasi.png

レンタルサーバ、共有サーバのこと
その中でSaaS、PaaS、IaaS、DaaSと呼ばれるものがあり、違いはどこまでクラウドとして用意してくれているか

SaaS→PaaS→IaaSの順でシンプル⇄自由度が高い

SaaS

Software as a Serviceの略
利用者はインターネット上で利用するだけでいい

メリット:サービスが整っているので手間なく使える

無料ブログサービスなどがこれに当たる

PaaS

Platform as a Serviceの略

Herokuはこの中のひとつ

・ネットワークなどのインフラ
・OSなどのプラットフォーム

2つがすでに整った状態で利用できるのでアプリケーションの構築に集中できる

メリット:Ruby on Rails、Django、Spring、Node.jsなどで制約なくアプリを作成ができる

コンシューマ向けの凝ったアプリを作るのに向いている

IaaS

Infrastructure as a Serviceの略

AWSのEC2はこの中のひとつ

仮想サーバ、ハードディスク、ファイアーウォールを用意
サーバのスペックやOS等を選択することが出来る

メリット:自由に開発できる

Xサーバーなどのレンタルサーバー
無料CMSのWordPressを利用するために使われることもある

VPSとの違い

IaaS:料金は使った分だけ 多機能で色々凝りたいならこっち
VPS:料金は一定 機能がシンプルなので扱いやすい

DaaS

Desktop as a Serviceの略
クラウド上にデスクトップ環境を作って利用する

メリット:デスクトップ環境が低コストで簡単に利用できる
デメリット:アプリとの互換性がなかったり、大容量データの転送が遅い

数あるPaaSの中のHerokuの特徴

デプロイが簡単

  • gitのリモートレポジトリに追加してgit pushするだけでデプロイできる

アドオン追加

  • 現在約150種あるアドオン(いろんな会社から提供されているHerokuで使える追加機能)をコマンドで簡単に追加出来る

https://jp.heroku.com/elements/addons

アドオンの代表的なもの
  • DBのPostgres
  • メール配信サービスのSendGridなど

利用時の注意

  • 未認証アカウントの場合:無料 dyno 時間は 550 時間/月まで
  • クレジットカード登録をした場合:無料 dyno 時間としてさらに 450 時間/月が付与 = 1,000時間/月利用可能
  • 必要な RAM は 1 dyno あたり 512 MB

512MBを超えるとスワップが発生しR14エラーに

スワップとは・・
ハードディスクなど補助記憶装置を利用して使用可能なメモリ容量を増やすOSの機能のこと

一時的に立ち上がっているDynoの利用時間も換算される

Dynoがクラッシュしてもアプリに影響が出ないようにしている
→Dynoに直接コマンドを実行しても直接アクセスせずに、一時的に別のDynoを立ち上げてそこにアクセスしているので
そのサーバ利用時間もカウントされている

30分アクセスがないとスリープしてしまう

次にアクセスがあったときに Dyno を起動するのでレスポンスが遅くなる(アプリケーションの内容によっては30秒待たさせることも)

UptimeRobot(無料のネットワーク監視サービス)を使い5分ごとにアクセスすることでスリープを回避出来る

https://uptimerobot.com/

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした