newmoの創業を支えるSoftware ArchitectureとPlatform Engineeringのトップ画像

newmoの創業を支えるSoftware ArchitectureとPlatform Engineering

投稿日時:
伊藤 雄貴のアイコン

newmo株式会社 / ソフトウェアエンジニア

伊藤 雄貴

Xアカウントリンク

本記事では、2025年5月14日に開催されたオンラインイベント「【技術選定を突き詰める】Online Conferenc​​e 2025」内のセッション「newmoの創業を支えるSoftware ArchitectureとPlatform Engineering」の内容をお届けします。同セッションでは、newmo株式会社の伊藤雄貴(@mrno110)さんに、実践しているプラットフォームエンジニアリングの取り組みを事例とともにお話しいただきました。ぜひ本編のアーカイブ動画とあわせてご覧ください。


伊藤: まず始めに自己紹介させていただければと思います。私はnewmo株式会社というモビリティの会社で、プラットフォームエンジニアリングの推進をしている伊藤雄貴と申します。newmoではGoogle Cloudを使い、最適なシステム・ネットワーク構成、ソフトウェアアーキテクチャ設計などを推進しています。スタートアップ企業なので、実際にビジネスドメインのコードも書いています。また、Google Developer Expertとして主にコンテナやマイクロサービスのクラウドアーキテクチャに関するノウハウを共有しています。

まずは私たちの会社についてお話しします。newmoは「移動で地域をカラフルに」をミッションに掲げたモビリティのスタートアップです。主に大阪で利用できる配車アプリを提供しており、タクシー、ライドシェア、配車アプリ、オートリースのサービスを展開しています。2024年に創業し、1年少し経った今、ゼロからスケールさせていく上で、どのような技術を選定すべきか、newmoで取り組んでいるプラットフォームエンジニアリング、その考え方を取り入れたソフトウェアアーキテクチャやクラウドアーキテクチャについて本日はお話ししたいと思います。

プラットフォームエンジニアリングの取り組み

まずプラットフォームエンジニアリングとは何でしょうか。私がよく参考にしているCNCF (Cloud Native Computing Foundation)が出しているホワイトペーパーにおいて、プラットフォームエンジニアリングとは、「アプリケーションを実装していく上で必要な様々なことを、コレクションとしてアプリケーション開発者に提供していく」と抽象的に定義しています。さらに、著名なソフトウェアエンジニアであるマーチン・ファウラーも同様に定義しており、プラットフォームエンジニアリングとは「セルフサービス、ツール、ナレッジ、サポートなどを内部のプロダクトとしてアプリケーション開発者に提供していく」ものとしています。

プラットフォームエンジニアリングの取り組み.png

この概念を具体的に見ていきましょう。この図も先のホワイトペーパーからの引用ですが、一番上が内部のプロダクト開発チームやアプリケーション開発チーム、いわゆるビジネスドメインの開発をしているチームに対し、プラットフォームのインターフェースとしてドキュメンテーション、テンプレート、API、CLIなどを提供します。その裏側では、データベースの種類、アプリケーション実行環境、メッセージング、認証認可の仕組み、セキュリティをデフォルトにするためのガードレールなどをプラットフォームのケーパビリティとして定義し、インターフェースを通じてアプリケーション開発者やプロダクト開発者に提供していきます。これは、アプリケーション開発者がビジネスロジックに極力集中できる環境を提供することを目的とした取り組みです。

このホワイトペーパーでは、プラットフォームのキーとなる属性も同様に定義しています。まず非常に重要なのが、プラットフォームもプロダクトとして実装していくことです。プラットフォームはインフラストラクチャーの要素が強いと思われがちですが、単にインフラを構築するだけでなく、それを抽象化し、内部のアプリケーション開発者に対してそれをプロダクトとして提供していくことを目指します。そのため、ビジネスドメインの開発と目線を合わせていくことが大切です。内部開発者が何に困っているかを理解し、どのようなプラットフォームを誰に届けるべきかという考え方が非常に重要になります。それゆえに、内部の開発者であるユーザーに対し、どのようなユーザーエクスペリエンスを提供していくかが大切です。インフラストラクチャーやプラットフォームは構築しただけでは使いにくいので、ドキュメントを整備し、複雑な仕組みであれば、オンボーディングを設計して使えるようにすること。そして利用者がプラットフォームチームに問い合わせることなく、ドキュメントやオンボーディングを通じて自律的にプラットフォームを使えるセルフサービスであることがかなり重要になります。

この記事のつづきを読もう
新規登録/ログインしたらできること
  • すべての記事を制限なく閲覧可能
  • 限定イベントに参加できます
  • GitHub連携でスキルを可視化
ログイン
アカウントをお持ちでない方はこちらから新規登録

プロフィール