1
/
5

E-JAWSカンファレンス2021にて講演しました

2021年1月25日に開催されたE-JAWS カンファレンス 2021 TOKYOにて「三越伊勢丹における DX 向けプラットフォーム構築への挑戦」という講演をしました。資料は以下から参照ください。

何を作ったのか?

三越伊勢丹におけるDX向け基盤としてビジネスプラットフォーム(BPF)というものを整備しています。これが必要な理由は「お客様視点でフロントサービスを開発すると、基幹システムをまたがって利用する必要がある」ということに尽きます。フロントサービスが個別に基幹システムと調整していたらキリがないので、その間を仲介する基盤が必要なのです。

ビジネスプラットフォームでは、
・基幹システムからファイル連携を受けて加工してキャッシュ
・基幹システムのDBまで見にいって非同期ストリーミングに流す
・APIをルーティングする
など、さまざまな連携方式が実装されています。構築にあたってはプラットフォーム内部をゾーニングし、それぞれのコンポーネントの再利用性を意識した作りができるようにしています。


どう作ったのか?(技術編)

ビジネスプラットフォームの構築にあたって、もっともこだわったのはDevOpsの実現でした。DevOpsの第一歩として「開発チームがインフラ作業がサービス運用をやる」を実現しようと考えました。既存システム群は開発、インフラ、運用というの部署がわかれており、それぞれに依頼がある場合には部門間でのやりとりが必要でした。しかし、これが非常に時間がかかります。開発のスピードアップを効率化を実現するためにはDevOpsは必達でした。
なお、これは「インフラチームや運用チームが不要」という意味ではありません。インフラチームは全体最適でDevOps基盤を整備する、という新たな役割を担うことになります。

これを実現するためにAWSのPaaSを最大活用したガイドラインを策定しました。象徴的なのは「EC2禁止」つまり、サーバレスやマネージドしか使ってはならない、というルールです。これによって障害復旧の自動化、日中無停止リリース、インフラ作業の自動化などを達成しています。
このガイドラインについては先日プレスリリース(参考 モード2開発基盤のガイドライン策定についてプレスリリースを出しました)もしており、今後、外部への共有を進めていきたいと考えています。

また、取り組みの中には基幹システムのモダナイズが含まれています。基幹システムと同じ機能をクラウドネイティブに構築し、並行稼働をしながら検証を行い、いつの日か基幹システムを使わなくするという、いわゆる「ストラングラーパターン」です。
基幹と同じ機能を作る、といってもスピード感や品質レベルには違いがあります。実際、新しく作ったAPIにケアレスミスなバグを発生していますが、それはそれで想定の範囲内として許容してもらっています。

どう作ったのか?(組織編)

ここからはビジネスプラットフォームの構築を担当している三越伊勢丹システム・ソリューションズからの発表になります。三越伊勢丹システム・ソリューションズでは2020年4月に専門部署を立ち上げ、内製メンバーを中心に構築を行っています。アイムデジタルラボは全体の方針策定や、構築時の技術支援などを行っています。これ以外にも複数の企業に協力をしてもらって全体で20名弱の体制を組んでいます。

ビジネスプラットフォームは全体を一気に構築するのではなく、フロントサービスのニーズに基づいて、段階的に構築を進めています。プラットフォームのAPIを想定だけでも作っても使われない、ということはあります。そこで、フロントサービスの明確な要件ベースで開発をおこない、もし、大きな課題が見つかれば作り直せばいい、という割り切りをしています。全体のマネジメントはスクラムで週次でコントロールされています。

こうした進め方によってチームに学びがあったそうです。1つ目は「早く試して、早く失敗して正解に近づける」という考え方です。大きな基幹システムを作る場合、手戻りを避けるために、どうしても丁寧に時間をかけた設計をしがちです。しかし、クラウドにおいては、さまざまな技術要素をトライ&エラーしながら、よいよいやり方を探す方が効率的です。特に重要なのはメンバーが「なぜ失敗したのか?では、どうすればいいのか?」と考えることによって、おしきせの技術を使うよりも数倍深い学びがあり、それが成長につながるのです。

2つ目は「なるべく楽をする」こと。保守コストを削減するのに一番効くのは、そもそも保守する対象をなくしてしまうことです。そのためにサーバレスやマネージドという考え方は非常に有効です。世の中にある便利なものを前提にして開発を進めることが保守性の向上に大きく貢献しています。

さいごに

ビジネスプラットフォームというのは、開発チーム自らができることを増やしていく世界です。これは大変なこともありますが、すべてを自分たちでコントロールするので楽しい世界でもあります。
この世界の良さを理解するのは体験するしかありません。たとえば「自動リリース」というものを頭で知っているのと、その恩恵で日々の作業が楽なる経験をしているのでは、まったく理解の深さが違います。
もっと多くの人に新し世界を体験してもらい、それを通じて会社全体が成長していければいいと思います。

株式会社IM Digital Lab(アイムデジタルラボ)'s job postings
7 Likes
7 Likes

Weekly ranking

Show other rankings
Invitation from 株式会社IM Digital Lab(アイムデジタルラボ)
If this story triggered your interest, have a chat with the team?