*この記事は Autify アドベントカレンダー2021 の8日目のエントリです。
この記事は先日公開された「Autify カスタマーサクセスチームが利用している業務ツールまとめ」のエンジニア版になります。コミュニケーションツール等はカスタマーサクセスチームと同じなのでこの記事ではプロダクト開発時に2021年12月時点で利用しているツールをご紹介します。
GitHub
説明は割愛します
CircleCI
基本的にCI/CDのパイプラインはCircleCIを利用しています。具体的には、コードの静的の解析、単体テストの実行、Autify の実行、Dockerイメージの作成とアップロード等に利用しています。
GitHub Actions
基本的にCI/CDのパイプラインはCircleCIを利用しています。GitHub ActionsではPRにラベルが付いているか確認したりリリースブランチを作成したり開発ワークフローにまつわる細かいことを自動化するために利用しています。
BentoML
BentoMLはモデルに対応するAPIエンドポイントを簡単に提供できるようにしてくれるツールです。MLチームはこのツールを近いアプリケーションチームがすばやくモデルを利用できるようにしています。
AWS
基本的に弊社のサービスはAWS上で動いています。具体的に利用しているサービスや用途については以下のプレゼン資料をを見ていただければと思います。
Heroku
一部のサービスで利用しています。やはりさくっとデプロイできるHerokuはとても便利ですね。
Codecov
コードカバレッジ測定ツールです。コードカバレッジは100%を目指すというよりはこのツールで行ごとのカバレッジを視覚化し重要な部分がカバーできているか?などを確認し日々テストを追加しています。
Sentry
エラートラッキングツールです。フロント、サーバサイドのすべてでこれを利用してエラーが発生した場合にSlackの特定チャンネルに通知をするようにしています。ただログ等に利用しているDatadogでもフロントのエラートラッキングができるので一部のプロジェクトではフロントだけDatadogで管理するようにしています。
Autify
Autify for Web, for Mobile ともに Autify for Web を利用してE2Eテストを行っています。テストはステージングにマージされるたびに自動で実行されるようになっています。また定期実行もしていて問題があればSlackに通知するようにしています。
Datadog
モニタリングツールです。かなり機能が豊富で弊社ではその中で、ログ、RUM、Session Replay, エラートラッキング、モニタリング、メトリクスを利用しています。
Statuspage
プロダクトの状況をユーザーに伝えるためのツールです。障害発生時などのワークフローをもと更新し顧客がプロダクトが正常に動作しているのか、何か問題が発生しているのか?問題が発生している場合どういう状況なのかを簡単に共有できるので便利です。
PagerDuty
インシデント管理ツールです。
ConfigCat
Feature Flagを管理するツールです。一部の顧客に限定的に機能を公開するときや、大きな変更で影響範囲が広い場合に、問題がないことを確認しながら段階的に全体に展開していくときに利用しています。
まとめ
理由がはっきりしていれば基本的にいろいろなツールを試すことができるので、新しいツールを触ることが好きな人には楽しい環境かなと思います。引き続き、プロダクト開発に集中するために、面倒なことはどんどん便利なツールに投げていきたいなと思います。