見出し画像

認証基盤の刷新からインフラ革新まで:enechainの開発をFly Highさせる"縁の下の力持ち"

エネルギー業界の課題をマーケットの力で解こうと挑むenechain。エネルギー卸取引に関わる複数のプロダクトを開発提供しています。今年、それらすべてのプロダクトの認証認可基盤システムが刷新され、開発を加速する準備が整いました。今回は、その開発をリードしたTechnology本部 Application Platformデスクの遠藤雅彰さんにインタビューしました。

enechainはバリューのひとつに「Fly High」を掲げ、不可能とも思えるミッションを実現するため日頃から大胆に挑戦し発想することを社員の行動指針としています。遠藤さんは、認証認可基盤システムの構築に加え、全社の開発スピードを上げるアプリケーションプラットフォームを先々の未来まで想像し構築したことが評価され、半期ごとに最もバリューを体現した社員に贈られるValue Awards Fly High賞を受賞しました。

遠藤雅彰(えんどう まさあき)
新卒では組み込み系の企業でエンジニアとして働き、2社目からWEB系にスキルチェンジ、4社目となる株式会社メルカリではテックリードとして国内外の決済機能の開発及び後払いサービスの立ち上げや、メルペイの立ち上げなどに携わる。その後、株式会社freeeの課金基盤のテックリードを経て、2022年10月にenechain入社。
MBTI診断はISFJ型。普段はリモートワークで、ここ数年の趣味は子どもと遊ぶこと。

— はじめに遠藤さんが所属するApplication Platfromデスクの仕事について教えてください。
Application Platform Deskは、全プロダクトが横断で抱える課題を解決するチームです。「開発者体験の向上を目指す」という意味ではPlatform Engineeringチームと近い位置づけですが、もう少しアプリケーション開発寄りの領域を担当しています。

— 具体的には、日々どのような業務を行っているのでしょうか?
わたしはmiroで設計図を書いているか、設計後のフェーズでは実装のためのコーディングをしていることが多いです。

miroで作成した設計図

実装は、ペアプロ(ペアプログラミング)の体制で、enechainではバーチャルオフィスツールの「Gather」を利用して2人でディスカッションしながら協力して書いていきます。「Gather」で画面を共有しながら、通話して話し合いながら決めることができるからです。

Gather 内の遠藤さんが所属するApplication Platform デスク のスペース

— 認証認可基盤の開発プロジェクトをリードし、enechainのTech本部の技術水準を大きく底上げしたことが、Value Awardsで評価されました。
一言でいえば、enechainのすべてのプロダクトのユーザー認証と認可の仕組みを作り直しました。

作り直す前は、認証認可の設定項目がびっくりするほど多く、何の認証認可なのかを読み解くことにも時間がかかる複雑で非効率な状況でした。また、認証認可にかかるデータを社外の認証プラットフォーム「Auth0」に預けた状態で、社内でリアルタイムにデータを保有していないのも懸念点でした。

これまでのキャリアで社内の認証基盤の移行は経験がありましたが、社外の認証基盤の移行はわたしにとって初めてで、データの精査と移行方法の検討が、このプロジェクトで最も難易度の高い部分でした。移行では、データの整合性を伴うことが非常に重要で、特性にあった手法を考えることがすべてとも言えます。まずは既存の仕様からのデータ移行が可能か、その互換性を考えながら設計図に着手しました。

この設計では、ローカルで認証認可基盤を立ち上げなくても、Kubernetes上の開発環境の管理画面(eAdmin)でユーザーの作成をするとローカルでも利用可能にしたのがポイントです。これにより開発者が開発しやすい環境を作ることができました。

その後、わたしとWEBアプリケーション開発が初めての若手エンジニアの2人で機能開発に当たり、機能リリース後、Auth0からenechainへのデータ移行や社内のニーズに合わせた認証基盤の構築、既存システムの改修を含めてプロジェクト全体では約7ヵ月を要しました。この移行作業ではトラブルが発生することなく、無事に移行を完了することができました。

認証認可基盤はすべてのプロダクトに関わる機能なので、今移行を終わらせておくことができホッとしています。その後、大きな不具合もありません。開発環境で試してプロダクションに落としても問題ないことを確認してから一発で移行したのですが、一発移行できたことが、その後大きな不具合が起きていないことにつながっています。

