平凡なアプリエンジニアがインフラを触るようになった話
こんにちは!株式会社ウェイブでコミック配信サイト「ComicFesta」の開発を担当している、ぴらふと申します。
これは、もともとインフラが大嫌いだった一人のアプリケーションエンジニアが、ひょんなことからインフラと向き合うことになり、その面白さに目覚めていく奮闘記です。
なぜインフラが嫌いだったか
以前の私は、インフラに対して強い苦手意識を持っていました。理由は単純です。
目に見えない: アプリケーションのように、動いている実感が湧きにくい。
専門用語が多い: 覚えるべき単語が多く、とっつきにくい。
AWSが分からない: 研修は受けたものの、内容はさっぱり理解できず...。
誰かがやってくれる: 正直、「自分の仕事ではない」と思っていました。
前職がSIerで、インフラに深く関わる機会がなかったこともあり、私は自他共に認める「アプリ専門のエンジニア」でした。
この記事では、そんな私が大嫌いだったインフラ(主にAWS)とどう向き合い、現在に至るまでの道のりを綴ります。
突然の「インフラ、主担当でよろしく」
転機は、とあるプロジェクトの進行中に訪れました。(詳細はこちらの記事で)
当時、アプリケーション開発は私一人で担当していましたが、インフラは当社のSREチームがサポートしてくれる体制でした。そのため、「インフラは専門のSREがいるし、なんとかなるだろう」と、どこか他人事で考えていたのです。
そんなある日、**「このプロジェクトのインフラ、主担当はぴらふ君で」**という一言が。その瞬間、目の前が真っ暗になり、先の見えない奈落に突き落とされたような気持ちでした。
具体的に何をやったのか
私が担当したのは、既存のRuby on Rails製アプリケーションのフロントエンドをNext.jsへ移行する、というものでした。このリリースにあたり、私が向き合うことになったAWSサービスは以下の通りです。
ECS / ECR
ALB
CloudFront
Lambda@Edge
...など
これらに加え、デプロイのためのCI/CDパイプライン構築など、やるべきことは山積みでした。
触ってみたら、意外と楽しかった
半ば強制的に飛び込むことになったインフラの世界。しかし、実際に手を動かしてみると「あれ、意外と面白いかもしれない」と感じるようになりました。
もちろん、最初から一人でできたわけではありません。SREチームに手厚くサポートしてもらい、まさに「おんぶに抱っこ」の状態で、なんとかNext.jsが動作する環境を構築しました。この過程で既存のインフラ構成についても丁寧に教えてもらったおかげで、それまでぼんやりとしていた知識の解像度が格段に上がったのを覚えています。
特に印象に残っているのが、パスベースのルーティング実装です。
今回のリリースでは一部のページのみをNext.jsに移行したため、アクセスされたパスに応じて新旧の環境へ振り分ける制御が必要でした。この課題に対して、私はSREの手を借りず、CloudFrontとLambdaを駆使して一人で解決策を実装できたのです。
この成功体験が、大きな自信に繋がりました。
まずは触ってみる、それだけでいい
今でも「インフラのことなら何でも任せてください!」と胸を張って言えるわけではありません。しかし、自分で手を動かしたからこそ、各サービスが「どういう役割を担っているのか」を肌で理解できるようになり、少しずつ自信もつきました。
かつての私と同じように、インフラに苦手意識を持っているエンジニアの方に伝えたいのは、**「完璧を目指さなくていい。まずは触ってみてほしい」**ということです。
あの時、SREの助けを借りながらも、パス制御やCI/CDをなんとか形にできた私だからこそ言えます。きっと、あなたにもできます。
食わず嫌いはもったいない。インフラ、意外と面白いですよ。

株式会社ウェイブのエンジニアによるテックブログです。 弊社では、電子コミック、アニメ配信などのエンタメコンテンツを自社開発で運営しております! wwwave.jp/service/
Discussion