serverless architectureでajitoのサービス稼働確認ページを作成してみた

voyagegroup advent calendar 記事として投稿しています。

techlog.voyagegroup.com

はじめに

こんにちは サービス監視していますか?

サービス監視といえば、開発者の方は直接のアラート対応を想起される方が多いかと思います。 このエントリでは、サービスが正常に稼働しているかのモニタリング方法や、リカバリの対応ではなく、 サービスが正常に稼働している(or していないこと)をユーザーにお知らせするサービス稼働確認ページ(以下statusページ)について書こうと思います。

statusページといえば、私自身GitHubが調子悪いときによくお世話になります。

世の中(twitter)では, https://status.github.com/ページできちんと確認を行った上で、皆さん休憩をとったり、自己の鍛錬に励む人々も多い模様です。 ( 決してサボっているとはいっt)

GitHub おちた - Twitter Search

さて、今回statusページの対象として、voyagegroupの社内BAR ajitoのサービス稼働状況を確認できるサービスをつくってみました。
(中の人はもちろん社内にいるので外から使われるといいなと思ってつくってみました。)

構成

f:id:chocopie116:20161212024229p:plain オーソドックスなものでhow to 記事に関してはインターネットに記事がたくさんあるので、解説はそちらにおまかせいたします。

デモ

status.ajito.vg f:id:chocopie116:20161212025333p:plain

(※ 簡易なつくりなので、こちらの都合でサイトを落とすかもしれません。ご了承ください。)

サイトでできること

  • ajitoの稼働状況がわかります。
  • 任意のタイミングでajitoの稼働状況を尋ねることができます。
  • 状況が更新されるので、ajitoがあいていれば遊びにきていただくことが可能です。

裏側の話

  • ajitoの稼働状況の更新は、オペレーターによる温かみのある更新(※1)
    • slackで人力運y です。
  • API GatewayとLambdaでサクッとhttpのAPIがつくれた。httpのAPIがあると便利。

今後試したいこと

  • Lambdaそのもののモニタリング
    • CloudWatchとかでうまくやれるのかもしれません。
  • ハードウェアとか使って機械的にajitoの稼働状況をモニタリングしたい
  • API Gateway, Lambdaの構成管理・デプロイを楽に
  • node.jsでAPI書きたくない
  • フロントエンド周りのよいプラクティスにそった書き方

今回作成したアプリケーションのリポジトリはこちらになります。

github.com

最後までお読みいただいた方ありがとうございました。
ajitoにいってみたいなと思う方は、ぜひ気軽にstatus.ajito.vgでping送ってみてください\(^o^)/