MIXI GROUPは多様な事業領域でサービスを展開しています。

サービスの中には10年を超えるロングタイトルもあれば、リリースしたてのプロダクトもあります。技術は時と共に変化・進化するため、サービスのフェーズや特性に応じて必要な技術も様々。そのため、MIXIでの技術選定は、それぞれのサービスを開発するエンジニアが最適な技術を選択しています。

今回は、各プロダクトで使われている技術についてまとめました。開発言語をはじめ、ライブラリやデプロイツールなどMIXIで用いている技術を一挙にご紹介します。

*現在の事業領域、サービスについてはこちら
〈2022年度版〉「MIXIって今なにやってるの?」→お答えします

*過去の記事はこちら
ミクシィグループのサービスと利用技術(技術スタック)についてまとめてみた
ミクシィのサービスと技術スタック(開発環境)についてまとめてみた その2

*2022年12月更新時点の情報です

【サービスおよび、技術スタック一覧】

目次

■スポーツ
TIPSTAR
Fansta
humy
DAZN MOMENTS
MIXI M

■デジタルエンターテインメント
モンスターストライク
『モンスターストライク』解析グループ
ゴーストスクランブル
共闘ことばRPG コトダマン
Asym

■ライフスタイル
家族アルバム みてね
minimo
会話AIロボット Romi
KARASTA
mocri
FINDJOB!
mixi

■開発本部
SREグループ
AI相談室
映像開発グループ
インフラグループ
データグループ
次世代育成
セキュリティ室

LX事業部

CRE

 

■スポーツ

TIPSTAR

サービス/事業部の取り組み

『TIPSTAR』は、公営競技を取り扱ったサービスで、有料はもちろん無料のメダルでも遊ぶことができます。公営競技のスポーツ性やエンターテインメントの要素にフォーカスし、新しい映像コンテンツ、遊び方を提供していくサービスとなっています。サービス想定規模が大きく特定の時間にスパイクが発生する要件が見込まれたので容易にスケールできる形と非同期で処理ができる形にしていきました。PFがiOS / Android / Webとある中、OpenAPIにてAPIを定義することで各PFで再利用可能な物を用意し効率化しています。

技術スタック

iOS(言語、ライブラリなど) Swift / RxSwift / Unity as a Library / Firebase / gRPC-Swift / SnapKit
Android(言語、ライブラリなど) Kotlin / Kotlin Coroutines / Kotlin Flow / UI Automator / Unity as a Library / Firebase
フロントエンド(言語、ライブラリなど) TypeScript / React / Next.js / SWR / Redux / Storybook / Jest / styled-components / Firebase
サーバサイド(言語、ライブラリなど) Go / Echo / OpenAPI / Protocol Buffers / Ruby on Rails
インフラ Google Cloud ( GKE / Cloud Run /
Cloud Spanner / Memorystore / etc. ) / AWS ( MediaLive / CloudFront / S3 / etc. )
ミドルウェア Kubernetes / nginx / Spanner Autoscaler
データベース Cloud Spanner / Cloud SQL
モニタリング Cloud Monitoring / Managed Service for Prometheus
データ分析 Firebase / BigQuery / Looker / DataFlow
デプロイツール Helm / Argo CD
環境構築 Terraform
CI Bitrise / GitHub Actions / CircleCI / Cloud Build
機械学習ライブラリ AutoML vision
その他 gRPC / PagerDuty / SendGrid / DeployGate

技術スタックの背景

iOS / Android / Webとして多数のプラットフォームへネイティブでの開発、Google Cloudをメインとし映像周りにAWSを利用し広範囲で技術に触れることができることが特徴の一つとなっています。

アプリケーションはネイティブでの実装に加え、ガチャやゲーム性の高い部分についてはUaaLを利用したり、MLを利用したレース結果の予想やレコメンデーションの開発など技術的なトライも行っています。

開発のフローは常に更新しており、スクラムの導入に向け大多数のメンバーがスクラム研修を受ける機会を設けるなど広い範囲での学習機会の創出にも積極的に取り組んでおります。

 


Fansta

サービス/事業部の取り組み

『Fansta(ファンスタ)』は、スポーツファンがスポーツ観戦できる飲食店を、エリアだけでなく放映予定からも検索することができるサービスです。『Fansta』内でお得なクーポンの配布、飲食店の予約、定期的なキャンペーンを開催することでユーザと飲食店(主にスポーツバー)を繋げるサービスとなっています。

技術スタック

iOS(言語、ライブラリなど) Flutter / GetX
Android(言語、ライブラリなど) Flutter / GetX
フロントエンド(言語、ライブラリなど) TypeScript / React / Next.js / Apollo / Jest / ESLint / Sass
サーバサイド(言語、ライブラリなど) Ruby / Ruby on Rails / RSpec
インフラ Google Cloud ( GKE )
ミドルウェア nginx
データベース Cloud SQL ( MySQL )
モニタリング Cloud Monitoring
データ分析 Cloud Logging / Google Analytics / Google Tag Manager / Data Studio / AppsFlyer
デプロイツール Argo CD / Helm
環境構築 Docker / Docker Compose
CI CircleCI / Bitrise
その他 GraphQL / ImageFlux / Rollbar / Renovate / SendGrid

技術スタックの背景

FlutterやGraphQL / Kubernetesといったモダンな技術を積極的に採用しています。特にアプリ開発においては、チーム内にアプリエンジニアがいない状況でiOS / Androidをリリースする必要がありました。そこで、学習コストが低く、挑戦したいメンバーが多かったFlutterを採用しました。結果、それぞれ開発するより大幅に工数を削減することができたと考えています。また、メンバーのモチベーションも高く開発できました。

また、Fansta開発チームでは、属人化しない体制作りを積極的に行っていることが大きな特徴です。技術領域の垣根を設けず、全員が全ての領域に触れることができるようにしています。

