2021年6月のふりかえりです。 引き続き B 社(週5日)にて Rails 製の EC サイトの開発業務と Engineering Manager / Scrum Master 業務に携わっています。

6 月はマネジメント 7 割、プレイヤー 3 割といった割合で対応していました。

マネジメント系

  • 7 月から FY2022 年度がはじまるわけですが、それに向けて中長期計画を作りました。今回は新たにコスト面について明確化してみました。
    • FY2022〜2023 の 2 年分をひとまず描いてみまして、予算感・規模感をみながらボードメンバーとお話する予定です。(7月上旬)
      • 9 ヶ月ほど開発組織を回して蓄積してきた様々な実績値を元にしつつ、規模感を出していく前提で描いた感じです。
    • システムアーキテクチャの方向性は 4 月に半年分で描いているので引き続きやっていく感じです。
  • いろいろな媒体で採用を強化していました。
    • Tech Blog の記事 を書いて Publish しました。
    • デザイナー採用イベントへの登壇や、各種媒体の強化を継続しています。リファラルも強化中。
    • めちゃくちゃ書類選考しました。採用系ドキュメントもいっぱい整理・記述しました。
    • 7 月から稼働してくれる一人目の UI/UX デザイナーが採用できました!待望!
  • 会社全体として人員増加中で、Slack が混沌としてきてメンション厳しい系のあるあるな問題がでてきたのでガイドライン作成に動きました。
    • ぼくがたたき台を作って、人事にこういうイメージで〜と投げたら 2 週間後には完璧なガイドラインになって Publish されました。最高すぎる。
  • セキュリティ面の強化を継続して進めていますが、散発的な感じになっているのがイマイチだなぁ〜体系的に取り組みたいな〜とずっと考えていたので、 CISOハンドブック を参考にしながら整理を開始しました。
    • 7 月中くらいにたたき台になる資料をかきあげたいなと思っております。

プレイヤー系

  • delayed_job 撤去
    • ActiveJob のデフォルトを Sidekiq にしました
    • delayed_job 関連のコード・テーブル・Datadog 設定など全部消してやりきりました〜!
  • RDS => Aurora 移行
    • 検証用環境で移行に必要になる、パラメータグループの設定値づくりや移行実験、手順づくりなどを進めました
      • 関連して、AWS VPN を使ってみましたが Public な固定 IP を使いたいだけという用途にあわなかったので、普通に SaaS な VPN ( Express VPN )を契約して使い始めました。(一時的に使う想定)
    • RDS => Aurora 移行 + Rails あるあるかなと思いますが、Fail over 対応のため Connection Pooling をやめました。
    • 実際の移行はもろもろ調整した結果 7 月頭にずれ込みました
  • レポートデータ作成処理の高速化
    • 深夜のうちに Redash で使うためのデータを作るのですが、それが業務開始までに終わらず色々問題が起きたので並列化して高速化しました
      • 最初原因がわからなくて Redash がもうダメかもしれないという気持ちになって Tableau を触ってみたりしました。
    • 今のところは回避できていますが、延命による猶予はそれほどないなという感じなので抜本対応を先にやらないといけなそうです
    • Aurora 化でもうちょい延命できるかも?要確認ですね。
  • インフラ・ツール等のコスト面の見直しを行いました。
    • ちょっと高止まり気味になっていたので、AWS の Saving Plans を追加購入したのと、Datadog の Pricing 見直しを行いました。
    • 10% くらい安くできるイメージになりました。
  • コードの書き方のガイドラインを作り始めました。
    • コードの書き方については中長期の案件にも入れていて大事だと思っていました。
    • どういう方向性にするべきか悩んでいましたが、Sprint Retrospective でちょうどいい Try になったので一つ目のガイドラインとして提示できました。
    • ちゃんと育てていきたいです。
  • お問い合わせを Datadog に連携する仕組みを作りました。
    • CS や社内の業務を行っていく中ででてくる Issue がかなりの数あり、それを可視化したいよねという課題感がありました。
    • 元々 Slack で特定チャネルでメッセージ投稿 => Github Issue という流れで連携していましたが、これをさらに Datadog の Github Integration で Datadog に流し込むようにしました。
    • Datadog 上では Event Stream として連携されるので、これを Dashboard にして様子を見ている感じです。
      • なんとなく日々の状況は見えるようになりました。
      • ただ、Metrics になっていないので中長期での状況の遷移を観測できないという課題があり追って対応予定です。
  • Redash が不安定な件の抜本対応を行っています。
    • ぼくは主担当ではなく他のエンジニアがやってくれてます。
    • 元々 dokku + redash V4 という構成で、謎技術 + 古の技術 + ドキュメントなしという状況でどうにもならない感じだった上によく問題が起きていたので本腰を入れ始めました。
    • 6 月末時点で、dokku PostgreSQL => Aurora PostgreSQL、dokku Redis => ElastiCache Redis、dokku => docker-compose、Redash V4 => V7 移行まで完了しています。
    • タイミング的に RDS => Aurora 移行も並行してやっているので、Production RDS MySQL の Read Replica としてインスタンスが稼働中の Aurora MySQL をデータソースにして検証中です。
  • AWS のサービス更新通知(セキュリティパッチとかの通知)を Slack に投げ込むための対応を行いました。
    • AWS Console に出てても全然気づけないに決まっているので Push しようということですね。
    • AWS Personal Health Dashboard => CloudWatch Event => SNS => Chatbot => Slack という経路にしました。AWS ドキュメントのとおりですね。

おわり