先日、ありがたいことに会社から参加費をいただいて、AWS re:Invent 2015に参加しました。大いに刺激を受けて、その一部が気づいたらソフトウェアとQiita記事に昇華していたので、この場を借りてご紹介させていただきます :bow:
紹介させていただくのは「サーバレスなSlackボットをAWS Lambdaでつくることができるライブラリ」です。
背景
クラウドワークスではチャットツールとして全社的にSlackを利用しています。
スタッフ間の情報共有はもちろん、
- GitHub
- GitLab
- Wercker
- Semaphore
- Datadog
- NewRelic
等、様々なWebサービスからの通知を集約する場所として、またボットやAPI、各種サービス連携を活用して、
などで便利に使っています。
ボットはhubotベースで開発しています。しかし、
- 諸事情によりEC2インスタンス上で24時間365日稼働させているため、負荷の割にサーバ費用がかさんでしまったり、
- 新しいエンジニアが開発に参加したいとき開発環境を準備するのが面倒(で、結果的に一部のエンジニアがボット担当、のようになってしまったり)
などの問題が発生していました。 方法はいくつかあると思いますが、例えばAWS Lambdaベースで動くボットがあれば解決しそう…ということで、Lambdaの新機能を使って実現してみました。
ソフトウェア
AWS Lambdaで動くボットを実装するためのOSSまたはnpmモジュールとして公開しています。
ソースコードはGitHubで、npmモジュールはnpmjs.comででそれぞれ公開しているので、興味のある方はぜひご覧ください。
Qiita記事
クラウドワークスのエンジニアはQiitaも利用しています。 技術的な記事は好みでQiitaに書くことも多いです。 今回の記事もQiitaで書いたので、詳しくはそちらをご覧ください!
Node.js - AWS LambdaでサーバレスなSlackボットをつくったよー(Scheduled Event対応・npmモジュールあり) - Qiita
まとめ
re:Invent 2015で発表された新機能を使った、サーバレスなSlackボットをつくるためのライブラリを開発し、その紹介記事を書きました。 できるだけサーバ保守などの手間をかけず、安価にSlackボットを運用したい方は、ぜひご活用ください!