SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

Developers Summit 2024 セッションレポート(AD)

ゼロからマイクロサービスに取り組むイオン、DB運用や組織課題の解決に「TiDB」が寄与できることとは

【15-B-6】【イオンスマートテクノロジー】マイクロサービス導入により生まれた組織課題に対するソリューションとしてのTiDB

  • X ポスト
  • このエントリーをはてなブックマークに追加

TiDBでデータベース運用における課題を解決したい

 イオンスマートテクノロジーがTiDBを導入する背景としては、データベース運用におけるいくつかの課題があったからだ。スケーラビリティやシャーディングによる運用コストと複雑性の増加、メンテナンスビリティの問題とメンテナンス時の運用負荷の増加、MySQL 8への対応がせまっていることなどが具体的な課題として挙げられる。

 これら課題に対し、「TiDBのことを知れば知るほど、TiDBしか勝たんのでは、との気持ちにさせられました」と香西氏。そのため、2024年2月7日にはTiDB Cloudの導入を視野に、PingCAPと共同検証を開始するプレス発表もしている。3月からは、さまざまな検証を実施し、本格的な導入を進めることとなる。

 イオンスマートテクノロジーでは、マイクロサービスアーキテクチャを採用しており、それによる課題もある。通常、マイクロサービスに期待するのは、開発スコープを小さくし開発スピードを上げる、開発スコープを分離しコストを適切に管理する、サービス分離による障害の影響範囲を極小化するなどがある。

 イオンスマートテクノロジーは、3年目の新しい企業だ。設立当初にサービスを新規構築する際、上記のようなメリットを考慮し、これからの時代はマイクロサービス開発が主流となりKubernetesだとの方針が打ち出される。そのため最初からKubernetesとマイクロサービスでの開発となった。

 ところで、香西氏が尊敬する米国のソフトウェア技術者のマーティン・ファウラー氏も言うように、「成功したマイクロサービスのストーリーのほとんどは、大きくなりすぎたモノリスを分割するところから始まっている。そして、マイクロサービスシステムとしてゼロから構築されたシステムは、ほとんどのケースで深刻なトラブルに見舞われている」との話がある。この言葉の通り、ゼロからマイクロサービスに取り組んでいるイオンスマートテクノロジーでは、さまざまなトラブルに遭遇しており「アンチパターンを踏み抜いています」と言う。

 マイクロサービスがかなり難しいアーキテクチャであることに直面しており、導入後にさまざまな課題が出ているのが現状だ。たとえば、ドメイン境界設定に起因するサービス分割の失敗がある。これは、マイクロサービス間に依存関係を持たせることなく分割するのが難しく、適切に切り分けるには深いドメイン知識が必要になるためだ。結果的にマイクロサービス間の依存度に応じたインターフェイスの増加、多発する循環参照なども発生し、デプロイの複雑度が上昇してしまう。そのため、もともとシンプルなものを求めていたのに、逆にマイクロサービスの導入で複雑化してしまっている。

ドメイン境界設定に起因するサービス分割の失敗
ドメイン境界設定に起因するサービス分割の失敗

 また、マイクロサービス間のトランザクション管理も難易度が高い。これはいわゆる分散トランザクションであり、「分散トランザクションは、単純に設計や実装の難易度がかなり高いと思います」とも言う。いくつか推奨されるパターンはあるが、パターンに従って実装しても、上手く分散トランザクションが実現できるとは限らないのだ。

マイクロサービス間のトランザクション管理
マイクロサービス間のトランザクション管理

次のページ
TiDBに集約し運用負荷を削減してアーキテクチャの選択肢を増やす

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
Developers Summit 2024 セッションレポート連載記事一覧

もっと読む

この記事の著者

谷川 耕一(タニカワ コウイチ)

 かつてAI、エキスパートシステムが流行っていたころに、開発エンジニアとしてIT業界に。その後UNIXの専門雑誌の編集者を経て、外資系ソフトウェアベンダーの製品マーケティング、広告、広報などの業務を経験。現在はフリーランスのITジャーナリストとして、クラウド、データベース、ビッグデータ活用などをキー...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

丸毛 透(マルモ トオル)

インタビュー(人物)、ポートレート、商品撮影、料理写真をWeb雑誌中心に活動。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

CodeZine編集部(コードジンヘンシュウブ)

CodeZineは、株式会社翔泳社が運営するソフトウェア開発者向けのWebメディアです。「デベロッパーの成長と課題解決に貢献するメディア」をコンセプトに、現場で役立つ最新情報を日々お届けします。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

提供:PingCAP株式会社

【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/19147 2024/04/03 10:34

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング