ある会社でバックエンド領域のテックリードをやっています。
最近はAWSを使用したアーキテクト、開発アドバイスや設計・実装・コードレビュー、またDevOps・インフラ・セキュリティなど、割と幅広くやっています。
開発の手法としては、サーバーレスやコンテナを使用することが多いです。
先日リリースされたSystems Manager セッションマネージャーのリモートホストへのポートフォワード機能を使って、ローカルから直接プライベートサブネットのRDSなどへトンネリングする環境を、ECS on Fargateで構築してみました。
具体的には、プライベートサブネットにあるMySQLやPostgreSQLに、ローカルPCのターミナル等から直接アクセスできるようになります。
プロダクトをリリースしていざ保守・運用フェーズに入ったときに、「バグがたくさんあるから潰さなきゃ」「でも機能追加も色々していきたい」といった想いが混在してあれもこれも状態なときに、どうやって保守って進めたらいいんだ?となっている方もいるのではと思います。
そんな方に向けてSREに基づいて保守を進めるアプローチを、自分の過去の実践などもベースにしながら書いてみました。
SREを知っている・SRE本を読んでいる方には基本中の基本のお話であまり面白味はないかもしれませんが、まとめる機会があったのでせっかくなので記事にしました。
(※以前同じ内容の記事を書いたのですが、少し修正して再掲しました。)
エラーの設計・実装方法について社内に共有する機会があり、設計の流れや一例を書いてみました。TypeScriptとは言っていますが、なるべく言語非依存・ライブラリ未使用で、カスタムエラークラスを使用する前提で書きました。