こんにちは、 @ma3tk です。
この記事は Findy Advent Calendar 16日目の記事です。
今日は Findy で 2 サービスリリースした時に開発していて感じた事について書きたいと思います。
目次
B2B サービスの場合、Heroku で事足りる
思いっきり結論書いてますが、これが言いたいことです。
資金が潤沢にない、サービス開発する上でなるべくつまづきを減らしてスピード重視でリリースしたい場合、Heroku が一番やりやすいと思います。
何故 Heroku でいいのか
理由としては以下のとおりです。
- 設定からデプロイまでが VPS や AWS と比べると圧倒的に楽
- デプロイ時間が少ない
- 簡単なアプリケーションであれば躓くポイントが少ない
- Add-on による連携がすぐにできるため、サービスをすぐに構築できる
設定からデプロイまでが VPS や AWS と比べると圧倒的に楽
どうしても今までサービスを出すとなるとサーバに SSH で入って細かい設定をしていかないといけませんでしたが、 Heroku の場合この部分を吸収してくれているため、必要最小限の設定のみで済みます。
デプロイするまでにするのは Heroku アカウントの取得と git の簡単な設定くらいですね。
デプロイ時間が少ない
設定後、git push heroku master してかかる時間は最短で30秒弱。 docker などを使っていると時間がかかってしまいますが、仮説検証をするための初期プロダクト規模であればデプロイ時間も短く、バグの改修をする際に即時サービスに反映させることが出来るのは魅力的です。
スタートアップとしてサービスを提供するとどうしてもスピードのほうが重要視されるため、リリースの頻度も多くなります。サーバの管理も簡略化しデプロイも最小限にすることで実現が可能になります。
簡単なアプリケーションであれば躓くポイントが少ない
これはメリットでも有りデメリットでもありますが、 Heroku 特有の挙動があったり、特別な変数設定が必要になるケースがたまに出てきます。
しかしながら、初期の段階で複雑な事をしなければ特に問題なく動作します。複雑なことというのは例えば内部でアプリケーションを同居させるだとか、Nginx や Apache などの機能で HTTP サーバの構成を変えるなどの要件が出てくるときです。
こういう場合 Heroku だけだと徐々に難しくなりますが、そこまで行ったら AWS などに乗り換えるなどで対応するといいと思います。
Add-on による連携がすぐにできるため、サービスをすぐに構築できる
弊社でも B2B のサービスは Heroku を使って提供しています。
サービス上で使っているものとしては、ClearDB MySQL、New Relic APM、Papertrail、PointDNS、SendGrid などです。
これらのサービスが安価に使え、かつ勝手にサービスに紐付けてくれるため初期設定やサービスへの組み込みが圧倒的に楽です。
Heroku で作ろう
以上、B2B サービスを Heroku で作る意義について紹介してみました。
他にもオートスケールや HTTPS の提供などもあり徐々に Heroku が便利になってきています。
B2C 向けのサービスとして作る場合でもサービスが大きくなるまでは Heroku で十分かもしれませんね。
他のエンジニアと相談しながらプラットフォームを決定するといいと思います。
読んで頂きありがとうございました! 宜しければ、エンジニアの皆様はFindyでご自身のスキル偏差値を測定してみてください。
[正社員の方]
ハイスキルなエンジニアのプレミアム転職サービス Findy
[フリーランスの方]
フリーランス・副業エンジニア向けの単価保証型の案件紹介サービス Findy Freelance
また、Findyでは年齢や勤務形態を問わず、様々な働き方で採用をしています。興味のある方は、こちらからご応募どうぞ!
東京大学 情報理工学系研究科 創造情報学専攻(*)卒業後、グリーに入社し、フルスタックエンジニアとして勤務する。2016年6月にファインディ立上げに伴い取締役CTO就任。
*大学院では、稲葉真理研究室に所属。過去10年分の論文に対し論文間の類似度を、自然言語処理やデータマイニングにより内容の解析を定量的・定性的に行うことで算出する論文を執筆。