Oisix ra daichi Creator's Blog(オイシックス・ラ・大地クリエイターズブログ)

オイシックス・ラ・大地株式会社のエンジニア・デザイナーが執筆している公式ブログです。

Oisix技術スタック紹介(2025年度版)

はじめに

こんにちは。Oisixエンジニアリング部の栗崎です。

先日開催された「アーキテクチャカンファレンス2025」において、Oisixはスポンサーブースを出展しました。 ブースにお立ち寄りいただいた皆様、ありがとうございました!

当日の会場の様子やイベント全体の雰囲気については、同僚が執筆した協賛レポート記事が公開されていますので、詳細はこちらをご覧ください。

今回のブースでは、会話のきっかけとして「Oisix技術スタック(2025年度版)」をまとめたパネルを展示していました。 当日お越しいただいた方の中には、そのパネルを見ながら「今はこういう構成なんですね」「ここはこうなってるんですか?」と、おはなしをしてくださった方もいらっしゃるかもしれません。

一枚のパネルとしてまとまってはいたものの、図だけでは伝えきれない選定背景や、各技術をどう組み合わせているかといった詳細までは、その場ですべてお話ししきれませんでした。

そこで本記事では、当日展示した内容の補足として、各領域の構成要素や選定技術についてご紹介します。 全体像をつかむための参考として読んでいただければ幸いです。

本記事における技術スタックの位置づけ

各領域の紹介に入る前に、今回ご紹介する技術スタックの位置づけについて触れておきます。

Oisixは今年で創業25周年を迎えました。 四半世紀という歴史の中でシステムも変遷してきましたが、本記事で取り上げている構成には、いわゆるレガシーなシステムは含まれていません。 ここで紹介するのは、Oisixのエンジニアリングが現在進行系で取り組んでいる「これからの標準」となる技術スタックです。

具体的には、大きく2つの文脈が含まれています。

1. アプリケーション領域(Backend / Frontend / Mobile)

現在推進している「第3世代アーキテクチャ」に基づいて構築されている、あるいは移行が進んでいる領域です。

2. データ分析基盤領域

第3世代アーキテクチャとは独立していますが、並行して古い基盤からの移行とモダナイゼーションが進められている領域です。


これら「これからのOisixを支える技術」について、領域ごとに掘り下げていきます。

技術スタック紹介:共通

まずは、職種を問わず全社的に利用されているツールについて紹介します。 チームの生産性を高め、円滑なコミュニケーションを支えるためのツール群です。

1. コミュニケーション & ドキュメント

  • Slack / Notion: フロー情報はSlack、ストック情報やタスク管理はNotionに集約しています。
  • Backlog: 他部署からの依頼・問い合わせの窓口にはBacklogを利用し、開発タスクとの適切な分離とハンドリングを行っています。

2. デザイン・開発連携

  • Figma: デザイナーやエンジニアに加え、EC事業部も同じ場所で議論に参加し、スムーズな実装連携を実現しています。

3. 開発・デプロイメント

  • GitHub / GitHub Actions: ソースコード管理はGitHubに統一しています。CI/CDには主にGitHub Actionsを利用し、テストからデプロイまでのプロセス自動化とサイクル高速化を図っています。

4. 開発生産性・AI

  • Findy Team+: 開発生産性を可視化し、チーム主導の改善サイクルを回すために導入しています。
  • Gemini / GitHub Copilot: 全社的なAIアシスタントとしてGemini、コーディング支援にはGitHub Copilotを標準採用しています。
  • Claude Code: 一部のエンジニア向けに導入し、現場主導で積極的な活用トライアルを行っています。

技術スタック紹介:Platform

続いて、Oisixのサービスを支えるインフラおよび運用基盤(Platform)です。 「信頼性」と「運用効率」を両立させるため、クラウドネイティブな技術と、堅実な監視スタックを組み合わせています。

1. インフラ・IaC(Infrastructure & Infrastructure as Code)

  • AWS: 基盤となるクラウドプロバイダーとしてメイン採用しています。
  • Terraform / Ansible: クラウドリソースはTerraform、OSやミドルウェアの設定管理にはAnsibleと使い分け、構築の自動化と再現性を担保しています。
  • Oracle: 基幹データベースには創業当時からOracleを採用しています。
  • Akamai: CDNとして画像ファイルなど静的データのキャッシュ配信するほか、セキュリティソリューションとしても活用し、パフォーマンスと安全性を担保しています。