— Value Awardeの表彰では、認証認可基盤の開発の他に「インスタントユニバース」の開発についても触れられていました。「インスタントユニバース」とはなんでしょうか。
インスタントユニバースは、マイクロサービス(シンプルな機能のサービス)をつくるための開発環境を簡単に量産できるようにするツールです。それまで1-2週間かかっていた環境構築を、数日に短縮したいという思いがありました。開発者にとっては立ち上げが早くなり、マイクロサービスくらいであれば1日で開発環境が構築できます。SRE(サイト・リライアビリティ・エンジニア)にとってもバラバラになっていたものが透明化されるので、社内標準に準拠されて構成を変えやすくなります。

認証認可基盤の開発途中から着手し、どちらも並行して開発を進めたので大変でした(にっこり)。認証認可基盤のファイルを整理しながら、多数あるレポジトリの中から同じものを集約し、ポリレポからモノレポに変えました。既存サービスも将来移行できるように設計しましたが、まずはスタートさせることが大事なので新規サービスを作るときにモノレポ環境に作成することにしました。モノレポにすることでバリデーションなども管理責任を持つチームがメンテナンスすることもできるためできるようになりました。

社内構成の標準化に関しては、標準化していないことによるメリットを上回るだけの標準化のメリットを出さなくては、エンジニアは結局使ってくれないので、その点には心を砕きました。具体的には、ハンズオンを実施して社内のエンジニアに簡単にCronWorkflowが追加できるよというのを体験してもらいました。

この機能は、将来への投資の意味合いが大きいもので、入社したタイミングでは着手するかどうかは五分五分でした。最終的には、今後データが増えることが見込まれることや、SREのリソースが限られるためSREに頼らず自分たちで何とかできる環境づくりを目指すことになったため、開発に至りました。

インスタントユニバースの開発の詳細は下記Tech Blogから▼

これまでのキャリアで経験したデータベースの移行、マイクロサービス化、現実的な折り合いを付ける力などが、これらのプロジェクトで生かされました。

— 遠藤さんはメガベンチャーやスタートアップなど多くのテックカンパニーをご経験されています。そんな遠藤さんからみて、enechainで働く魅力はなんですか。
エンジニアのバーチャルオフィス「Gather」を独自に拡張したり、仕事も遊び心をもって臨むところはユニークです。例えば、踏むと釣り場にワープするポイントが作られているとか(笑)

技術領域で業務をもっと楽しくしようと思っている人が多く、enechainの4つ目のバリュー「余白 。」が体現されています。

— 遠藤さんといえば、基本的にリモートワークでオフィスではほぼ見かけません。
コロナ禍を経て、私の働き方は完全にリモートワークへとシフトしました。『Gather』をはじめとする充実したコミュニケーションツールのおかげで、開発に必要な連携もスムーズです。フルフレックス制を活かして働き方を選べる環境の中で、私自身はリモートワークの方が育児と両立しやすいため、自然とリモートワークが基本の働き方として定着しています。

— 最後に、遠藤さんの夢を教えてください。
enechainのエンジニアとしては、世界に誇れるシステムに育てたいと考えています。enechainは、エネルギー市場をつくるというミッションまでの道のりを牽引するエンジンとして、テクノロジーを核にした未来を見据えていて、世界に誇れる唯一無二のテックカンパニーを目指しています。セキュリティも、全体的なパフォーマンスも、enechainを真似すれば他でもイケてると思われるようなシステムを率先して創りたいと考えています。

エンジニア個人としては、まだ世界のどこにもない新しい仕組みや設計を考えたいです。オープンソースの世界では、誰かが賢い仕組みを考えていて、それに倣えば失敗しないので皆賢い誰かが編み出した仕組みや設計を参考にしながら開発しているわけですが、いつか自分も賢い仕組みを作る側になれたらいいなと考えています。

enechainのバリューのひとつFly High。遠藤さんの夢も Fly High を体現するものだった。

文:コーポレート本部 Communicationsデスク 時松志乃


enechainでは一緒に働く仲間を募集しています

国内最大のエネルギーのマーケットプレイスを運営するスタートアップであるenechainは、“Building Energy Markets, Coloring Our Society” をミッションに、その規模が100兆円を超えるといわれるエネルギー業界が抱えるあらゆるペインを、テクノロジーの力でアンロックし、業界全体のDX実現を推進しています。enechainでは、この壮大なミッションの実現を一緒に目指す仲間を募集しています。


いいなと思ったら応援しよう!