2021年はエンジニアとして3年目、COVID-19の世界的なパンデミックは次々と出現する変異株により引き続き続いており、リモートワークメインな年でした。 個人的にはバックエンドエンジニアからSREへの転向を行い、キャリアの転機となる年でもありました。

1-3月

1月からSREを兼務開始

このくらいからSREとバックエンドの兼務を始めました。

SREとしては、

  • k8sの権限周りのIRSAの検証

    これはけっこう複雑で難しかったですね。IRSAだけでなく、external secretの検証も兼ねていたので一緒にうまく動くようにするのに苦戦しました。

  • ECSの環境構築

  • VPAによる推奨リソース値の可視化の検証と導入

    導入したものの活用できていないのでDatadogとうまく連携して活用したいと思っています。

  • 諸々SREに来る依頼

などをやっていました。k8s系の検証結果はまだ本番で活用できていないのでやっていきたいです。

バックエンドエンジニアとしては、

  • CS業務支援を目的とした自社サービスの一括操作系の開発

    ここでマイクロサービスの実装方針として複雑性を抑えるためにAPIのバージョニングを基本しないように後方互換性をもって作ることにしたり、それに沿ってリファクタリングや使われていないバージョンの実装を削除したりしました。

  • Go 1.16で入ったembedを使ってファイル埋め込みをすることにより依存ツールを減らす

    特にGoの更新は日々追っていて、便利なものが入ったら試して有用なら取り入れる活動をしています。

などをやっていました。マイクロサービスは日々変更が加えられ複雑になっていきがちなので複雑性を抑える努力も同時に必要だなと感じています。

4-6月

SREとしては、

  • Kubernetes Secrets Store CSI DriverとAWSのSecrets ManagerやParameter Storeが連携できるようになったのでその検証

    これは機密情報を管理するのにシンプルにできてよさそうでした。まだ本番導入していませんが、うまく動くのが確認できたので必要になったら導入しようと思っています。

  • ローカル開発環境で使用しているTelepresenceのバージョン2の検証と導入

    これは最初機能が足りていなくて運用するには厳しかったのですが、コミュニティのslackで質問したり機能追加アップデートがあったりして開発で使用できるようになりました。 これに関してはTelepresence2へ移行するためにやったことという記事も書きました。使い方を考案して社内ハンズオンもやりました。

  • EKSアップデートの準備

    システムコンポーネントのアップデートと検証など。

などをやっていました。 Kubernetes Secrets Store CSI DriverとAWSの連携はやっていきたいです。

バックエンドエンジニアとしては、

  • サービスの医療機関向け発注機能の追加
  • サービスの発注機能の発注条件の追加

などをやっていました。 この時期はこれらの機能開発に一番時間を使いました。

7-12月

SREとしては、

  • サーバーのSLOを観測できるようにする

  • SREのミッション、役割を明文化

    SREが運用組織のようになっていたことに対する問題提起と議論を主導し、未定義だったミッション、役割とあるべき姿を明文化しました。また、11月からは正式にバックエンドエンジニアからSREに異動し、SREとしての活動を本格化させています。 転向しましたブログも書きました

  • プロダクションレディネスチェックリストの作成

  • プロダクトエンゲージメントモデルの構築

などをやっていました。この後半でSREとしての動きを本格化させていきました。

バックエンドエンジニアとしては、

  • ローカル前提のテストをGithub Actionsで通るようにする実装
  • moqを用いたインフラ層をモックしたテストの導入
  • Github Actionsでの自動linter,コメントの導入
  • Github Actionsでの自動テスト
  • 全てのマイクロサービスへのCI導入を主導
  • CS業務支援を目的とした自社サービスの一括操作系の開発

などをやっていました。継続的なテストのための環境は整備できたと思っています。

2021年MVP受賞

今年はありがたいことに2021年一番輝いた従業員に送られるMVPを受賞しました。

これは、以下のような事項を総合的に評価していただいたことによります。

  • 開発環境の改善に対するモチベーション高く、オーナーシップもって検証、共有する姿勢。有用な情報はドキュメントとして横展開され再現性も意識されている
  • エンジニア外からの問い合わせを介してお客様の課題や運用上の課題に対し積極的に対応した(エンジニアへの問い合わせのほぼ半分)
  • 理想的なSREチームを構築していくために、現状の課題感と共に、解決のための提案と実行を周囲を巻き込みながら推進した など

SREとしての最初の動きも評価していただいているので、励みになります。

目標の振り返り

去年の目標は達成できず。 SRE本など重い本を選んで読んでいたのもあり、時間の使い方にもうちょっと工夫が必要でした。

とはいえ、ACM(Association for Computing Machinery)の会員になって便利に技術書にアクセスできるようになったメリットは感じていて、継続して課金しようと思います。

あと、数を目標にすると軽い本ばっかり選ぶようになりそうなのでやめようかと思っています。

さいごに

今年はSREに異動して動き始め、個人的なキャリアの転機となった年でした。 バックエンド業務から離れることは正直寂しさはありますが、SREとしてプロダクトの信頼性を高めるための仕組み構築とエンジニアリングを実践することが自分の進むべき道だという感触を持っているのと、プロダクトをより成長させるために必要な事だと信じているので、SREチームが最大の価値を発揮できるように活動していきます。

また、SREとして活動し始めてバックエンドエンジニアのときよりも関係各所との連携が増え、ソフトスキルの重要性が増したように感じています。 いままで技術的なスキルに集中していましたが、SREとして最大の価値を発揮できるチームを作っていくために来年はそのあたりも勉強していこうと思います。