ボクココ

サービス開発を成功させるまでの歩み

Heroku Strike のイベントに行ってきたレポ

ども、@kimihom です。

Heroku UG で定期的に開催している Heroku Meetup に行ってきたのでそのレポ。今回はがっつり Heroku を使っている方々の運用事例だったり、Heroku を選択する理由、Heroku の最新機能など盛りだくさんの内容だったのでブログに書くしかないと感じたので早速記事にする。

Heroku Meetup #17 Heroku Strike - Japan Heroku User Group | Doorkeeper

Node.js や PHP でもこわくない Heroku

まずはお世話になっている 10madoの山岡さんの登壇。ちょっと前までは “Heroku = Ruby” な印象が強かったけど、今では Node.js や PHP でも不自由なく使えるようになっていて、実際に 別言語プラットフォームで運用している事例を紹介していただいた。

個人的には山岡さんの Google Form x Slack 通知周りでとてもお世話になった記事があって、今回も Google Analytics から Slack 通知の運用をされているってことで、そこに興味を持った(Heroku は関係ないw)。いつか記事にしてくれるみたいなのでとても楽しみ。

あとは Terraform で環境設定をコード化したり、死活監視に Uptime Robot を使っていたりしていたのが独特な感じがした。インフラ管理周りは個人的にほとんど詳しくなく、名前しか聞いたことないレベルだったので調べてみよう。

そして最後の言葉がぐさっときた。"Heroku に委ねた結果試行錯誤が減る。" これは次の発表にもつながってくるワードだった。

スタートアップのインフラ選び(仮)

続いて crispy の高丸さんの登壇。高丸さんも個人的にとてもお世話になっている方でインフラもわかるアプリケーションエンジニアって感じの凄腕エンジニアだ。

私からすると、昔から Heroku 一択で他の選択肢はちょろっと見るだけで ほとんど比較することもなかったんだけど、具体的にそれぞれのプラットフォームを比較した上で、なぜ最終的に Heroku を選んだかという内容だった。

0->1のフェーズであなたならどうしますか?って部分は考え方が似ている部分が多くて安心した。私も Heroku x Rails な構成でいかに早く顧客に価値を提供するかを考えていたので、やはり Heroku はそういった場合に有用になるはずだ。

今は少人数の開発だから一番シンプルな形でなんとかなっているけど、今後規模が大きくなったり、人数が増えてきたりした時のことまで考えていたのがさすがだった。Heroku 一択な状態というよりかは、Docker コンテナをうまく活用してチームで分業できるような体制などを検討しておかないと、今後の成長スピードを技術的負債で一気に遅める危険性もある。(まさにp40の件) 自分のサービスは新規開発って意味では落ち着いてきたフェーズに入るので、この部分もうちょい勉強して検討していかないとな~。

受託案件での Heroku 運用

受託開発で Heroku を用いてやられている tambourine さん。いつも TAM さんの会場提供してもらってお世話になってる。安部さんからは Heroku Pipeline や Heroku CI などを用いたクールな Heroku 運用事例を紹介していただいた。

個人的にもこの運用方法はとても興味があったんだけど、Github 限定ってことで Bitbucket ユーザーの自分にはなかなか手が出せないところを、ちゃんと使えばこんなことまでできる!って具合で解説してくれた。

開発中にレビューしたり、本番でトラブった時にすぐに戻せるような状態にしたり、Hotfix ブランチで速攻直して本番反映したりといった流れはよくあると思う。これらを Heroku Pipeline でどう実現するか図でわかりやすく説明していただいた。

自分があーだこーだいうより資料見たほうがいい説明されてるので、是非読んでみてほしい。

Heroku の細かすぎて伝わらない最新情報

最後は岡本さんより最新情報。

4つの新機能ってことで、JVM Metrics, Release Phase, DNS Service Discovery, Heroku Shield を紹介していただいた。Java ユーザーに嬉しい JVM Metrics は、 Librato のようなメトリクスツールに表示させたり、Heroku 本体のメトリクスに表示させたりすることができるようになる模様。今後 Java だけでなく他の言語にも対応されるってことで、こういうメトリクス系が増えるのは原因を特定する上でありがたいのでどんどん出てきてほしいと思った。

Release Phase は CDN の更新とかを中心にデプロイの度に何かしたい時にコードを実行できる仕組み。git push heroku master をした後に必ず毎回何かコマンドを実行しているような人にとってはありがたい機能になるだろう。

LT 話してきました

Heroku Support についてと Aistein Vision についてのLT、そして私の Heroku HQ にいった話の3本立てだった。

Heroku Postgres は Heroku を使っている方ならほとんどが使うアドオンだろう。そこで気になるプランの使い分けや、Follower に関しての疑問に答えていただいたのでその知見だけサクッと共有した。 他にも Postgres の運用についてアドバイスをいただいたりしたんだけど、そこは Heroku とは直接関係ないので割愛(LTだし)。また機会があればそこのところについては記事にしようと思う。 とにかく SF 出張、刺激を受けて楽しかったっす。また来年も行けたらいきたい。

終わりに

今回の Heroku Strike はコンテンツ的にかなり注目な内容ばかりで面白かった。何より登壇いただいたお二人は私からのラブコールで実現したってのでとても嬉しかったし、期待通りの発表をしていただいた。そういうのもコミュニティをやっていると得られるものだと思うので、今後ともコミュニティ活動も積極的に関わっていきたい。