2022年の振り返り
はじめに
こんにちは、@zsp2088devです。
現職の技術ブログ で書ききれなかったことや、2022年にやってきたことについてまとめます。
3行まとめ✍
- PHP / BEAR.Saturday → Java / SpringBoot の移行をした
- Azure VM → Azure Container Apps の移行をした
- Javaのトラブルの対処や勉強会の運営などに取り組んだ
アプリケーションのリビルド
昨年から引き続き、PHP / BEAR.Saturday → Java / SpringBoot の移行を進めていました。
既存のアプリケーションすべてをJavaに置き換えるのではなく、データの扱いに関わるバックエンドに注力してリビルドを行っています。
単に既存のコードをJavaで書き換えるだけではなく、テストコードを書くようにしたり、複雑すぎるコードをシンプルにしたり、不要なコードを削除したりしていました。
既存のコードは連想配列が多用されており、オブジェクトに何の値が入っているのかがわかりづらく、実際に実行しないとわからないのが非常につらかったです。
静的型付け言語でコードを書くと安心できるなと実感でき、非常に良い移行作業でした。
アプリケーションのコンテナ化
Javaで書き換えたアプリケーションを、Azure Container Appsで稼働させることに取り組みました。
同時に、既存のVM環境で動作しているアプリケーションを、Azure Container Appsで稼働させることにも取り組みました。
Azure Container Appsは、2022年6月頃に一般利用可能になり、9月には本番稼働させていたので、短期間で検証から稼働までを進めていました。
特にAzure Container Appsについては、毎日のように公式のドキュメントを読み込んだこともあって、かなり詳しくなったと感じています。
Azure VM → Azure Container Appの詳細は、以下の記事をご参照ください。
Javaトラブルの対処
一部のアプリケーションを、PHP / BEAR.Saturday → Java / SpringBootに移行したときに、CPU使用率がスパイクしてしまう問題に悩まされていました。
当初は原因がわからなかったものの、毎日1回再起動すれば問題なさそうなことがわかっていたため、GitHub Actionsのschedule
イベントで再起動するようにしていました。
あるとき、少しだけまとまった時間が取れたので本格的な調査をしようと思い、色々と調べていたところ、「スレッドダンプを見ることで原因を特定できる」ことを知りました。
そこで、実際にスレッドダンプの取得から原因箇所の特定をして、該当箇所を修正することで安定稼働させることができるようになりました。
勉強会チームの運営
外部に公開する勉強会の運営や社内勉強会など、コードを書くこと以外の取り組みも行いました。
勉強会チームの運営や、勉強会の準備などにも力を入れており、今後も継続的な活動をしていきたいと考えています。
外部勉強会を開催するにあたっての詳細は、以下の記事をご参照ください。
おわりに
アプリケーションのコードを書いたり、コンテナサービスの運用したりと、これまで経験していなかったことを多く経験できた1年でした。
2023年はリビルドの終盤に差し掛かるので、より難易度の高い箇所に取り組みます。
頑張るぞ!💪