2018-12-20に更新

マルチクラウド環境で低コストに始める個人開発

こちらは、 個人開発サービスに用いられている技術 Advent Calendar 2018 の16日目の記事です。前日は、 @SugiKent さんによる GoogleAnalyticsはセグメントを切ってから本気 でした。

サービスについて

roastery.jp という、コーヒー豆の焙煎所検索サービスを運営しています。

Screen Shot 2018-12-17 at 21.10.35.png

残念ながら現状1円も生み出せていない状況ですので、レイテンシよりも安く運営することに重点を置き、常により良い方法を模索しています。現在の構成は下記の通りです。

現在の構成

種別 サービス 価格(月額)
Domain Registration ムームードメイン ¥152 (年額¥1,825を12ヶ月で割った額で計算)
DNS Cloudflare $0
Application Server Heroku ¥794 (7USD。1USD=113.4JPYで計算)
Database Server JawsDB $0 (Heroku 経由での申し込み)
Storage Server Google Cloud Storage $0
Application Performance Monitoring New Relic $0 (Heroku 経由での申し込み)
Error Tracking Sentry $0 (Heroku 経由での申し込み)
Mail Server G Suite ¥500 (年額¥6,000を12ヶ月で割った額で計算)
合計 --- ¥1,446

改善案1

今回の記事を書くにあたり、いつの間にか Google Domains が .jp ドメインに対応していたことを知りました。Google Domains を利用することで G Suite が無料で使えるようになるので、こうなります。(無料/変更のないものは割愛)

種別 サービス 価格(月額)
Domain Registration Google Domains ¥375 (年額¥4,500を12ヶ月で割った額で計算)
Application Server Heroku ¥794 (7USD。1USD=113.4JPYで計算)
Mail Server G Suite ¥0
合計 --- ¥1,169

改善案2

Mail Server に、ムームードメインが提供するムームーメールを利用することでコストを下げられます。
実は、途中までムームーメールを利用していましたが、泣く泣く利用を諦めていました。

以前、Object Storage として、DigitalOcean が提供する Spaces というサービスを利用していたのですが、画像の表示速度が遅かったため、CDN を挟むことで解決を試みました。その時に選んだのが、Cloudflare でした。Cloudflare を使うために、DNSも変更する必要があったのですが、ムームーメールは、ムームードメインが提供するムームー DNS 経由でしか利用できないことが発覚。悩んだ末、ムームーメルを諦め、G Suite を契約しました。

結局、その後に Google Cloud Storage であれば 5GB まで無料であることを知り移行したのですが、後に Space に Built-in の CDN が入るというニュースが飛び込んできた時は少し残念な気持ちになりました。

その他、ムームー DNS を使うデメリットに ALIAS レコードが設定できないため、Heroku でホスティングする場合 root domain が設定できないという問題があったのですが、こちらも現在は解消されています。

G Suite の代わりにムームーメールを使うとこうなります。(無料のものは割愛)

種別 サービス 価格(月額)
Domain Registration ムームードメイン ¥152 (年額¥1,825を12ヶ月で割った額で計算)
Application Server Heroku ¥794 (7USD。1USD=113.4JPYで計算)
Mail Server ムームーメール ¥54 (年額¥648を12ヶ月で割った額で計算)
合計 --- ¥1,000

Cloudflare DNS とムームー DNS を比較し、パフォーマンスに差異がなければこの構成に戻すのもありですね。

2019年に向けたインフラ構成

今後、 roastery.jp はコーヒー豆の共同購入サイトとして生まれ変わる予定です。トランザクション量が増えてくると、最初にボトルネックとなりそうなのが Database Server です。Heroku の add-on として提供されているのは 5MB までが無料のプランです。しかし、自分で管理するのも面倒なので ConoHa の提供する DBサーバ が良さそうだと思っています。

そうすると、Heroku を使い続けるメリットが薄れてくるので、Application Server もこのタイミングで移行先を検討するのが良さそうです。Vultr がずっと気になっているので使ってみたいです。

また、 Google Cloud Storage も 5GB までが無料なので、移行先を検討する必要がありそうです。Amazon S3 も魅力的なのですが、あらかじめ料金が見積もりづらく、個人で使うには少し不安です。Spaces on DigitalOcean に戻るのことを検討してみたいです。

よって、このような構成になるかと思います。

種別 サービス 価格(月額)
Domain Registration ムームードメイン ¥152 (年額¥1,825を12ヶ月で割った額で計算)
DNS ムームDNS $0 (ムームードメインの付属品)
Application Server Vultr ¥397 (3.5USD。1USD=113.4JPYで計算)
Database Server ConoHa DBサーバ ¥500
Storage Server Spaces on DigitalOcean ¥567 (5USD。1USD=113.4JPYで計算)
Application Performance Monitoring New Relic Essentials (無料) プランで様子見
Error Tracking Sentry Developer (無料) プランで様子見
Mail Server ムームーメール ¥54 (年額¥648を12ヶ月で割った額で計算)
合計 --- ¥1,670

現在の構成よりも ¥224 のコストアップで抑えられそうです。また、現在の構成は US リージョンに固まっているのですが、日本/シンガポールとアジア圏にまとめられそうで、レイテンシを抑える効果も期待できそうです。

来年は個人サービスで1円以上稼ぐことを目標に頑張ります!

まとめ

現状を整理することで、コスト削減の見通しが立ち、お正月休みの宿題もできました。Advent Calendar っていいですね。

明日は @__shinji__ さんです。お楽しみに〜。


tetsuya

👨‍💻 ruby/rails; ♥ internet & ☕️; working on @roastery_jp

Crieitは個人で開発中です。 興味がある方は是非記事の投稿をお願いします! どんな軽い内容でも嬉しいです。
なぜCrieitを作ろうと思ったか

また、「こんな記事が読みたいけど見つからない!」という方は是非記事投稿リクエストボードへ!

こじんまりと作業ログやメモ、進捗を書き残しておきたい方はボード機能をご利用ください!

ボードとは?

コメント