こんにちは、kubellにて執行役員をしております田中と申します。主にChatworkプロダクトの技術側面の管掌をする立場の者です。この記事はkubell Advent Calendarの25日目の記事になります。
本日はkubell Advent Calendarの最終日の投稿としまして、今年のkubellのプロダクトや技術周りのふりかえりをして締めたいと思います。
2024年ふりかえり
今年のふりかえりとしては、主に2点です。
- プロダクト価値向上に直結するようなプロダクトリリースができ始めた
- 大型のEOL対応を完結できた
ひとつひとつふりかえっていきましょう。
プロダクトリリース
Chatworkでは保守タスク並びに小さな機能リリースを含めほぼ毎日なにかしらリリースをしています。今年について数えたところ、メインのリポジトリにはのべ1,200程度のリリースがされていました。
また、今期は「リアクション機能の拡張」、「自分宛て一覧機能」、「予約送信機能」といったユーザー向けのリリースが実施できています。
こうして年内に立て続けにリリースできるような体制になってきたのも、組織としての強さが構築され始めたことを実感しています。
EOL対応
今年は上記のプロダクトリリースと並行して、裏側で下記2つの大きなEOL対応が動いていました。
- メッセージDBリプレイス
- Aurora v3アップグレード
メッセージDBリプレイス
今年、メッセージのDBとして使用していたHBaseをAmazon DynamoDBにリプレイスするという対応を実施しました。HBaseを長年運用してきていましたが、そのDBを動かしているOSのEOL対応を迫られていました。また、それを修正すると、互換性の関係でもろもろをバージョンアップ対応をする必要がでてきました。様々な観点を考慮し、結果チームとしては DynamoDBへの移行を決断し、今年の11月に無事リリースされました。詳しくは下記に書いてあります。
上記対応を実施していただいたおかげで、AWSのサーバーコストが劇的に下がった他、HBaseの運用していくための工数もかなり下がる見込みです。チャットサービスの全メッセージを司るDBの移行という、超ミッションクリティカルな作業を大きな問題なく実施していただけました。
こちらの取り組みは社内でも表彰され、12/23に行われたkubell CAMP(全社総会)にて、見事プロジェクト賞を受賞しました🎉おめでとうございます🎉
Aurora v3 バージョンアップ
上記メッセージDBリプレイスと並行し、メインで使っているAmazon Aurora MySQLのv2からv3へのアップグレード作業も同時に進めていました。内部的にはMySQLのバージョン5.7から8.0へのアップグレードとなります。DB内部の挙動はかなり変更されるため、全機能が問題なく動くことを保証する必要があり、開発全チームにまたがる大規模な改修になりました。約半年〜1年の準備期間を経て、アップグレードは無事完了しています。Chatworkのプロダクトの歴史の中でもかなり大きなアップグレード作業となり、難易度も相当高いものでしたが、大きな問題なく無事に着地できています。テスト戦略としてはInsight SQL Testingを用いた品質保証を実施したり、いろいろおもしろいお話はできると思いますが、くわしくは今後チームの方々がブログ記事にしてくれると思います!
※ 追記:チームメンバーが記事を書いてくれてました!
まとめ
プロダクトのリリースもしつつ、大規模なEOL対応も並行して行うことができました。一方で、まだ足元改善しなくてはいけない課題は山積みです。今後Chatworkプロダクトの非連続な成長をしていくために全方位で人が足りていない状況です。もしご興味がある方いましたら、カジュアル面談でも大丈夫ですので、ぜひお声がけいただければ幸いです。
以上、メリークリスマス🎄&良いお年を!