tech.guitarrapc.cóm

Technical updates

2021年を振り返って

毎年やっている昨年の振り返りをしてみます。2020年忘れてました。

2019年はこれ。

tech.guitarrapc.com

総合

2021年は、2020年にやったことをさらに深めていく年でした。 2019年からやっていることを深く広くしていくことが求められており、相変わらず毎日新しいことを学んでいます。クライアントにフルコミットが必要で、この自社の時間を設けるのが難しくて頭が痛い問題が解消しませんでした。

サービス基盤を全面的にみているのですが、基盤を安定させつつ、改善したり抜本的な変更をしていくことを継続的に行っています。省力で行うため2019年から IaC で100%管理を続けており、かなり有効なのでおすすめです。Kubernetes + IaC じゃないと手が足りなかったので選択は正解なのですが、相談できる仲間が足りないと感じていて2022年はかなり頭を痛めそうです。

2021年もわからないことへの挑戦の連続でしたが、教わったり助けてもらいつつ分からないことを1つずつ潰せもしました。来年以降の自分に投げつけた課題もありますが、今年一年みても、寝かせると問題が問題でなくなったり、問題への解決方法を見つけたりするので、優先順位をつけて寝かせるのは大事。

経営

2021年は、あとはリリースというところまで進めたプロダクトをリリースしない決定をしており、なかなかリリースできないというのを痛感しています。 自社よりも他から請け負っている仕事に力が使われているのは、2020年より強くなっており反省しかない。

2022年は2021年の反省を生かさないといけない年になります。

プログラミング

C#、Golang、TypeScript がメインです。

CSharp

2021年、C# でインフラからサーバー、クライアントまで完結できるかと思って取り込んでいたのですができるものですね。 インフラは Pulumi や aws-cdk を使うのですが、おおむね terraform でできることは Pulumi でカバーできます。

C# 10 が出て、C# はかなり手触りが良くなりました。 Minimal API と File scope namespace 、Implicit Global Namespace で本当に書くのが楽になりました。

IaC

Terraform と Pulumi をメインに使い、Bicep も使っています。 Azure で IaCをちゃんとやろうと思ったら、残念ながら Bicep は選んではいけないという学びが悲しかったです。

Pulumi は Pulumi Native が出たことで、Upstream である Terraform の対応が入らないと Pulumi の対応が入らないという悪循環が解消されつつあります。とはいえ Pulumi Native は Beta なだけあって Beta な品質で、特にステートとリソースの協調がまだまだ足りない感じです。(Tag が順不同で実行ごとに変更かかる、変更が安定して適用されないなどプロダクション品質ではない)

Terraform は 1.1 がかなりいい感じで、ようやく state mv が改善されました。このままよくなってほしいけど、Pulumi の State move はクソなのであっち方向にはいってほしくないところ。

dev.classmethod.jp

Terraform の CI/CD は、さんざん Terraform Cloud の VCS 連携を使っていましたが、API ベースでの連動に切り替えました。変なことできないという意味ではVCS連携がいいのですが、どうしても GitHub PR との連動が弱いので、バランスを見ると API ベースがいいですね。 とくに tfcmtgithub-comment の組み合わせはいい感じなので、おすすめできます。

Pulumi の CI/CD は GitHub Actions の v3 が出たのですが、安定して微妙な使い勝手です。Dockerベースの頃より格段にいいのですが、tfcmt のような楽な使い勝手じゃないのでなんとも微妙。

Kubernetes

Kubernetes と YAML の地獄、どうしようもないのだろうかと真剣に悩んでいます。 Kustomize や helm という問題ではなく、YAML を書くのがしんどい、とはいえ DSL 的に他から出すのもブラックボックスで嫌で詰んでる。

記事

17本、少な。 あんまり言語的なのを書かなかったのですが、社内やお手伝い先でさんざん書いていてちょっとブログに起こすのがしんどかったりします。

書くことはあるけど、またこっちにも書くのかとなっているのがよくないので反省です。

ライフスタイル

コロナ大変です。 2021年10月から少し収まったので久々に外出しましたが、好きなところに行くのは楽しいものです。

家の中は、吊り収納にはまっています。水回りは徹底的に浮かしているので、掃除がほぼ不要になって最高です。

スタンディングデスクを使ったことでメリハリも効いてきたので、2022年はよりよく頑張っていきたいところ。

2022年は?

クライアントとの協業は年々強くなっています。期待に応えていきたいところ。 そして自社のリリースも。

個人的にはC# + Kubernetes がどうなるか 2022年はカギになりそうです。