mimemoがどうやって動いているか #mimemo #dev #heroku version 4

2016/05/25 02:49 by hiro_y hiro_y
  :追加された部分   :削除された部分
(差分が大きい場合、文字単位では表示しません)
mimemoがどうやって動いているか #mimemo #dev #heroku
[mimemo - 10mado | StackShare](http://stackshare.io/10mado/mimemo) にまとめてある通り。

## 開発ツールとか

- 開発言語: Node.js(4系)
  - 5系ではなくLTSなほうを
- フレームワーク: [Express](http://expressjs.com/)
- テンプレートエンジン: [Nunjucks](https://mozilla.github.io/nunjucks/)
- Herokuの構成管理: [Terraform](https://www.terraform.io/)
  - add-onについてはherokuコマンドで管理している
  - 理由はadd-onのプラン変更をterraformでスムーズに行えないケースがあるため
  - なので使っている一番の理由はconfig、つまり環境変数の管理用
  - remoteとしてAmazon S3を利用している
- フロンエンド開発タスクランナー: [gulp.js](http://gulpjs.com/)
- フロンエンド開発タスクランナー: [gulp.js](http://gulpjs.com/)
- Markdownパーサー: [markdown-it](https://github.com/markdown-it/markdown-it)

## サーバーとかインフラ面

- サーバー: [Heroku](https://www.heroku.com/home)
  - 1 Dyno
- データベース: [Heroku Postgres(Heroku add-on)](https://elements.heroku.com/addons/heroku-postgresql)
- セッションストレージ&時限ストレージ: [Redis Cloud(Heroku add-on)](https://elements.heroku.com/addons/rediscloud)
  - [Heroku Redis](https://elements.heroku.com/addons/heroku-redis)を使っていないのは無料の範囲で使える容量に差があるため
- メール送信: [SendGrid](https://sendgrid.com)
  - 他のサービス・案件でも利用しているのでHeroku add-onとしてではない利用
- 画像のストレージおよび配信: Amazon S3
  - 東京リージョン
  - 画像をメモに添付する際はS3にダイレクトアップロードしている
- 定期実行: [Heroku Scheduler(Heroku add-on)](https://elements.heroku.com/addons/scheduler)
- DNS: [DNSimple](https://dnsimple.com)
  - HerokuでNaked domainを扱うため
- ログの収集と管理: [Papertrail(Heroku add-on)](https://elements.heroku.com/addons/papertrail)
  - エラーとかHeroku SchedulerのログをSlackに通知するようにしている
- モニタリング: [Librato(Heroku add-on)](https://elements.heroku.com/addons/librato)
  - お手軽
- 外形監視: [Uptime Robot](https://uptimerobot.com/)
  - ページのレスポンス監視ができる      

mimemo - 10mado | StackShare にまとめてある通り。

開発ツールとか

  • 開発言語: Node.js(4系)
    • 5系ではなくLTSなほうを
  • フレームワーク: Express
  • テンプレートエンジン: Nunjucks
  • Herokuの構成管理: Terraform
    • add-onについてはherokuコマンドで管理している
    • 理由はadd-onのプラン変更をterraformでスムーズに行えないケースがあるため
    • なので使っている一番の理由はconfig、つまり環境変数の管理用
    • remoteとしてAmazon S3を利用している
  • フロントエンド開発タスクランナー: gulp.js
  • Markdownパーサー: markdown-it

サーバーとかインフラ面