HRMOS採用管理事業部プロダクト開発部(プラットフォーム基盤推進室)のtakakoです。
私は9月入社なのですが、Joinして二回合宿に参加させていただきました。そのうち開発合宿の方で、技術的負債の返却やサービスの導入検討をして成果発表までしたので、まとめました。
背景
SRE+DBAチームは緊急対応や割り込みタスクがすごく多く、がっつりとした開発時間が取れていませんでした。そこで合宿形式で、いつもと違う環境でリフレッシュしつつ、何者にも割り込まれない時間を確保し、がっつりアウトプットをだそう!という経緯でいってきました。
開発部署全員で行った訳ではなく、今回はSREチームをメインにアプリケーションエンジニア数名と、合計13人で箱根の大平台に合宿に行って来ました!
チーム
テーマ | チーム発足の理由 | ゴール |
---|---|---|
技術的負債を返却する | ||
アプリケーションの操作ログの仕組みを構築する | アプリケーションのログ出力内容にHTTPヘッダ情報を含めて、ユーザーがいつどこから何をしたのか簡単に分析できるようにしたい。 | アプリを利用したユーザーの操作ログの仕組みを検証する。 |
ElasticSearch 1.5 → 6.3 乗せ替え | 現状はEC2にElasticSearchを直接乗っけて3台構成で運用している。AWSのElasticSearch Serviceに移行してスケールイン・アウトできるようにして運用したい。 | ElasticSearch Serviceに乗せ替え。 |
Elasticache (memcached) のSPOFをなんとかする | ユーザーのセッション情報を格納している仕組みがよくない。 ・現状(memcached): ユーザ → Cache Cache飛ばすとセッション情報が消えてしまう。 ・理想(redis): ユーザ → Cache → (Cacheがなければ)永続層に取りに行く&Cacheにputする に構成変更したい。 |
セッションのキャッシュをRedisに乗せ替え。 Redisの理由は、memcachedと同様にインメモリ型のKVSで高速に動作する。… etc |
サービスの導入を検討する | ||
ログ解析の基盤のリプレースを検証 | Dev・ステージ・本番と同じfluentdを使ってしまっていたので、それを分割して影響を少なくしたい。 | 単純にfluentdを分割するより、CloudWatchLogsを利用して、各環境ごとにログを集計して可視化する。 |
AWSで起動させている定期バッチ (crawlerアプリ) のGCP乗せ替え検証 | 弊社はコンテナ化が進んでいて、ECSを利用していたが、k8sの方が運用が楽ではないかという話が上がった。 また社内でもk8s勉強会等をしており、そろそろ本番環境の移行検証してみて、知見を貯めたいというニーズがあった。 |
GPCのGKEでcrawler(本番)アプリを動かす。 |
グラフDB | グラフDBは、データとデータのつながりを表現できるDB。HRMOS(採用管理アプリ)のデータは、人と企業をつなぐデータ。 人と企業のつながりを可視化できると、レコメンドとかに使えてハッピーかも! |
ステージのデータを使用して、人と携わっている企業を可視化する。 |
私はGCPの乗せ替えチームに入りました!
スケジュール
~事前準備
1日目 移動日
- 16:00 到着
- 20:00 開発終了
- 夕ご飯
- 21:00 宿にシャワーしかなく、お風呂(温泉)を探す特殊ミッション発生
2日目 がっつり開発
- 09:00 朝会(進捗共有、方向性が変わったりヘルプが必要であれば伝える)
- 12:00 お昼休憩
- 15:00 中間報告(進捗共有、方向性が変わったりヘルプが必要であれば伝える)
- 20:00 開発終了
- 鍋開始
今後のビジョンを語ったり、UNOを始めたり、親睦を深める
3日目 成果発表、解散
- 06:00 ~ 09:00まで最後のあがき + 成果発表の資料作成
- 09:00 成果発表
発表10分、質疑応答5分、チーム切り替え5分 - 11:00 集合写真、解散
数日後 事業部全体に向けて成果発表
事前準備
チームごとに下記フォーマットで書き出して、他のチームに共有していざとなったらお互い助けあえるようにしていきました。
- やりたかったこと
- ゴール(Must/Want)
- やらないこと
- 現状把握
- 合宿に行くまで必要な準備
- 成果物の想定
私のチームはこんな感じです!
|
|
成果発表
技術的負債を返却する
- アプリケーションの操作ログの仕組みを構築する
|
|
- ElasticSearch 1.5 → 6.3 乗せ替え
|
|
- Elasticache (memcached) のSPOFをなんとかする
|
|
サービスの導入を検討する
- ログ解析の基盤のリプレースを検証
|
|
- AWSで起動させている定期バッチ (crawlerアプリ) のGCP乗せ替え検証
|
|
- グラフDB
|
|
写真
- 宿到着
とりあえず、欅坂観戦。
- 宿にはシャワーと一人用のお風呂しかなくググると22時まで入れる温泉が近くにあると思っていたが難しく、街の中で温泉を探していました。写真は登山列車道。
結局一部メンバーで箱根大平台から小田原まで登山列車に乗って入りに行きました。
帰りはタクシー。 - 思わぬ来客が。。
- 開発2日目
- 朝会
- 開発中
- 朝会
- 2日目はアルコール解禁、みんなでメンバーを褒め称えたり、チームの行く末を話しました。
- 最終日の発表の様子
まとめ
私は今回ビズリーチに入社して始めての開発合宿参加だったのですが、とても楽しくリフレッシュしながら開発をすることができました。全体的にも困ったらすぐ隣のチームに聞けたり、進捗がわかるので良い意味で煽り合いながらできました。
ただ私が携わったチーム的には不完全燃焼というか成果発表でやりきれなくて悔しいねという振り返りになってしまったので、次回の開発合宿ではもう少し事前準備とドメイン共有に割きたいです。