無印吉澤

Site Reliability Engineering(SRE)、ソフトウェア開発、クラウドコンピューティングなどについて、吉澤が調べたり試したことを書いていくブログです。

ヌーラボ在籍時に書いたブログ記事&プレゼン資料まとめ

2017年8月〜2023年2月のヌーラボ在籍時に、SRE 関係のブログ記事やプレゼン発表をいろいろ行いました。徐々に SRE メンバーが増えていくフェーズで入社したため、特に SRE の組織に関する話を多く書きました。

それらの記事がヌーラボブログBacklog ブログとこの個人ブログに散らばってしまっていて、自分でも探すのが大変になってしまったのでここにまとめておきます。

目次

入社直後

入社前からWiki に関する記事 をいろいろ書いてきた関係で、入社直後の研修でサル先生の Wiki 入門(旧:サルでもわかる Wiki 入門)を執筆し、このサイトのインフラ構築もしました。

nulab.com

その後は、徐々に SRE 業務に慣れていったのですが、その時期に行った改善についての記事も書いてます。

nulab.com

他には、kintone devCamp 2018Mackerel Drink Up #8 でプレゼンをさせてもらう機会がありました。

2015 〜 2018 年の Backlog SRE チームの変遷

SRE としての働き方が落ち着き、SRE 組織のあり方について考えるようになった頃に、SRE Lounge #5 で発表をさせてもらいました。自分の入社前のことについては、間違った情報を発信してしまわないように、僕の入社前からいたメンバーに何度もヒアリングさせてもらいました。

muziyoshiz.hatenablog.com

また、SRE Lounge #5 では時間の都合で話しきれなかったサービスレベル計測の話題についても、別の記事にまとめました。

nulab.com

ちなみに、この SRE 組織のあり方については、SRE lounge #5 の発表後に少し考え方が変わりました。そのことはまた別の記事にまとめています。

muziyoshiz.hatenablog.com

Backlog Play 化プロジェクト

2018年4月から2019年7月まで、Backlog を Java & Tomcat から Scala & Play Framework に移行する大規模なリプレイスプロジェクトに参加していました。このプロジェクトからは色々な気付きが得られて、多くの改善を行いました。それらを2回のブログ記事に分けて書きました。

backlog.com

backlog.com

Backlog の課題検索機能のリプレイスプロジェクト

Play 化プロジェクト以降は、改善プロジェクトでプロマネをしながら手を動かす、という働き方が増えました。これはその最初のプロジェクトでした。

このプロジェクトでは、いろいろな課題があった Backlog の課題検索機能を、Amazon Elasticsearch Service を使った新しい実装にリプレイスしました。ステートフルな Backlog アプリケーションをステートレスにし、将来的なマイクロサービス化を可能にするためのプロジェクトでした。

backlog.com

NuCon 2020 でも、このリプレイスプロジェクトと、プロジェクト後の継続的な改善について話しました。

nulab.com

技術面では、Amazon Elasticsearch Service の認証・認可まわりにすごく悩まされて、ついカッとなって個人ブログにまとめたりしました。

muziyoshiz.hatenablog.com

Amazon Linux 2 への移行プロジェクト

2020年は主に、Backlog のたくさんあるサーバをすべて Amazon Linux 2 に移行するプロジェクトを進めていました。技術的な新しさは少ないのでどうまとめようか悩んだ結果、プロジェクトの進め方に焦点を当ててブログ記事を書きました。

nulab.com

インシデント対応のセルフサービス化

Backlog開発チーム自身によるオンコール対応を支えるアラート通知システム からのさらなる改善事例として、「インシデント指揮者」としての役割を開発チームに引き継ぐための活動について書きました。SRE 本および SRE ワークブックを参考に、「インシデント対応チェックリスト」というものを考案し、2021年7月から導入しました。

nulab.com

モノリシックアプリケーションのコンテナ化

SRE NEXT 2022での発表

2021年からは、今までの改善活動の集大成として、Backlog のコンテナ化および Amazon EKS への移行に取り組みました。色々な問題に苦しめられたのですが、約1年かけて解決することができたため、その問題解決の経緯をまとめて SRE NEXT 2022 にて発表しました。

長年運用されてきたモノリシックアプリケーションをコンテナ化しようとするとどんな問題に遭遇するか?(SRE NEXT 2022オフィシャルサイト)

ヌーラボのプロジェクト管理ツール“Backlog”のWebアプリケーション部分は、モノリシックアプリケーションとして開発されてきました。Backlog SREは、開発効率の改善などを目的として、このアプリをAmazon EKSに移行するためのコンテナ化を進めています。 10年以上開発されてきたモノリシックアプリケーションをコンテナ化するにあたり、運用を考慮すると、アプリ自体を改修しなければ解決できない問題がいくつも見つかりました。 この講演では、自社アプリのコンテナ化を検討している方に向けた事例情報として、このコンテナ化プロジェクトで私達が遭遇した問題とその解決方法をご紹介します。また、コンテナ化の完了に向けた今後の計画と、コンテナ化の先に見据える理想像についてもお話しします。

プロジェクト完了後の情報発信

SRE NEXT 2022の発表時点ではまだEC2インスタンスからコンテナへと切り替えている最中だったのですが、2022年7月にコンテナへの切り替えおよびEC2インスタンスの削除が無事完了しました。このコンテナ化プロジェクトで得られた知見を、以下のブログ記事で発信しました。

nulab.com