マイクロサービス基盤エンジニア【食べログ】
システムの変更容易性・変更安全性を高めるための、モダンなシステム基盤を開発・導入することがミッションになります。
・新たに必要になるシステム基盤開発の検証・導入・運用
・既存のシステム基盤の導入拡大
これまで導入してきた基盤には以下のようなものがあります。
・メッセージング基盤 + 非同期処理基盤 (Kafka)
・分散トレーシング (OpenTelemetry)
・Change Data Capture (Debezium)
・GraphQL (Apollo)
【ミッションへの道のり】
食べログは2007年に Ruby on Rails でリプレイスして以来、約15年の長期に渡り抜本的なアーキテクチャ刷新なしに開発と運用を継続しており、モノリシックで巨大なコード、かつ巨大なデータを持つ状態になっています。
この巨大なシステムを以下のステップで改善しています。
1.システムをKubernetesなどモダンなインフラ基盤に刷新して変更安全性と変更容易性を高める
2.設計変更や不要なコード削除などの大胆な改修を小さく速く繰り返し、疎結合・高凝集なモノリスに作り変える
3.組織構造やビジネスファンクション・ドメインモデル・ユースケース等より、マイクロサービスの境界を考察し、定義し、分割する
(詳細は「食べログの大規模なレガシーシステムを段階的に改善していく取り組み - https://qiita.com/tkyowa/items/6417b0a7895399f8f9be 」で公開されています。)
【食べログ開発本部技術部マイクロサービス化チーム】
<食べログの事業・食べログシステム本部のミッション>
2005年にスタートした「食べログ」は、口コミとランキングで探せるレストラン検索・予約サイトです。
「失敗しないお店選び」という課題に向き合い続け、現在、月間約9,600万人 (※1)を超えるユーザーが利用する日本最大級の飲食店検索サービスに成長しました。
目まぐるしく変化する外食産業を盛り上げるべく、近年は飲食店や卸売業者など外食を支える人たちの課題を解決するDXプロダクトにも挑戦しています。
これらのサービスを通して人々とレストランをつなぐプラットフォームになるべく世の中に貢献していきます。
※1 2023年3月現在。
PC、スマートフォンブラウザ/アプリ等で同じユーザが閲覧している場合には重複カウント
私たちは市場や事業の変化に素早く対応できるシステムと、それを実現させる開発組織を作る事を責務としています。
システムが事業成長のボトルネックにならないよう、モノを作るだけでなく作ったモノの健全性を保ち続けることやビジネス理解もそのための大事な手段の一つと考えています。
サービス開発のように組織の改善を行うべくFourKeysの計測とアクショナブルな指標への落とし込みや、よりインパクトの大きな成果を出すべく、1プロジェクト1チャレンジすること、人同士のつながりを大事にすること、部署やプロダクトの垣根を超えていくことを大切にしに日々の業務にあたっています。
<マイクロサービス化チームのミッション>
技術部マイクロサービス化チームは巨大なモノリシックサービスにおける開発の辛さを解消し、少人数のチームが自律的に意思決定しながら開発するためのシステム基盤を作る事をミッションとしています。
【開発環境】
・プラットフォーム: オンプレ DC / GCP / AWS
・AIエージェント: Claude Code / Devin / Gemini
・仮想化基盤: VMWare / Proxmox / Kubernetes
・OS・ミドルウェア: Linux / Ruby on Rails / MySQL / Nginx / Apache Kafka
・コード管理・CI: GitHub / CircleCI
・監視: NewRelic / Prometheus / Sentry
・コミュニケーション・プロジェクト管理: Slack / Google Workspace / Miro / Asana
・データ基盤: BigQuery / Tableau
【入社後のイメージ】
<オンボーディング>
食べログのRailsアプリケーション設計、基本的なシステム基盤(例えばサーバミドルウェア)、業務の概要をドキュメントと先輩社員のレクチャーを併用して学習していただきます。
並行して開発・リリースワークフローを理解していただきます。
<最初の業務>
メッセージング基盤や非同期処理基盤など既存のシステム基盤の導入拡大と、開発エンジニアに対する導入支援を担当していただくことになると思います。
<近い将来>
既存のシステム基盤の主担当、新規のシステム基盤のPoCと技術選定を担当していただきます。