2. オブザーバビリティ・運用監視(Observability & Ops)

新旧のシステムが共存する環境において、それぞれの特性に合わせた監視ツールを選定しつつ、アラート対応のフローを構築しています。

  • Datadog: 第1世代(レガシー)、第2・第3世代(モダン環境)のアプリケーションからインフラまでを可視化しています。
  • SolarWinds: 第1世代システムのログ集約やアラート検知に活用し、既存システムの安定稼働を支えています。
  • PagerDuty: 各オブザーバビリティサービスから発火したアラート通知を一本化することで、システム世代を意識することなく、迅速な障害対応が可能な体制を構築しています。

技術スタック紹介:バックエンド(Backend)

バックエンド領域では、第3世代アーキテクチャの中核として、マイクロサービス化とコンテナ化を推進しています。 この領域の技術スタックは、大きく「アプリケーション開発」と「実行・デリバリー環境」の2つの側面に分けてご紹介します。

1. アプリケーション開発(Build Time)

開発者が日々のコーディングや設計で利用するツール群です。 「明確な設計」と「実装リードタイムの短縮」を両立できる技術構成を重視しました。 OpenAPI Specによるスキーマ定義を正としつつ、自動テストをCIに組み込みやすいツールを選定することで、手戻りを防ぎながら高速にイテレーションを回せる環境を整えています。

カテゴリ 技術スタック 選定理由・補足
言語 / FW Java / Spring Boot 創業時からのJava運用実績と、第2世代アーキテクチャで培ったSpring Bootの知見を活かし、もっとも開発効率と安定性が担保できる標準技術として継続採用しています。
O/R Mapper Doma Spring Bootとの親和性が高く、第2世代より継続採用。SQLを外部ファイルとして管理できるため、レビューやチューニングが容易です。
API設計 OpenAPI Spec API駆動開発を実践し、定義書を正とすることで、フロントエンドとの認識齟齬や実装の乖離を防いでいます。
DB管理 Flyway データベースのマイグレーション管理に使用し、スキーマ変更をコードとして管理しています。

2. 実行・デリバリー環境(Runtime & Delivery)

コンテナ化されたアプリケーションを支える基盤とデリバリー構成です。

  • Amazon EKS (Kubernetes): コンテナオーケストレーション基盤として採用しています。
  • Argo CD: GitOpsフローによるデプロイ自動化を実現しています。
  • Dapr: サイドカーパターンを採用し、マイクロサービス間の通信やステート管理を抽象化しています。

技術スタック紹介:フロントエンド(Frontend)

フロントエンド領域では、ユーザー体験の向上と開発効率の両立を目指し、BFF(Backend For Frontend)を含めたモダンなアーキテクチャを採用しています。

1. アプリケーション・UI開発(Build Time)

コンポーネント指向に基づいた開発フローを整備し、品質と再利用性を高めています。

カテゴリ 技術スタック 選定理由・補足
言語 TypeScript フロントエンドからBFFまで標準言語として採用し、型安全性による品質担保と開発効率向上を図っています。
UIライブラリ React フロントエンドのメインライブラリとして採用しています。
コンポーネント管理 Storybook UIコンポーネントをカタログ化して管理。実装とデザインの確認を効率化し、単体での品質を担保しています。
BFFフレームワーク Next.js Reactベースのフレームワークとして採用し、SSRなどの高度なレンダリング機能活用しています。
BFFフレームワーク Hono BFF層において、バックエンドAPIを透過的かつ型安全に呼び出せるフレームワークとして採用しています。

2. 実行・監視環境(Runtime & Observability)

BFFを含むフロントエンドアプリケーションはコンテナ化され、バックエンドと同様の基盤で稼働しています。

  • Amazon EKS (Kubernetes): EKS上にBFFアプリケーション(Next.js/Hono)を稼働させ、高い可用性とスケーラビリティを確保しています。
  • Sentry: クライアントサイド(ブラウザ)のエラー検知にSentryを導入しています。エラー発生時のスタックトレースやユーザー操作ログをリアルタイムに収集し、即座に原因究明ができる体制を整えています。

システム構成(Backend & Frontend)

バックエンドとフロントエンドを統合したシステム構成はこの様になっています1。 Akamaiを入口とし、EKS上でのBFF・Backend APIとの連携、そしてDatadogやArgoCDといったPlatform基盤との関わりを一元的に構築しています。

