こんにちは。 ゴールデンウィーク中に入籍をしましたおっぴーです。
Herokuさんも、Dockerが利用できるにようなったり、あたらしい料金体系が発表されたりと、驚きの(というか、影響が大きそうな)発表が多いですね。 すでに、Dockerや新料金については下記のように記事をまとめている方がいらしゃいます。
HerokuがDockerのサポートを開始、DockerコンテナがPaaSで運用管理可能に。その仕組みは
Herokuの新しいプライシングがついに公開。Freeは1日6時間以上Sleepする必要あり
そこで今日は、新料金について「結局、お得なんだろうか」という点と「こんなときどうな動きをするの?」という疑問についてまとめてみました。 疑問については、実際の調査はまだですので、少々、お待ちくださいませ。
いままでは無料でサイトを運用できたのに。。。
まずは、現状のdynoについて整理しましょう。 現状のdynoには下記の特長があります。
- 1X Dynoを750時間運用する分の料金が無料(750 dyno hourの無料利用枠)
- PXDyno以外では1Dynoで運用していると1時間非アクティブだとsleepする
この無料枠ですが、750時間を日付に換算すると31日分です。
このため、バットノウハウと言って良いかもしれませんが、1XDynoを1つだけ立ち上げて、定期的にアクセスをするcronなどを仕組むことでsleepさせず、 サイトを無料で運営することができました。
企業サイトのような比較的アクセス数が少ないサイト(そもそもサイトがそういう状態なのが問題だよね、と言うのは別の話)などは、こうした運営をしている方もいらっしゃるかも知れませんね。 僕自身は上記の方法で、営業日のみだけ定期的なスケジュール通知をしてくれるhubotを動作させています。
ちなみに今回、大きな影響を及ぼしているsleepという概念ですが、下記を読んでいたので、 単純に、アクセスが1時間ない場合に、dynoがsleepしている状態でもdyno hourを消費していると思っておりました。
https://devcenter.heroku.com/articles/usage-and-billing#dyno-sleeping
今回からはsleep=dyno hourの消費なし、という定義になったのか、など疑問点があるのですが、もはや利用しない概念になりそうなので調べるのも微妙ですね。。。
お安くなった?Professional Dyno
あたらしい料金の一番の違いは、いままであった750dyno hourの無料枠がなくなったことです。 このため、無料でサイト運用したいと考えた場合、適当な手段がなくなった、といえるでしょう。
ただし単純に価格が上がったわけではありません。 公式ブログでも30%ぐらい安くなったよ、書いてあるとおり、2Dyno構成の場合は従来よりもお安く運用できます。 ただし、750dyno hourの無料枠がなくなったので、1dynoの場合は実質の料金が上がっています。
- 1Dynoの構成の場合
Dyno Type | 現料金(750dyno hour の無料枠含む) | 新料金 |
---|---|---|
1X(Standartd-1X) | $0 | $25(3000円) |
2X(Standartd-2X) | $34.5(4140円) | $50(6000円) |
PX(Performance) | $538.50(64620円) | $500(60000円) |
(※円の表記は1ドルが120円の換算です)
- 2Dynoの構成の場合
Dyno Type | 現料金(750dyno hour の無料枠含む) | 新料金 |
---|---|---|
1X(Standartd-1X) | $34.50(4140円) | $50(6000円) |
2X(Standartd-2X) | $106.50(12780円) | $100(12000円) |
PX(Performance) | $1,114.50(133740円) | $1000(120000円) |
(※円の表記は1ドルが120円の換算です)
1Dynoの運用を考えると価格は上がったのですが、本番環境の冗長化を考える場合は、かならず2Dynoで動作させます。 このように考えると、Standar-1X Dyno以外は、本番の運用費用がさがった、といえる体系になったようです。
新しいfree dynoは開発・検証向き
今回の新料金ではDynoTypeが見直され、free dynoとhobby dynoが新たに加えられました。
free dynoはいままでのよう無料で運用できるweb dynoにくわえて、無料のworker dynoを含みます。 ただし、下記のような制限があるため無料で、24時間365日動かすようなサービスを運営できません。
- 30分、非アクティブの状態でSleepする
- 1日18時間までしか起動できない
- web dynoとworker dynoを1つだけしか起動できない
一方、hobbyは月額7ドル確実にかかるようになりました。 このため「無料」を利用の条件とすると選択肢から外れるdynoになってしまいました。 しかし、下記のような特長をもっているため、お安い料金で本番で利用できる環境を手に入れられます。
- 1Dynoでもsleepしない
- 24時間365日稼働する
また、free、hobbyともに、いままで課金の対象であったheroku schedulerで起動されるone-off dynoやheroku run bash で起動されるone-off dynoも無料になります。
個人的にはfree dynoはかなり嬉しいdynoですね。 web dynoにくわえて、worker dynoやheroku schedulerを利用すると無条件で課金されていましたが、そんなことを気にすることなく利用したアプリケーションを社内公開などができます。 また、スケジュールを通知するbotなど、営業時間のみ運用したい場合にも十分な利用ができそうです。
で、結局は
今回の新料金では、
- hobby dynoをつくり、Ping作戦などで無料利用していたユーザーがからしっかりとサービス提供分の料金を徴収するようにした
- free dynoをつくり、開発や検証で利用できる環境として利用できるようにした
- Performance dynoは本番運用を想定して、2Dyno構成でさらに低額で利用できるようにした
ということで、フリーミアム的なビジネスモデルから脱却し、しっかりと利用しているユーザーにお得な価格体系にきりかわった、と言えると思います。
一方で、いままで無料でサイト運営しているユーザーさんからすると「えっ!値上げ!」という感想になりそうですね。
ですが、hobby dyno に切り替えることを想定しても、小規模サイトを運用するPaaSとして7ドル、日本円で840円(1ドルが120円の換算です)で利用できるってかなりお得な気がします。
これってどうなるの?
ただし、新価格にともないでてきたDynoTypeについてはまだまだ挙動や仕様に謎が多いです。
- free dynoのsleep時間は選択できるのか。1日6時間のsleepを違反するとどうなるのか。
- free dyno でworker dynoやheroku schedulerを設定しているとsleepしたことになるのか。
- hobby dynoは再起動しちゃうのか。prebootができなそうだけど、その時どうなるのか。
- Professional dynoのworker dynoやone-off dynoの料金は無料になったのか。
これらの点は、近いうちに調査、検証して見たいと思います。