ソフトウェア式年遷宮をやっていくぞ、という話
見出し画像

ソフトウェア式年遷宮をやっていくぞ、という話

Subaru Nakamura(varu3)

 つらつらっと技術ポエム第2段です。こないだ書いた記事が勢いよく書けて気持ちが良かった(自己満足)ので、今年はこういうポエムもアウトプットとして出せていけたらいいなと思う所存です。

 弊社のSREチームではもっぱら昨年から、大規模なインフラ移設プロジェクトをやっておりまして、noteのエンジニアチームが2022年に向けて挑戦する、重要課題9選 という記事では「コンテナ基盤への移行を実施し運用効率化・省力化を実現」と、重要課題の一つとして挙げられております。(やったね)
 自分はちょいちょい手を動かして実装したりしながら、タスクを取りまとめてちょっとしたマネジメント業務もやりつつやっているぞ、というポジションで関わらせていただいています。

 そんな折に、 はてなのonkさんの以下の記事で「ソフトウェア式年遷宮」という概念が紹介されていました。

 これを読んだ時に思わず膝を打ちました。今まで言語化できていなかったものがスッと理解できたので、今回は自分用メモとして残していこうと思います。以下に書くことはぶっちゃけ上記のonkさんの記事のエッセンスなので詳しく知りたい人は元記事を参照してください :)

 そもそも式年遷宮とはなんだっていう話でもあるんですが、wikipediaによると、伊勢神宮で行われる、20年おきに全ての社殿を造り替える行事のこと。この行事の目的としては、耐用年数の増加や技術の継承のために行われます。その行事をソフトウェア(アーキテクチャ)に置き換えて適用したのがこのソフトウェア式年遷宮なんですね。一言でまとめると、

  • 「ソフトウェアの一部(もしくは全て)をモダンな技術でリプレースすることでメンテナンス性を高めて、ドメイン知識や周辺知識を継承する

ということです。このドメイン知識や周辺知識を継承の部分を、あまり意識したことがなかったのでめちゃくちゃ腑に落ちました。

 弊社のサービスはAWS黎明期から10年近く運用されていて、今見るとこれは一体なぜこのようになっているのだろう、とか、これって一体なんだろう、というような誰も手が付けられないような技術的負債がどんどん溜まってきているような状態でした。このプロジェクトが始める前から「ここの部分はレガシー(五輪の意味ではない)だから、コンテナ移行の時にカタをつけよう」なんという部分がたくさんあったわけですね。

 コンテナ化とは直接関係ない箇所でありながらも、ここの部分を解消されないと移行作業が進まないぞ、というような部分もあったりしてそういうことに直面しては少しナーバスな気持ちになったりしていました。

 しかし、この「ソフトウェア式年遷宮」という概念に出会ってからは、技術の継承やドメイン知識の獲得のためでもあるし、同時に技術的負債を返済していくためにやっていくのだ、という本プロジェクトの目的意識をアップデートすることができました。

 今ではこれをさらに拡張して サービスインフラだけでなく監視やデプロイ周辺ツール、エラー検知などを全て見直して、これらを少しづつモダンなクラウドネイティブに置き換えていく(いわゆるCloudNative Journey)をやっていくぞ、ということで取り組んでいます。

 さらに副次的な効果があります。率直にいうと、サービスのインフラをコンテナサービスに置き換えるということのメリットはエンジニア以外にはあまりメリットが伝わりにくいものです。コンテナ開発のメリットである、スケーラビリティ性や開発容易性などは旧来のEC2の構成でも享受することは(頑張れば)できるし、古くから続くサービスだとコンテナ移行をせずにソフトウェアでその辺りを頑張っていることも少なくないですし。

 ちょっと話は逸れるのですが、この辺りは去年読んだこちらの記事が大変参考になりました。特に「非エンジニアにもわかってもらおう」の章はこの辺のノウハウについて言及されていて、大変知見にあふれてました。

 古くなったアーキテクチャーを作り直して、今では失われつつある技術・知識を掬い上げていくことで、今後の機能開発を進めるためにユーザーだけでなく開発チームにとっても良いメリットがありますよ、というソフトウェア式年遷宮の考え方は、サービス開発に関わるエンジニア以外の方にわかってもらうための例えとしても大変わかりやすいものだと思います。

 というわけで、「ソフトウェア式年遷宮」という考え方をベースに2022年はコンテナ基盤への移行をやっていくぞ、という決意をしたためてみました。今まで生まれた全ての技術的負債を生まれる前に消し去りたい!
EKSへ移行した暁には技術的なノウハウをどこかで発表できたらいいなと思いつつ。(それも当分先になりそう)

 あ、そういえば、あけましておめでとうございます。実家にも帰らず昼間はNetflixやYoutubeでコンテンツを消化し、夜は酒を飲むだけの年末年始に飽きてきたので、元日に自転車で山手線を一周するというよくわからないことをやってみたのですが、とても楽しかったです。

全然年明けた感がないですが、2022年もよろしくお願いいたします。

この記事が気に入ったら、サポートをしてみませんか?
気軽にクリエイターの支援と、記事のオススメができます!
生唾を飲む小栗旬、ゴクリ旬
Subaru Nakamura(varu3)
note株式会社でSRE(エンジニア)をやっています。 麻雀とVTuberとビリヤニとサウナと登山、ゲーム全般が好きです。