はてなにおけるCloudNative推進会の活動について
こんにちは。
はてなでSREをやっているid:masayosu です。
この記事ははてなエンジニアAdvent Calendarの15日目のエントリです。
サブ会と呼ばれている組織の一つ、CloudNative推進会について紹介します。
サブ会について
はてなにはサブ会という集まりがあります。
サブ会というのは所属する組織とは別で、あるテーマに興味を持ったメンバーの集まりです。テーマに関わる知見を深めていくような活動を行い、その内容を社内に共有するような働きをするため会社公認の組織です。
サブ会には以下のようなメリットがあります。
- 予算要望をあげることができる
- 自分の興味あるテーマについて業務時間を利用して調査することができる
- 個人の成果目標の一部にサブ会での活動成果を含めることができる
個人調査やボランティア活動になりがちな活動の成果をフィードバックすることで会社に活動を認めてもらえるといった制度です。
CloudNative 推進会について
はてなの技術グループでは2019年からコンテナ化を推進していて、新旧さまざまなサービスをコンテナで運用するようになりました。CloudNative推進会は2019年に発足され、コンテナ化をサポートするための活動を継続して行っています。
はてな社内で課題となっているテーマを半期に一度選定して、技術グループのサポートとなるような成果物をアウトプットしています。
これまでの活動
活動テーマを選定するために社内のサービスチームのコンテナ化の現状をヒアリングました。そのヒアリングの結果と Cloud Native Trail Mapを見て、はてな技術グループの現在地を確認します。そして解決できたら一番嬉しい題材を半期のテーマとして選定します。
これまでの活動で、社内向けに出した成果物を3つ紹介していきます。
コンテナチェックリスト
コンテナチェックリストとはアプリケーションをコンテナ化する際のノウハウをチェックリスト形式でまとめたものです。
アプリケーション対応、Dockerfile、イメージ管理、CI/CD、オーケストレーション、モニタリング、ログといった項目毎にチェックリストを作成しています。
アーキテクチャの設計段階やリリース前のチェックとして各サービスチームに利用してもらっています。
CloudNative CI/CD
CI/CDの定義とそのプラクティスをまとめたドキュメントです。
CI/CDのShipプロセスを工程(ステージ)に分割して一般的なワークフローを提示しています。
ツールとしてのCI/CDの理解ではなく抽象度を上げて理解することで各ステージでの役割と責任範囲を明確にすることができました。適切な役割でステージを分割できるとリリースサイクルを早めたりリリースリスクが低減できるメリットがあります。
CloudNative Batch Processing
社内においてWebアプリケーションのコンテナ化についてはノウハウが蓄積されてきていたのでBatchに目を向けてノウハウををまとめました。CloudNativeな環境でBatchを動作させる場合、Batchアプリケーション以外の管理( Event Source, Monitoring, Storage, LogCollector)はプラットフォームが持つマネージドなサービスを頼ることができます。
ただ、それらのマネージドなサービスを利用する際に意識するポイントがいくつかあります。このあたりの話については先日のHatena Developpers BlogでもCloudNative推進会のメンバーでもある id:tkzwtksさんの記事でも触れられています。
まとめ
CloudNative推進会の活動について紹介しました。
CloudNative推進会は技術グループに所属する異なったロールのメンバーが集まるため、様々な技術ジャンルについて活発に議論できる場です。
これからも良い成果が出せるようにやっていくぞ!
さいごに
はてなでは全方位的にエンジニアを積極採用中です!
一緒にCloudNativeについて議論しましょう!
明日のはてなエンジニアAdvent Calendarは id:kouki_dan さんです。
宜しくお願いします!