システム構成図(2025年度版)

技術スタック紹介:モバイル(iOS / Android)

モバイルアプリ領域では、ネイティブアプリならではの高品質なUXと、コード共有技術による開発効率の両立に挑戦しています。

1. アプリケーション・UI開発(Build Time)

各OSの特性を活かしつつ、ビジネスロジックの共通化を推進しています。

カテゴリ 技術スタック 選定理由・補足
ネイティブ言語 Swift / Kotlin UIやOS固有機能は各OSの標準言語(ネイティブ)実装をベースにし、より良いUXの提供を目指しています。
共通ロジック KMP (Kotlin Multiplatform) ビジネスロジックや通信周りを共通化技術として導入し、保守性と開発効率を向上させています。

2. デリバリー・運用(Delivery & Ops)

OSごとのエコシステムに合わせて、最適なデリバリーフローを構築しています。

  • Bitrise: iOSアプリのビルド環境として採用しています。CI/CDにはGitHub Actionsを基本としつつ、コストのかかるiOSビルド処理のみをBitriseに切り出すことで、運用コストを抑えた構成にしています。

  • 配信・監視・制御 (Firebase):

    • App Distribution: Androidアプリのテスト版配布に利用し、社内テストのサイクルを迅速に回しています。
    • Crashlytics: アプリのクラッシュ検知やパフォーマンス監視に利用し、ユーザーの手元での安定性を常にモニタリングしています。
    • Remote Config: アプリのアップデートなしで機能のオンオフを切り替えるFeature Toggle(機能フラグ)として活用し、安全なリリースと柔軟な運用を実現しています。

技術スタック紹介:データ分析基盤

データ分析基盤領域では、Web/アプリの行動データと基幹データを統合し、全社的な意思決定の質を高めるためのモダナイゼーションを推進しています。

1. データ収集・連携(Ingestion & Pipeline)

ユーザーの行動ログと、ビジネスデータをシームレスに連携させるフローを構築しています。

  • GA4 / GTM / BigQuery: ユーザー行動データをGTMおよびGA4を利用して収集し、rawデータをBigQueryに蓄積しています。ここで集計・一次加工されたデータを、全社DWHであるSnowflakeへと連携・統合することで、注文データなどと掛け合わせた深い分析を可能にしています。

2. データ基盤・エンジニアリング(Platform & Engineering)

  • Snowflake: 全社のデータが集約されるデータ基盤の中核(DWH)として採用しています。コンピュートの分離による柔軟なスケーリングを活用しています。
  • dbt / Python (MWAA): データ変換(Transform)にはdbtを採用し、SQLベースの変換ロジックをバージョン管理することで、属人化を防ぎ品質を担保しています。また、データパイプラインの制御や外部連携にはMWAA(Apache Airflow / Python)を活用し、エンジニアリングによる自動化を進めています。

3. BI・可視化(Visualization)

  • Looker: データの可視化および分析環境として採用しています。LookMLを用いて指標定義をコード管理することで「数字の定義揺れ」を防ぎ、ビジネスサイドが安心してデータを活用できる(データの民主化)環境を提供しています。

データ分析基盤構成

データ分析基盤のシステム構成はこの様になっています2

データ分析基盤システム構成図(2025年度版)

おわりに

25周年を迎えたOisixですが、その技術スタックは決して立ち止まってはいません。

「第3世代アーキテクチャ」への移行やKMPによるマルチプラットフォーム化、そしてデータ分析基盤の刷新など、既存の巨大なシステムを動かしながら、よりスピーディーで堅牢な基盤へと作り変えていくという非常にエキサイティングなフェーズにあります。 今回ご紹介した構成は、私たちが目指している「これからの標準」であり、実際の移行はまだ始まったばかりです。 道のりは長いですが、よりスピーディーで堅牢な基盤を目指し、一歩ずつ変革を続けていきます。 今後もTech Blogなどを通じて、このモダナイゼーションの進捗や、その過程で得た知見を発信していければと思います。


  1. 技術スタックに登場しないものは省略して記載しています。
  2. 技術スタックに登場しないものは省略して記載しています。

Oisix ra daichi Creator's Blogはオイシックス・ラ・大地株式会社のエンジニア・デザイナーが執筆している公式ブログです。

オイシックス・ラ・大地株式会社では一緒に働く仲間を募集しています