Edited at

【定番】 新しいWebサービスを開発・運営するときに使いたいサービス 【2016年末版】

More than 1 year has passed since last update.

トレタ アドベントカレンダー3日目担当の増井です。

最近、新しいサービスリリースに少し関わることがあり、そこに向けてオススメした開発で役に立つサービスをここでもまとめてみることにしました。

私が、実際にトレタやキタヨンを作るときに使ったサービスを中心に上げています。特に使った方がいいサービスには [必須]を書いてみました。

他にもオススメのサービスがあったら、コメントで教えていただけると嬉しいです!


開発


BrowserStack [必須]

https://www.browserstack.com

http://qiita.com/tags/BrowserStack

言うなら"Browser as a service"。色々なブラウザをリモートで操作してWebの動作確認をしたり、指定したURLのスクリーンショットを多種多様なブラウザで撮ってきてくれるサービス。

Chrome Extensionを入れることで、localhostで動いているページもスクリーンショットが撮影可能。

Selenium Remoteと連携することで、複数のブラウザでの自動テストも行える。

Webページを開発するときには必須のサービスです。

https://gyazo.com/049864e57c6e77c5beff49afa72c85fd


CircleCI [必須]

https://circleci.com

http://qiita.com/tags/CircleCI

言わずと知れたCIサービス。テストの自動実行は最低実行しておかないと後々つらいので必ずテストコードとCIはリリース前に回しましょう。

いろいろなCIサービスがあるけど、とりあえず実績やノウハウの多いCircleCIはハズレなし。OSX HostもありiOSのビルドなどもできるし。


SideCI

https://sideci.com

http://qiita.com/tags/SideCI

コードの品質を担保する様々なLinterを実行してくれるサービス。

.rubocop などの設定がちょっとめんどくさいけど、最初から入れて綺麗なコードを書くのを癖にしておくのがオススメ。汚いコードを直すPull Requestを勝手に作ってくれたりもします。


ペライチ

https://peraichi.com

サービスを作ったら説明のページなどを作る必要がありますが、そこにあまりリソースは避けない!という場合には、簡単にページを作れるペライチがオススメ。とりあえずこれで運用して、もっと高度なことがやりたくなったらイチから製作してもいいかも。

https://gyazo.com/34ef555c2b6207692654c200952021b7


Gyazo

https://gyazo.com/

スクリーンショットをクラウド管理するサービス。

サービス作成をしているとデザインや文言指示など、スクリーンショットを起点に話をすることが増えてますが、とっちらかりがちなスクリーンショットの管理や、コメントを入れるのを一括して管理できるGyazoの導入がオススメです。


サーバ運用


NewRelic [必須]

https://newrelic.com

http://qiita.com/tags/newrelic

RailsやPHP, Javaなど多様なアプリケーションサーバの監視を行ってくれるサービス。フレームワークごとにプラグインが用意されているので簡単にインストール可能。

レスポンスタイムやエラーのトレースなどの収集だけでなく、遅いSQLやメソッドの発見などパフォーマンス改善やバグ修正にも多大なる威力を発揮します。

プロダクションでしか再現しない問題を追うときには非常に便利なので絶対オススメ。ちょっと高いけど、リリース後の数ヶ月だけでも入れるといいです。


Pingdom + Pagerduty [必須]

https://www.pingdom.com

https://www.pagerduty.com

http://qiita.com/tags/pingdom

サーバの死活監視ツールのPingdomと、電話などへ通知してくれるPagerdutyの組み合わせ。

サーバの返答がなくなると電話で連絡がきます。これで寝ていても大丈夫!

サーバの状態だけでなく、上流回線やDNS、SSLなどの問題でサービスできない時にも通知が来るのてサービスの可用性を上げたい時には必須。


mackerel + Pagerduty

https://mackerel.io

https://www.pagerduty.com

http://qiita.com/tags/Mackerel

メモリやディスク、プロセス状態など、サーバの中の情報を収集して記録や監視をするmackerelと、異常時に通知をしてくれるPagerdutyのセット。

ディスクの残量が少ないとか、実際にサービが止まる前に警告が出るので、サービス公開時には設定できなくても、すぐ設定しておきたいところ。


fluentd + BigQuery

http://www.fluentd.org/

https://cloud.google.com/bigquery/

http://qiita.com/tags/fluentd

http://qiita.com/tags/bigquery

ログ収集ツールのfluentdと、データ解析ツールのBigQueryの組み合わせ。

アクセスログは後で解析できるようにfluentdでまとめて、BigQueryに入れておくのがオススメです。httpdのログにログインしているユーザ名などを入れておけば、後で時間帯別ユニークユーザ数を調べたり、障害時の問題範囲を特定するのに役立ちます。fluentdはサービスではありませんが組み合わせて使うととても便利なのでここに上げておきました。