これを実現するために、リリース手順書の作成や困ったときのペアプロ、毎日の開発定例内で相談する時間を設けることで、お互いにフォローしながら日々作業を進めています。

 


humy

サービス/事業部の取り組み

音楽アーティストのファンを対象に、アーティストからの生の声や最新情報を届ける、ファンコミュニケーションプラットフォームです。

現在は洋楽アーティストと連携していることもあり、多言語化や外貨決済への対応を進め、国外のユーザーに対しても展開しています。

技術スタック

iOS(言語、ライブラリなど) Flutter / Riverpod
Android(言語、ライブラリなど) Flutter / Riverpod
フロントエンド(言語、ライブラリなど) Next.js / Apollo
サーバサイド(言語、ライブラリなど) Go / gqlgen / AWS S3 / AWS Elemental MediaConvert
インフラ Google Cloud ( App Engine ) / Terraform
データベース Cloud Spanner
モニタリング Cloud Monitoring
CI GitHub Actions / Bitrise / CircleCI

技術スタックの背景

バックエンドは、Cloud Spannerに格納したデータを処理し、レスポンスをGraphQLで返していますが、この構成を実現する既存のGo言語のフレームワークが確立しておらず、自動生成ツールなどを活用して新規開発を続けています。

 


DAZN MOMENTS

サービス/事業部の取り組み

『DAZN MOMENTS』はスポーツ・チャンネル「DAZN」と共同で開発・運営するスポーツ特化型NFTマーケットプレイスで、様々なスポーツジャンルのNFTコンテンツを提供予定。スーパープレイやメモリアルシーンの瞬間をNFTコンテンツとして提供するサービスです。
好きなスポーツ、好きな選手を集め、お気に入りのシーンを何度でも楽しむことができます。コンテンツにはそれぞれシリアルナンバーが記されており、Flowブロックチェーンに記録されます。

技術スタック

フロントエンド(言語、ライブラリなど) TypeScript / React / Next.js
サーバサイド(言語、ライブラリなど) Go
インフラ Google Cloud / Kubernetes
ミドルウェア nginx / Kafka
データベース PostgreSQL
モニタリング Bugsnag
データ分析 Google Analytics / Looker / BigQuery
デプロイツール Kustomize
環境構築 Terraform
CI GitHub Actions
その他 Flow ( blockchain ) / GraphQL

技術スタックの背景

『DAZN MOMENTS』ではNFTの基盤としてFlowを使っています。FlowはNFTを扱うことに特化したブロックチェーンで、高速に処理を行うことができるとともに、proof-of-stake方式を用いることで電力消費も抑えていることが特色となっています。Webアプリケーション部分ではフロントエンドではReact、バックエンドではGoを利用しており、GraphQLでデータのやり取りを行っています。インフラとしてはKubernetesを採用しています。

 


MIXI M

サービス/事業部の取り組み

『MIXI M』は、認証から決済までをワンストップで提供できる基盤システム & WALLETサービスです。

ビジネスからエンタメ領域まで様々なサービスの『間(M)』をなんとかすることをサービスコンセプトとして、ID・認証基盤やWALLET(金融システム)をすべて自社開発することでユーザーの利用シーンに合わせた柔軟なサービスを展開しています。

技術スタック

iOS(言語、ライブラリなど) Swift / VIPER / RxSwift / XcodeGen
Android(言語、ライブラリなど) Kotlin / Jetpack / Navigation Architecture Component
フロントエンド(言語、ライブラリなど) TypeScript / React / Next.js / Storybook
サーバサイド(言語、ライブラリなど) Elixir / Phoenix / Ecto
インフラ AWS ( Amplify / ECS / Fargate / Lambda / API Gateway )
ミドルウェア Amazon SQS / AWS Key Management Service / Amazon SES
データベース Amazon DynamoDB / Amazon Aurora
モニタリング Amazon CloudWatch / Rollbar / PagerDuty
データ分析 AWS Glue / Amazon Athena / Looker / Google Analytics 4
デプロイツール AWS CodeDeploy
環境構築 AWS CloudFormation
CI AWS CodeBuild / GitHub Actions

技術スタックの背景

『MIXI M』では、主にPCIDSS準拠した決済システムやID基盤を開発・運用しています。これらのシステムに対し、フルマネージドサービスを積極活用しながら内製することで、少人数での開発と運用コストの削減を実現しています。

技術的にはErlang VMの安定性や、耐障害性、パターンマッチの便利さなども考慮しElixirを利用して開発を行っています。

データストアに関しては、スケーラビリティの観点を始めとした様々な面でのメンテナンスコストを抑えるために、DynamoDBを全面的に採用しています。

 


■デジタルエンターテインメント

モンスターストライク

サービス/事業部の取り組み

モンスト事業本部の開発室では、世界累計利用者数5,900万人(2022年11月時点)を突破した『モンスターストライク』を中心に様々なサービスを開発している部署です。サーバサイドでは、大手クラウドに加え、国内複数拠点のデータセンタを使用して運用を行っている点が大きな特徴です。

技術スタック

iOS(言語、ライブラリなど) Objective-C / Swift
Android(言語、ライブラリなど) Java
フロントエンド(言語、ライブラリなど) JavaScript ( jQuery ) / Bootstrap / eRuby / Elm
サーバサイド(言語、ライブラリなど) Ruby ( rbenv / Bundler / Active Record / Active Support / Padrino / unicorn / Rake / Resque / RSpec ) / Go / Perl
インフラ Google Cloud ( GCE / CloudCDN / GKE ) / AWS ( EC2/ ELB / S3 / CloudFront / Route53 ) / オンプレミス ( Cobbler )
ミドルウェア nginx / Fluentd / NATS / Consul
データベース MariaDB / Redis / Memcached / etcd / AWS RDS
モニタリング Prometheus / Nagios / CloudForecast / Grafana / CloudWatch / Cloud Monitoring / PagerDuty
データ分析 BigQuery / Amazon OpenSearch / Athena
デプロイツール Capistrano / Bazel / Helm
環境構築 Ansible / MItamae / Chef / Packer / Docker / Terraform
CI Jenkins
ゲームクライアント(言語) C++ / GLSL
ゲームクライアント(サウンド) OpenAL
ゲームクライアント(グラフィックス) OpenGL ES
ゲームクライアント(エンジン) Cocos2d-x
ゲームクライアント(ミドルウェア) Firebase SDK / AppsFlyer / EnsureIT
ゲームクライアント(その他) WebSocket / msgpack

