こんにちは。
株式会社エアークローゼットの藤川です。
エアークローゼットのメインサービス『airCloset』は日本で初めての普段着に特化した女性向けファッションレンタルサービスです。
ファッションレンタルサービスと聞いて、シンプルなシステム設計を想像される方もいらっしゃるかと思いますが、サービスを支えるシステムはかなり複雑です。
今回から3回にわたり『エアークローゼットを支えるシステムについて』CTOの辻がまとめた記事を紹介していきます。第1弾は、『ファッションレンタルサービスairClosetのシステム構成について』です。
世の中になかった新しいサービスを支えるシステムについて、ご興味のある方はぜひご覧ください!
Profile
辻 亮佑 RYOSUKE TSUJI 1986年生まれ
ニックネーム:Ryan(ライアン)
上智大学卒業後、IT開発会社にシステムエンジニアとして入社。2012年に楽天にフロントエンドエンジニアとして入社し、2013年からはリードフロントエンドエンジニアとして活躍。2015年に株式会社ノイエジーク(後の株式会社エアークローゼット)に入社し執行役員CTOに就任。
全体像
まずはサービスの流れについて説明していきます。そしてそれを実現するためにどんなシステムが稼働しているかを紹介し、airClosetを運用する上で必要な大まかな機能についてご紹介していきます。
サービスの流れ
- airClosetのWebサイトに訪れ会員登録。
※氏名、住所、電話番号などの個人情報やお洋服の好みや体のサイズなど。 - 登録された情報を元にスタイリストがアイテムを選ぶ。
- 選ばれたアイテムを倉庫システムへ連携。
- 倉庫では連携された情報を元にアイテムをピッキングし発送。
- 発送したアイテムがお客様の手元に到着日常でお洋服を楽しむ。 ※Webやアプリでスタイリストからのメッセージを読んだり、アイテムを購入したりできる。
- 5で届いたアイテムを返却。
- 返却されたらお客様への次のスタイリングを開始(2に戻る)。同時に返却されたアイテムをクリーニング。
- クリーニングが完了したら倉庫にアイテムを格納。
本当はアイテムの入庫のフローもあるのですがここでは割愛します。
システム構成
システム連携図
※厳密に言うと全体の1/4にも満たない略図です。
お客様向けシステム
ここはサービスの流れの1と5、6にあたる部分で、airClosetへの登録や、レンタル中アイテムの確認や返却機能、会員情報の管理などができます。
スタイリスト向けシステム
サービスの流れの2にあたる部分です。ここではお客様の好みの情報の整理をしたり、スタイリングができます。
社内向け管理コンソール
サービスの流れには含んでいませんが、お客様の情報を確認・編集したり、クーポン等を発行したり、発注管理を行ったりと、社内でサービス運用のために使うシステムです。
ユーザ認証システム
現在エアークローゼットでは複数の事業を運営していて、事業をまたいで共通のユーザとして管理する仕組みをこのシステムで実現しています。
各種バッチシステム
バッチの数は相当数あるためその一部をご紹介します。
倉庫連携バッチはスタイリストが選んだアイテムの連携や、発送されたアイテムの配送伝票番号の取得、返却されたアイテムの連携、新規で入庫されたアイテムの連携などを行っています。
課金バッチでは月々の利用料金の請求処理などを行っています。
倉庫管理システム(WMS)
エアークローゼットのサービスでは使い終わったアイテムは倉庫に戻ってきます。これを「循環型物流」と呼んでいます。通常のECでは考慮しない個品単位での管理や突合、返却品のメンテナンスなど、一般的な倉庫管理システムでは考慮していない仕組みが必要で、それを実現するためにエアークローゼットでは自社で倉庫管理システムを構築しています。
そのため機能としても通常のECであれば商品入荷・保管・出荷・配送ができればよいところにプラスして、返送・返却検品・商品再生・最終検品ができるようなシステムになっています。
その他システム
上記以外にも様々なシステムがあります。
- 通知管理システム
- アイテム管理システム
- ステージングDB自動生成システム
- バックアップシステム
- E2Eテストシステム
- スタイリストマッチングシステム
- アイテムレコメンドシステム
- etc…
利用している技術・基盤など
これまでご紹介したシステムについて、企画学習以外のすべてのシステムをNode.jsで開発しており、エアークローゼットの大きな特徴の一つになっています。
インフラとしては全面的にAWSを採用し、昔からあるシステムはEC2、最近開発したものはECSかLambdaやStep Functionを用いたサーバレスな基盤を使っています。また、インフラの構築もここ数年で開発したシステムではTerraform、CDKなどを用いてコード化しています。
最後に
2022/12にはこのようなシステム構成になっていましたが、正直airCloset事業に特化させてしまっているところが多いため、今後の事業展開を見据えて全体のアーキテクチャを変えていきたいと考えています。 (詳しくは第二弾でご紹介します!)
また、エアークローゼットではエンジニアを積極的に募集中です。
興味がある方は是非カジュアルにお話しできればと思いますので、「話を聞きに行きたい」からご連絡をお待ちしております。