2020 年の振り返り
モチベーション
激動の 2020 年が終わり 2021 年が始まったので昨年を振り返る。
TL;DR
- COVID-19 で世界中ぐちゃぐちゃ
- SRE team の Lead をバトンタッチして IC に戻った
プライベート
COVID-19
新型コロナの影響で世界中がぐちゃぐちゃになった。年初にプライベートと仕事で計画していたことはすべて崩壊し、自分が希望していた所属している会社での海外出向は諦めた。出向を断念することになり気落ちした時期もあったが、コントロールできないことでいつまでもくよくよしていても時間の無駄なので、早い段階でマインドを切り替え今できることをしている。
家篭り
今年はほとんど家にいた。緊急事態宣言が出ているとか、いないとか関係なしに子供との散歩と運動以外で外出することは無かった。職業柄リモートワークが基本で会社に出勤しなくて良かっため、妻子と一日中一緒にいる時間が長くなった。仕事を辞めずに 1-2 歳の子供の成長をこんなに間近で見守り続けられると思っていなかったので、これに関してはコロナ禍で唯一自分にとっていい出来事だった。今後の人生でこんなに一緒に生活できることはなさそう。
デスク周りを改善した
“リモートワーク環境を整えました“にまとめたとおり、向こう数年は引きこもる可能性があるためオフィス以上に生産性を上げるための投資をした。購入したなかで一番よかったものは大きな天板のスタンディングデスク。
Fitbit で腕が痺れる
ウェアラブルデバイスの検証用兼に購入した Fitbit Inspire 2 が体に合わなかった。緑色 LED が自分の体になにかしらの影響を与えているのか、それとも Fitbit Inspire 2 自体が自分に合わなかったのかわからないが、装着すると肩から腕にかけて痺れるような感覚を持つようになった。明らかに普通の状態ではないため、使用して数日で装着を止めた。常に家にいて、すべての活動をコントロールしやすい状況なので自分に合うものがみつけたい。
こんなことを書くくらいにはプライベートでは何もなかった。
仕事関連
Individual Contributor (IC) に戻った
2019 年に Cookpad のグローバルプロジェクトの SRE チームの立ち上げを完遂した。今では Senior SRE が 8 人もいるチームに成長している。一区切りついたのと、長い間チームをリードするポジションにいたため、今後のキャリアのことを考えて 4月に Tech Lead (TL) と Engineering Manager (EM) の Role を他のメンバーにバトンタッチした。
理由としては、これ以上長い期間リードのポジションで働いていると Individual Contributor として働くことが困難になることと、Tech Lead としてのパフォーマンスが年々低下していくと考えたため。自分の理想のキャリアラダーは会社に所属している間は一定周期で IC と 組織をリードするポジションを行ったり来たりすることだが、この発想は THE ENGINEER/MANAGER PENDULUM や ENGINEERING MANAGEMENT: THE PENDULUM OR THE LADDER で語られていることに非常に近い。
TL/EM のポジションが得意か不得意かで言うと、おそらく得意な方だと思っている。また、ものすごいプレッシャーと責任はあったけど、やりがいもあり楽しかった。一方で、それと同じくらいシステムやサービスの開発に没頭している時間は楽しい。また、その時に得られる知識と経験こそが TL/EM をしているときの意思決定の質に直結していることは同じように TL/EM をしている方々は肌で感じていると思う。両者は求められるスキルは全く異なるが。
そのうちまたリードのポジションに戻ることもあると思うが、しばらくは IC を楽しもうと思う。
Kubernetes 元年
ここ数年は production の container 管理にはもっぱら ECS を使っていたが、EKS も使うようになったので個人的な Kubernetes 元年となった。キャリアの中で IaaS や PaaS の構築に携わる事が多く、 VMWare, OpenStack, ECS ときて EKS(Kubernetes) を使っているので新しいコンセプトももちろんあるが、基本となっている技術は変わらないためすんなり使えるようになったと思う。まだまだ使い込む必要はあると思うが、EKS の良い点と悪い点を一つずつあげてみる。
良い点は Kubernetes のエコシステムがとても進んでいる点。ECS は AWS でしか提供されていないため、足りないところは自分たちで実装することが多い。EKS は Managed Kubernetes であり Kubernetes に向けて作られているソフトウェアは基本使える。Managed Kubernetes は僕たちが使う AWS、GCP、Azure、Alibaba Cloud など多くのクラウドプロバイダーで提供されている。すなわち、プロバイダーをまたいで開発や運用の知見が溜まりやすく、そこから開発されるソフトウェアでエコシステムが出来上がっている。他のどのプラットフォームを差し置いても Kubernetes First で開発されている OSS もたくさんあり、Grafana Labs の Loki なんかはその代表格である。無数にあるツールの中からどれを採用するのが良いか判断するのが難しい、メインストリームの技術変化が激しいなどの問題もあるとは思うが。
反対に EKS の悪い点は Kubernetes の クラスターの version 管理が面倒。これは Kubernetes を使っている以上避けては通れないが、ECS はコントロールプレーンの version 管理を AWS が完全に行ってくれるため、クラスターの version 管理を意識する必要がなかった。しかも、Kubernetes の開発のスピードは早くサポートの終了も約1年で来るので頻繁にアップグレードする必要がある。コントロールプレーンの version 管理がしたくないというのは個人的には ECS を使う理由に十分なると思う。先日 ECS Anywhere/EKS Anywhere が発表されたが、ECS Anywhere は Raspberry Pi でも AWS 上の ECS のコントロールプレーンを使うことができるため、まさに Anywhere である。
Today, we are announcing Amazon ECS Anywhere (ECS Anywhere), an extension of Amazon ECS. Available in 2021, ECS Anywhere will allow customers to deploy native Amazon ECS tasks in any environment. This will include the traditional AWS managed infrastructure, as well as customer-managed infrastructure. All this without compromising on the value of leveraging a fully AWS managed, easy to use, control plane that’s running in the cloud, and always up to date.
(Introducing Amazon ECS Anywhere より引用)
Obeservability の改善
登壇
2020 年は SRE NEXT 2020 での登壇 1 件で終わった。
COVID-19 がなければ国外を中心に CFP に応募してもっと登壇したかったのだが実現ならず。あちこちで Virtual Conf が開催されていたが、人の反応が確認しづらい中でプレゼンをするのがあまり好きじゃないのでそれも見送った。
おわりに
昨年は世界中の人が大変な経験をした一年だった。今年も引き篭もるんだろうけど、みんなで頑張って乗り越えていきましょう。