技術スタックの背景

サーバサイドはRails風のRubyウェブアプリケーションになっています。それらとMariaDBなどのバックエンドを主に自社データセンターで管理しており、需要に応じて各社クラウドにダイレクトに繋げて展開しています。 また、Kubernetesベースのメッセージングサーバ、自作ゼロトラストプロキシや各種運用ツールを開発し、リファクタリングと新技術の導入による改善を積み重ね、チャレンジと安定運用の共栄を目指しています。

 


『モンスターストライク』解析グループ

サービス/事業部の取り組み

モンスト事業本部解析グループでは、モンストやモンストシリーズのデータ分析、分析基盤の構築運用を行っています。

日々蓄積される膨大なデータを用いて集計や統計分析を行いサービス改善、課題を把握・解決することで事業を支援します。

技術スタック

サーバサイド(言語、ライブラリなど Ruby / Python / Google Apps Script
インフラ Google Cloud ( Dataflow / GCS / GCE / GKE / Cloud Scheduler / Cloud Functions / Cloud Run / Workflows / Pub/Sub ) / AWS ( EMR / Lambda / Batch / Glue / ECS / S3 / EC2 )
データベース RDS / DynamoDB
モニタリング CloudWatch Logs / Cloud Logging / Cloud Monitoring
データ分析 BigQuery / Looker / Athena / Colaboratory
デプロイツール Cloud Build / CodeBuild / CodePipeline
環境構築 CloudFormation / Terraform
CI Cloud Build / CodeBuild
その他 dbt / Airflow / Luigi

技術スタックの背景

以前はAWSのEMR HiveでデータをETL、分析用にRedshiftにLoadするという構成でしたが、データ基盤のGoogle Cloud移行により構成が大きく変わりました。現在はAWS上のログやDBスナップショットをStorage Transfer ServiceでGCSへ送信、BigQueryでETLまたはELTしてデータの整備を行っています。

また、モンストシリーズでは各プロダクトを横断した分析を可能にするため、共通KPIの定義、ログフォーマットの共通化、BigQueryとLookerへのデータの集約など行っています。

分析のアウトプットとして利用されるGoogle Workspaceとの親和性や大規模データをフル活用出来るBigQuery、データガバナンスと可視化に優れたLooker構築に取り組み、データを必要とする人が必要なデータに素早くアクセス出来るデータ基盤の構築運用をしていきます。

 


ゴーストスクランブル

サービス/事業部の取り組み

最大3人のマルチプレイで仲間と連携しボスオバケと戦う「ブッ祓い共闘アクションゲーム」です。ヒカリを当てる、味方オバケ「モンQ」を飛ばす等のアクションを駆使してオバケと戦うのが特徴です。

技術スタック

サーバサイド(言語、ライブラリなど) Go / gRPC-Go / Ruby on Rails
インフラ GKE / Agones
ミドルウェア Firebase Cloud Messaging
データベース Cloud Spanner / Redis
モニタリング Prometheus / Cloud Monitoring
データ分析 BigQuery / Dataflow / Pub/Sub
デプロイツール Cloud Build
環境構築 asdf / Docker / Ansible
CI Cloud Build / GitHub Actions ( self-hosted runners )
その他 Locust
ゲームクライアント(言語) C# / Rust / Java / Objective-C / HLSL
ゲームクライアント(サウンド) CRIWARE Adx
ゲームクライアント(グラフィックス) Universal Render Pipeline ( URP )
ゲームクライアント(エンジン) Unity 2020 LTS
ゲームクライアント(ミドルウェア) Protocol Buffers / gRPC / Monobit Unity Networking ( MUN ) / Firebase SDK / AppsFlyer
ゲームクライアント(その他) 内製ボイスチャットシステム / 内製ゲーム録画システム / Roslyn Analyzer / Bugsnag / SRDebugger

技術スタックの背景

〈クライアント〉
ボイスチャットや騒ゲーハイライトといった特殊なシステムも内製で、RustやiOS / Androidネイティブ実装が多く含まれています。アウトゲームではMV(R)Pアーキテクチャを軸とした作りで、コルーチン代替としてUniTaskをインゲームにおいても積極的に採用。グラフィックはURPを採用し、いくつかの汎用シェーダーを新規開発し、ゲーム中のほぼすべての表現を実現しています。また、CIに関して、MIXIのゲームプロジェクトにおいては、クライアントビルド、アセットバンドルビルドはJenkinsから脱却し、すべてGitHub Actionsのself-hosted runnerで構築した初の事例となっています。

〈インフラ〉
インフラに関する技術的な話は以下にまとめています。
https://medium.com/mixi-developers/stble-over-view-ab9bc69f5819

 


共闘ことばRPG コトダマン

サービス/事業部の取り組み

コトダマン事業部では『共闘ことばRPG コトダマン』の開発・運用を行っています。言葉を作ってコンボを決める他にはない言葉合わせRPGです。

職種混合の少人数チームによるスクラム開発で新規機能の開発を行なっております。

技術スタック

サーバサイド(言語、ライブラリなど) Java 8 ( Amazon Correto ) / Apache Tomcat / Apache Struts 2
インフラ AWS ( EC2 / RDS / S3 / Route53 / CloudFront / ElastiCache / EKS / etc. )
ミドルウェア nginx
データベース Amazon Aurora / Redis / memcached
モニタリング Mackerel
データ分析 BigQuery / Looker / Airflow
デプロイツール Capistrano / Argo CD
環境構築 Docker / Ansible / CloudFormation / Terraform
CI Jenkins / GitHub Actions
ゲームクライアント(言語) C#
ゲームクライアント(サウンド) CRIWARE Adx
ゲームクライアント(エンジン) Unity2020.3
ゲームクライアント(ミドルウェア) Monobit Unity Networking ( MUN ) / Firebase SDK / AppsFlyer
ゲームクライアント(その他) Repro / Bugsnag / UniWebView / 宴 / SRDebugger

技術スタックの背景

移管前の技術スタックから少しずつ転換を図っています。

(開発環境へのEKS導入やCI/CD周り改善など)

 


Asym

サービス/事業部の取り組み

リアルタイムストラテジー vs ステルスアクション!『Asym Altered Axis』は、ストラテジー側が作り上げ防衛するステージへ、動物に変身できるアクション側のチームが潜入して”Nexus”を奪い脱出を目指す、1vs最大5のクロスジャンルゲーム。現在開発中でSteam(Windows PC)にてリリース予定。

技術スタック

サーバサイド(言語、ライブラリなど) Go / Protocol Buffers
インフラ Cloud Run / GameLift
データベース Spanner
モニタリング Cloud Logging / Cloud Monitoring
データ分析 BigQuery
環境構築 Docker / Terraform
CI GitHub Actions / Jenkins
ゲームクライアント(言語) C++ ( Visual Studio 2022 & ReSharper )
ゲームクライアント(サウンド) Wwise
ゲームクライアント(グラフィックス) Maya
ゲームクライアント(エンジン) Unreal Engine 5
ゲームクライアント(その他) Niagara / Gameplay Ability System / Online Subsystem Steam / KawaiiPhysics / Protocol Buffers

技術スタックの背景

〈クライアント〉
少人数精鋭、1年でαリリースするという目標を達成するために、ゲームジャンル(マルチプレイ3Dアクション)にマッチしたUnreal Engineをゲームエンジンに採用しました。開発をより効率的に進めるために、Unreal Engine 5での新機能の活用も積極的に行っています。

〈サーバ〉
少人数精鋭でのサービスグロースを見据えてCloud Run / Spanner / GameLiftなどスケール性のあるマネージドサービスを中心に構成しています。実装面の工夫としては、protoからのコード生成を拡張して開発効率化を図っています。またクライアントのキャッシュにより、通信結果を予測してのUX向上や、トラフィックの削減などを図っています。

 


■ライフスタイル

家族アルバム みてね

サービス/事業部の取り組み

ママ・パパが撮った子どもの写真や動画を、祖父母や親戚など、招待した家族だけに共有できるアプリです。これまで多くのご家族にご利用いただいており、2022年8月には利用者数が1,500万人(※iOS / Androidアプリ登録者数、ブラウザ版登録者数の合計)を突破しました。グローバル展開も進めており、現在7言語・175の国と地域でご利用いただけます。

技術スタック

iOS(言語、ライブラリなど) Swift / Swift Concurrency / RxSwift / Alamofire / Realm / CoreData
Android(言語、ライブラリなど) Kotlin / Kotlin Coroutines / Kotlin Flow / RxJava3 / Retrofit2 / OkHttp3 / Hilt / WorkManager / Room / Android Archtecture Component / Glide4 / ExoPlayer / Jetpack Compose
サーバサイド(言語、ライブラリなど) Ruby ( Ruby on Rails ) / Go / Python
インフラ AWS( EKS / ECR / S3 / CloudFront / ALB / Route 53 / SQS / SNS / SES / Kinesis Data Firehose / SageMaker )
ミドルウェア Puma / Sidekiq Pro
データベース Aurora / Aurora Global Database / DynamoDB
モニタリング New Relic / CloudWatch / Prometheus / Grafana / PagerDuty
データ分析 BigQuery / Athena / Redash
デプロイツール Argo CD
環境構築 Terraform
CI Bitrise / GitHub Actions / CircleCI / CodeBuild
機械学習ライブラリ TensorFlow + Keras / PyTorch / Kubeflow Pipelines
その他 DeployGate / Firebase / ImageMagick / libvips / FFmpeg

 


minimo

サービス/事業部の取り組み

『minimo』は、お客様ユーザにとっては自分にぴったりのサロンスタッフをお得に探して予約できるアプリです。

美容師、ネイリスト、アイデザイナーなど美容サービスを提供する側のユーザにとっては、自分のスマホさえあればすぐに集客を始めることができるアプリです。

技術スタック

iOS(言語、ライブラリなど) Swift / Objective-C / SwiftGen
Android(言語、ライブラリなど) Kotlin / Java / Android Architecture Component ( LiveData / ViewModel ) / DataBinding / ViewBinding / Kotlin Coroutines / Retrofit2 / Dagger2
フロントエンド(言語、ライブラリなど) JavaScript / TypeScript / React / Next.js / RTK Query / React Hooks Form / Emotion / Storybook
サーバサイド(言語、ライブラリなど) Perl / Go
インフラ AWS( EC2 / ECS / Fargate / RDS / S3 / CloudFront / OpenSearch / Route53 / Cognito / SQS / etc. ) / ImageFlux
ミドルウェア nginx / td-agent / rundeck
データベース MySQL
モニタリング CloudWatch / Datadog
データ分析 BigQuery / Looker / Redash / GA4 / AppsFlyer
デプロイツール AWS CDK
環境構築 AWS CDK / Docker
CI GitHub Actions ( self-hosted runners ) / CodeBuild / Bitrise
その他 Firebase / DeployGate

技術スタックの背景

〈インフラについて〉
当初、『minimo』ではEC2にて本番環境を運用していましたが、インフラの複雑化や属人化、スケーラビリティといった課題解決のため、コンテナ運用に移行することになりました。
コンテナは、学習コスト面やバージョンを意識せずに済む観点からECSを採用しました。
現在ではそれらをCDKで管理し、自動でデプロイされる仕組みが構築されています。

〈Go移行について〉
次の大きな技術スタックのアップデートとして、PerlからGoへの移行に取り組んでいます。
エンジニア採用、イメージサイズや型の不在、ライブラリのメンテ状況といった課題を解決でき、かつメンバーのモチベーションが高いGoを選定し、現在移行作業を行なっています。

〈Webフロントエンド移行について〉
『minimo』Web版もサーバサイドMVCフレームワークのテンプレートエンジンがHTMLを出力する形から、Next.jsを使った形への移行に取り組んでいます。
事業が成長しメンバーが増え開発が活発になった結果、見た目の崩れ、ページ表示速度の低下等の課題が少しずつ出てきたため、より効率的な開発を行える体制を目指しています。
Next.jsは「すでに『minimo』でReactを使ったサービスがありその知見を活かせること」「SEOを考えた時にSSRが必須なこと」という2つの観点で採用を決めました。

 


会話AIロボット Romi

サービス/事業部の取り組み

Romi事業部では、新規事業として、人と会話ができる家庭用会話ロボットを研究開発しています。スマートスピーカーなど世の中の多くの会話システムは、便利な機能を実現するための手段として会話を使います。一方、私達は便利な機能ではなく、雑談的な会話をして情緒、感情的なニーズを満たすことを目的としています。これはとてもチャレンジングな課題で様々なアルゴリズムを組み合わせて検証を行っています。

技術スタック

iOS(言語、ライブラリなど) Swift / Lottie / Firebase / Mint / XcodeGen / SwiftGen / SwagGen / SwiftLint / Bitrise / fastlane
Android(言語、ライブラリなど) Kotlin / Lottie/ Firebase
フロントエンド(言語、ライブラリなど) React / TypeScript / Vue.js
サーバサイド(言語、ライブラリなど) Python / Poetry / Flask / OpenAPI
インフラ AWS ( EC2 / ECS Fargate / ALB / CloudFront / Lambda / IoT / Route53 / IAM / EventBriddge ) / Google Cloud ( Compute Engine – 機械学習の学習環境のみ / Cloud Speech-to-Text )
ミドルウェア uWSGI
データベース Aurora / DynamoDB / Elasticsearch / ElastiCache / Neptune / Shadow ( AWS IoT ) / S3
モニタリング CloudWatch
データ分析 Elasticsearch / BigQuery / Looker
デプロイツール CircleCI
環境構築 Terraform / Ansible / Packer
CI CircleCI
機械学習ライブラリ PyTorch
その他 ROS / Unity ( Romi のモーター動作シミュレーション )

技術スタックの背景

エンジニア9人で、インフラからフロント、アプリ、ハードウェア(一部)まで開発しているため、チームメンバーは自分の得意な分野を持ちながらも他の分野もわかるT型人材で構成されています。
使っているデータベースが幅広いのも特徴で、GraphDBであるNeptuneなど珍しいものも使っています。

『Romi』の知識表現として三項関係(Romi – 好き – バナナ)を用いるためGraphDBを使い始めましたが、我々の用途だとオーバースペックで、RDBで十分だったなというのが反省点です。
機械学習はもともとTensorFlowを使っていましたが、世の中がPyTorch優勢になってきたことや、コードの書きやすさなどから現在はPyTorchに移行しました。

 


KARASTA

サービス/事業部の取り組み

『KARASTA(カラスタ)』は、カラオケや音楽が好きな人が集う、「カラオケ動画 / ライブ配信コミュニティアプリ」です。

スマホだけで手軽にカラオケを楽しんだり、歌ってみた動画を作って、他のユーザに見てもらったりすることができます。

キー変更やエコーなど本格的なカラオケの機能があり、肌が綺麗に見える美肌フィルター、ユニークな画像エフェクトなどでより楽しいカラオケ動画を作ることができます。

技術スタック

iOS(言語、ライブラリなど) Swift / RxSwift / AudioKit / BytePlus Effects
Android(言語、ライブラリなど) Kotlin / Jetpack Compose / Corutines / Superpowered / BytePlus Effects
フロントエンド(言語、ライブラリなど) ES6 / Vue.js 2
サーバサイド(言語、ライブラリなど) Python3 / Django / Django REST Framework
インフラ AWS ( ECS Fargate / ALB / CloudFront / Lambda / Media Convert / S3 / IoT / SES ) / Google Cloud ( Pub/Sub )
ミドルウェア uWSGI / Celery
データベース AWS Aurora Serverless v2 / AWS ElastiCache for Redis
モニタリング AWS CloudWatch / New Relic / Rollbar
データ分析 Redash / AWS Athena / BigQuery
デプロイツール invoke / AWS CLI / boto3
環境構築 Terraform / Docker
CI CircleCI / Bitrise
その他 FIrebase Cloud Messaging / Agora.io

技術スタックの背景

チームが少人数ということもあり、AWSのマネージドサービスやクラウドサービスを多用しています。ライブ配信は複数人で配信する必要があったのと、SDKがオーディオ系を扱いやすかったため、Agora.ioを採用しました。

クライアントではカラオケ動画を作成することもあり、オーディオや動画エフェクトのライブラリを使用しているのが特徴です。

バックエンドはメンバーがPython / Djangoに馴染みがあったので採用しました。インフラはWebアプリケーションでの王道の構成だと思います。PubSub機能とクライアントアプリのタスクキルを検知するためにAWS IoTを使っているのが数少ない特異点です。

 


mocri

サービス/事業部の取り組み

誘いづらい・喋りながら作業できない人のための作業通話アプリ『mocri(もくり)』です。作業したい時にいつでも立ち寄れることができ、みんなで一緒に集中して作業することができます。

技術スタック

iOS(言語、ライブラリなど) React Native / Swift / gRPC ( gRPC-ProtoRPC / gRPC-Web )
Android(言語、ライブラリなど) React Native / Kotlin / Coroutines / gRPC ( gRPC-OkHttp / gRPC-Android / gRPC-Web )
フロントエンド(言語、ライブラリなど) TypeScript / React / Next.js / Fastify / gRPC ( gRPC-Web )
サーバサイド(言語、ライブラリなど) Go / gRPC ( gRPC-Go ) / Protocol Buffers
インフラ AWS ( EKS / CloudFront / NLB / S3 / SES / Route 53 )
ミドルウェア Envoy / nginx / Faktory
データベース Amazon Aurora / Amazon ElastiCache for Redis
モニタリング Amazon CloudWatch
データ分析 Metabase / BigQuery / Google Analytics ( GA4 ) / Firebase Analytics
デプロイツール kubectl / bash
環境構築 Terraform / Ansible
CI GitHub Actions
その他 Firebase Cloud Messaging / Firebase Dynamic Links / Agora.io

技術スタックの背景

エンジニアが3人以上になったことがない少人数チームでiOS / Android / Webの3プラットフォームを開発するため、React NativeやNext.jsなど、Reactを使ったライブラリやフレームワークを導入し、アーキテクチャを統一して出来る限りコードの再利用ができるような少人数でも作れる構成にしています。

iOS / AndroidはUIはReact Native、双方向通信や音声通話関連箇所はネイティブ実装しています。

バックエンドはコンテナイメージサイズを抑えられ、かつパフォーマンスの良いGoを採用し、Protocol Buffersを使ったスキーマファースト開発でAPIを作成しています。

インフラはサービス全体の管理とスケールのしやすさからKubernetesを採用し、サービス開始当初はkOpsを使っていたものの、クラスタアップデートで問題が生じやすかったので後にEKSへ移行しています。

 


FINDJOB!

サービス/事業部の取り組み

IT・Web業界に特化した有名企業からスタートアップのデザイナー・エンジニア求人を中心に、業界最大級の求人を多数掲載中。独自のマッチング機能であなたに合う企業をお届け。選考前から企業の評価やメンバーが分かるからこそ、不安のない仕事探しを実現します。

技術スタック

フロントエンド(言語、ライブラリなど) Nuxt.js / Vue.js / TypeScript / Vuetify
サーバサイド(言語、ライブラリなど) Django / Django REST Framework / Python
インフラ AWS( EC2 / ECR / ECS Fargate / CloudFront / Lambda / S3 ) / Terraform
ミドルウェア nginx / uWSGI
データベース MySQL / Redis
モニタリング CloudWatch / Datadog / SendGrid
データ分析 Redash / Google Analytics / Ahrefs
デプロイツール Jenkins
環境構築 Docker
CI Jenkins / CodeBuild / CircleCI / Danger

技術スタックの背景

フロントエンドに関しては、プロジェクト開始当初フロントエンドエンジニアがいなかったため、HTMLの記述方式でデザイナーも取っ付きやすいかつ、画面のUIパーツ単位で作れるフレームワーク、SPAの開発が容易にできるとしてNuxt.jsを採用しました。

バックエンドに関しては、ペンディングとなってしまった類似プロジェクトの副産物をそのままベースとして活用できそうだったのと、将来的にやりたいことが実現できそうだったのでDjangoを採用しました。

 


mixi

サービス/事業部の取り組み

『mixi』は、最大時、数千万規模のユーザーが利用していたプロダクトで、18年以上の歴史があるSNSです。日記やコミュニティ、足あとなどSNS機能のほか、ソーシャルボタンやゲームプラットフォームなど外部連携機能をもち、独特なコミュニケーションの場を提供しています。

技術スタック

iOS(言語、ライブラリなど) Swift / Objective-C
Android(言語、ライブラリなど) Java
フロントエンド(言語、ライブラリなど) JavaScript / TypeScript / Less
サーバサイド(言語、ライブラリなど) Perl / Ruby / Python
インフラ AWS ( EC2 / ECS / S3 / CloudFront / Lambda / Route53 / Elasticsearch / etc. ) / Google Cloud( Cloud Vision API )
ミドルウェア Apache / nginx / memcached
データベース RDS / MySQL / Aurora
モニタリング CloudWatch / Sensu / Datadog
データ分析 Google Analytics / EMR / Spark / SageMaker
デプロイツール Consul / Stretcher
環境構築 Chef / Docker / Ansible
CI Jenkins / Bitrise / CodeBuild

 

■開発本部

SREグループ

サービス/事業部の取り組み

注力事業における、サービスの信頼性向上のための貢献をする組織であり、サービス開発/運用における、必要な効率化と自動化、ワークフロー改善をし続け破壊と安定をくりかえし、スパイクに耐え切るための行動を取り続ける組織です。また各事業横断で、ノウハウを最も持つ組織でもあります。

技術スタック

iOS(言語、ライブラリなど) Flutter
Android(言語、ライブラリなど) Flutter
フロントエンド(言語、ライブラリなど) Next.js
サーバサイド(言語、ライブラリなど) Elixir / Go / Rust
インフラ AWS ( EC2 / CloudFront / Lambda / S3 / Route53 ) / Google Cloud ( Virtual Private Cloud / Compute Engine / Artifact Registry / Cloud Run / Cloud Functions / App Engine / Cloud CDN / Cloud Load Balancing / Cloud Armor / Cloud Scheduler / Cloud Workflows / Cloud Dataflow / Eventarc / Cloud DNS / Cloud Storage / Pub/Sub / Secret Manager / Cloud Memorystore / Firebase Dynamic Links / Firebase Firestore Database / Identity Platform / Identity-Aware Proxy )
データベース AWS RDS / Cloud Spanner
モニタリング CloudWatch / Datadog / Cloud Logging / Cloud Monitoring
データ分析 BigQuery / Looker / AppsFlyer
環境構築 Terraform / Ansible
CI GitHub Actions / CircleCI / Terraform / Bitrise
ゲームクライアント Unity
その他 Embulk / ko / Trivy / Braze / Agora.io / Twilio

技術スタックの背景

サービスやプロダクトの技術支援をする際には当然そのプロダクトで採用されてる技術スタックを使用します。

SREグループ独自で開発・運用しているツールの技術について記載しました。

 


AI相談室

サービス/事業部の取り組み

開発本部CTO室たんぽぽグループ内のMLチームでは、機械学習技術を用いた各プロジェクトの技術支援を主な業務としています。

これまで、ゲームAI・レコメンデーション・画像処理・音声処理・公営ギャンブル予想などに関しての検証を行い、改善がみられたものに関しては、各プロジェクトチームと連携しながら導入までの対応を行っています。

技術スタック

サーバサイド(言語、ライブラリなど) Python
インフラ SageMaker / Vertex AI / Cloud Run / Pub/Sub / Cloud Functions / Cloud Workflows / Cloud Dataflow
データベース MySQL / BigTable
モニタリング Cloud Logging / Cloud Monitoring
データ分析 BigQuery
環境構築 Docker / Pipenv
CI GitHub Actions / Terraform
機械学習ライブラリ TensorFlow / Keras / Pytorch / LightGBM / CatBoost / Numpy / scikit-learn / Pandas / Polars / etc.

 


映像開発グループ

サービス/事業部の取り組み

映像開発グループでは、より効率的かつユーザ体験の良い映像演出を行うためのシステムを開発など、映像を必要とする各プロジェクトが効率的に演出できるよう支援を行っています。

例えば、品質を維持しつつコスト最適化を行うためにAIによる自動化を行っていたり、ユーザの視聴体験を助けるためのAR演出や位置情報と連動したシステムなどを、誰でも簡単に扱えるようなシステムを開発し、導入しています。

技術スタック

フロントエンド(言語、ライブラリなど) Vue.js
サーバサイド(言語、ライブラリなど) C++ / Go / gRPC / Python / Flask / OpenCV / FFmpeg
インフラ Google Cloud ( GKE / Cloud Run / Cloud Function / IAP / GCS ) / Edge TPU
ミドルウェア nginx
データベース Google Cloud ( MySQL / MemoryStore )
モニタリング BindPlane / Cloud Logging / Cloud Monitoring
デプロイツール Helm / kubectl / GitHub Actions ( self-hosted runners )
環境構築 Terraform / Ansible / Docker
CI GitHub Actions / Cloud Build
機械学習ライブラリ TensorFlow Lite / AutoML Vision
その他 DeckLink / PTZ Camera / Unreal Engine 4 / Unreal Engine 5 / Unity

技術スタックの背景

AIと連携しながらも人もUIで簡単に操作できるテロップ編集システムは、レンダリングがC++でロジックはGoで記載され、GKEによってインフラを管理しています。

また、一般にGPUは高額なので、必要なモデルの容量と推論速度を考慮した上で、Edge TPUを採用しています。運用中は、競輪場43会場+オートレース場5会場のモデルの再学習をする必要があるので、学習はAutoMLに任せる構成です。

AR等のシステムに関しては、ゲームエンジンであるUnreal EngineやUnityを活用し、スタジアムなど大きな会場でのARが可能な仕組みを開発し導入しています。

 


インフラグループ

サービス/事業部の取り組み

インフラグループでは、主にオンプレミス環境のインフラ(ネットワーク/サーバ)、またオンプレミス同士やオンプレミスかクラウドに接続する部分のネットワークに関する対応を行っています。

具体的にはモンストでのネットワークに関する運用(複数拠点のデータセンタやデータセンタ間を接続するネットワーク、サーバ向けスイッチの対応)、『TIPSTAR』での全国45拠点からのVPN網を利用した安定した映像伝送、新しい映像技術に関する調査研究(ローカル5Gや位置情報他)といった事を行っています。

技術スタック

サーバサイド(言語、ライブラリなど) WebRTC
インフラ AWS ( S3 / MediaLive / MediaPackage / CloudFront ) / Google Cloud ( Cloud Storage ) / オンプレ各種 ( DELL / Fujitsu / Juniper / Arista / SEIKO ) / SMPTE2110/H264/H265 / 無線LAN / ローカル5G / IPS
モニタリング Zabbix / Genie / sFlow / Cloud Logging / Cloud Monitoring
その他 映像機器:BlackMagicDesign / 朋栄 / NTTエレクトロニクス / etc.

技術スタックの背景

インフラ、というと一般的には電気水道ガスといったライフラインが浮かぶかと思いますが、インフラグループではまさしく各サービスが安定した運用が出来るよう、日々サービスの運用を行いながら、改善を行っています。

MIXIのインフラグループでは安定したサービスを提供しながらも、新技術に貪欲に取り組んでおり、日本初、業界初といった取り組み(プレスリリース含む)も非常に多いグループです。

近年は特に『TIPSTAR』を始めとしたスポーツ領域での新映像技術に関する開発、構築に映像技術グループと一緒に様々な取り組みを行っています。

 


データグループ

サービス/事業部の取り組み

データグループでは、全社のデータ活用を促進するために、データ基盤やデータ管理に関する支援やデータ分析業務等を行っています。

技術スタック

データ分析 Python / R / Dataflow / Cloud Composer / Workflows / BigQuery / Jupyter Notebook / Looker / Terraform / Dataplex
機械学習ライブラリ statsmodels / scikit-learn / InterpretML

技術スタックの背景

今後のデータ活用支援としてはdbtやデータカタログ等の活用を計画しています。

 


次世代育成

サービス/事業部の取り組み

次世代育成を担当しているチームでは、既存のプログラミングソフトの使い方などではなく、実際にプログラムのコードを使いながらも楽しくいつの間にか理解が進み、入力したコマンドでどのような動きをするのか、といった実践を中心とした教育プログラムを検討し、中学生に向け、啓発活動を行っています。

技術スタック

サーバサイド(言語、ライブラリなど) Google Cloud Storage ( html置き場 )
言語、ライブラリなど 開発言語:C#
学習用script: Lua / Python / VBScript
デプロイツール Unity Cloud Build
ゲームクライアント Unity 2020.3.X / Unity 2021.1.X / Unity 2022.1.X
その他 WebGL

技術スタックの背景

本件では主に2つのソフトウェアを開発運用している。

学習用ソフトウェア①はUnityからWebGLでbuildしたものをGCSにてhtmlベースで提供しているもの、学習用ソフトウェア②はUnityからWindows / macOSにビルドしたものをzIpにて限定提供しているもの、およびそのいずれかを利用する専用カリキュラムの開発、講師派遣まで3点セットでのサービスとして取り組んでいるプロジェクト。

ソフトウェア内でLua言語Python言語によるscriptコードを作成し実行できるため、プログラミング学習に最適。「Python学習ソフトウェア」においては、渋谷区立中学全生徒の持つWindowsタブレットPCに提供しており配布先は2000台以上。そのうち、各学校から1または2学年全生徒に対して、学校へ訪問しソフトウェアをその場で全員で使ってPython指導を行なっている。ソフトウェア開発経験があればその重みは共感いただけることでしょう。

また担当エンジニアチームはゲーム開発と企画に精通しており、提供するソフトウェアのほかカリキュラムと課題やサンプルコード、サンプルアプリケーションはゲーミフィケーションの観点から課題としても楽しい。
チームでは特に「有意義なコンテンツ」に注目し、教育機関に対して、より効果的で興味を惹き必要なところに訴求できるコンテンツを企画立案開発運用まで一貫で行う。

2022年度からはアプリonアプリとしてプログラミング学習以外の教科学習アプリケーションを開発し学習ソフトウェア上で提供しており、対応の幅をますます広げている。

 


セキュリティ室

サービス/事業部の取り組み

セキュリティ室では、脆弱性診断などのリスク分析をはじめ、情報セキュリティの監視や対策の支援を行っています。そのほかにもe-learningや新卒エンジニアの研修といった教育コンテンツを提供したり、情報セキュリティインシデントへの対応を目的としたmixirtの運営に取り組んでいます。

技術スタック

フロントエンド(言語、ライブラリなど) Next.js
サーバサイド(言語、ライブラリなど) Go / Python
インフラ AWS ( EC2 / Lambda / ALB / Route 53 / S3 / SNS / SQS ) / Google Cloud ( Cloud Functions / Cloud Run / Pub/Sub )
データベース DynamoDB / RDS for PostgreSQL
モニタリング CloudWatch / Cloud Logging / Cloud Monitoring
データ分析 BigQuery / Athena
デプロイツール CodeDeploy
環境構築 CloudFormation
CI CodePipeline / GitHub Actions / Jenkins
その他 Cognito / CloudTrail / GuardDuty / Amazon Config / Security Command Center / Google Apps Script / PowerShell

 


■LX事業部

サービス/事業部の取り組み

ライブエクスペリエンス事業本部では、千葉ジェッツやFC東京などのスポーツ事業やライブエンタメに関わる領域を担当しています。システム部門では、来場者4万人のXFLAG PARK関連のシステムをはじめ、ライブエンタメに関するシステム開発・保守を行っています。また、ライブエンタメ分野での新規事業の開発を進めています。

技術スタック

フロントエンド(言語、ライブラリなど) TypeScript / React / Next.js
サーバサイド(言語、ライブラリなど) Go / Ruby on Rails / Rust
インフラ AWS / Google Cloud ( GKE / Cloud Run )
ミドルウェア nginx / Puma / Unicorn / Sidekiq
データベース MySQL / DynamoDB / Cloud Spanner
モニタリング Grafana / CloudWatch / CloudWatch Logs
データ分析 BigQuery / Redash / Google Analytics
環境構築 Terraform
CI CircleCI / GitHub Actions / Bitrise

技術スタックの背景

素早い開発とリリースを行うために最近ではCloud Runといった環境構築が容易なものの採用が多くなってきています。一方でXFLAG PARK関連といったアクセスが多くなることが見込まれるシステムではCloud Spannerのような高負荷に耐えられるものを利用し、サービスを継続して提供できるような工夫も欠かさず行っています。新規プロジェクト開発が多い部署であり新しいものも試しやすく、一部のAPIをRustで作成し実際に利用することで評価を行うといったトライも行っています。

 


■CRE

サービス/事業部の取り組み

CS部CREグループは「CSスタッフのクリエイティビティを最大化する」というミッションのもと、CSスタッフのユーザーに寄り添った対応を技術面から支援しています。CREでは、スタッフの手作業を自動化するだけでなく、CSスタッフが成長したり、ひらめきを得られたりするようなシステムを開発しています。

技術スタック

フロントエンド(言語、ライブラリなど) JavaScript / TypeScript
サーバサイド(言語、ライブラリなど) Ruby ( Ruby on Rails / Padrino ) / Go / Python / Elixir ( Phoenix )
インフラ AWS ( EC2 / S3 / RDS / SageMaker / CodeBuild / Lambda / API Gateway / Athena / etc. ) / Google Cloud ( BigQuery / GCE / GAE / Pub/Sub / Cloud Functions / Cloud Search / etc. )
ミドルウェア nginx
データベース MySQL / PostgreSQL / InfluxDB
モニタリング CloudWatch
データ分析 Athena / BigQuery
デプロイツール Capistrano
環境構築 Docker / Ansible / Packer / Terraform / Apex
CI CircleCI
その他 CloudSearch

 

PAGE TOP