流通業界における デジタルトランスフォーメーションの実践 アマゾンウェブサービスジャパン株式会社技術統括本部ストラテジックソリューション部ソリューションアーキテクト吉田英世 2017 年 5 月 31 日 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
自己紹介 吉田英世 技術統括本部ストラテジックソリューション部ソリューションアーキテクト 流通 製造のアーキテクティング支援ネットワーキング, IoT 技術支援
本セッションについて 流通システムのベストプラクティスをテクニカルな視点で解説します 流通に関わるシステムの設計 構築 運用に携わっているエンドユーザ インテグレータの方々で 基本的な AWS の知識をお持ちの方を対象としています
デジタルトランスフォーメーション デジタルのテクノロジーによって コアとなるサービスや製品を再発明し 全く新しいものを創造する 顧客との関係や顧客体験の変化 社内プロセスの改善 全く新しい価値の提案
デジタルトランスフォーメーションを支える AWS Amazon.com だけではない 国内外における流通業界での豊富な実績
本日のアジェンダ Amazonの事例 流通システム on AWS 流通におけるデータアーキテクチャ
Amazon の事例
地元のベーカリー 肉屋 魚屋と連携 サーモンの注文が入ったら? 1. お客様からオーダー 2. パイクプレイスでサーモンをピックアップ 3. AmazonFresh の FC に輸送 4. オーダーに合わせて配送
アーキテクチャの進化 2-Tier アーキテクチャ APP1 APP2 APP3 Shared Database SOA(Service Oriented Architecture) それぞれのサービスが持つデータはそれぞれのサービス内にカプセル化 (RDS, DynamoDB) それぞれのサービスは再利用可能なロジックのためにコンテナ化 Amazon.com との統合のためのビルディングブロックによる疎結合サービス
高可用性要件の分離 Front-end Web トランザクショナルな呼び出しレイテンシや障害がクリティカル Back-end カタログ料金オーダー処理在庫管理 短時間の停止は許容できる停止中の処理はすぐにキャッチアップ可能
pub-sub モデル pub-sub による非同期メッセージングモデルを採用 Producer Publish Channel Subscribe Consumer Consumer は Channel に対するテストメッセージを利用してテスト可能 Producer は subscriber がいない場合でもメッセージを publish 可能 新しいクライアントは該当の Channel を subscribe しメッセージ受信可能 Producer はリプレースまたは増減することが可能
pub-sub の実装 (SQS+SNS and Lambda) Amazon SNS Producer が SNS トピックを所有 ( ブロードキャスト ) Amazon SQS Consumer が SQS キューを所有 ( バッファリング ロードバランス ) AWS Lambda Consumer として動作 ( プロセッシング )
SNS トピックは機能の切断点 ( カットポイント ) 新規機能の追加は該当の SNS トピックを subscribe するだけで 既存機能に影響を与えず処理を追加可能 Consumer 追加時 メッセージ送信側の実装が不要 既存機能 メッセージ 既存機能 お客様に配送完了通知を送信 追加
pub-sub 処理例 : 購入オーダーのルーティング fulfillment Center1 Fresh Router fulfillment Center2 購入オーダートピック fulfillment Center3
pub-sub 処理例 : 在庫イベント処理 fulfillment Center1 fulfillment Center2 fulfillment Center3 在庫イベントトピック
実装例 : 非同期決定プロセス ( カートナイゼーション ) 非同期 カートナイゼーションサービス SNS Lambda DynamoDB WebUI Lambda RDS 集計 SQS EC2 Elasticsearch ダッシュボード
FBA の仕事 1 在庫商品の発送 6 返品処理 2 受け取り & 保管 5 カスタマーサービス 3 お客様からの注文 4 ピック, パッキング & 配送
FBA の仕事 1 在庫商品の発送 6 返品処理 2 受け取り & 保管 5 カスタマーサービス 3 お客様からの注文 4 ピック, パッキング & 配送
データプラットフォームの要件 ハイボリュームなインプット処理 (> 10000 tps) ホットキーの処理 大規模配送時の在庫メッセージ受け取り時 重複メッセージの処理 順序が異なるメッセージの処理 すべての在庫量変化時の監査処理
Seller Inventory Authority Platform Warehouse Management Systems Inventory Transaction Service S3 Redshift Analytics Warehouse Management Systems Kinesis Archivers Kinesis Firehose Kinesis Firehose AWS Lambda Pre-receive processor Adjustment processor Transaction processor Inbound Records Archivers DDB Streams Publisher Amazon Elasticsearch Inventory Query Service Clients Shipments Adjustment Inventory transactions Account Balances DDB Streams A/C balance Processor SNS Topics Inventory Events/ Notifications Clients
サーバレスアーキテクチャの効果 のべ約 22 週間の開発コスト削減 デザインからローンチまで4 週間未満 在庫情報の正確さも向上 ビジネスオペレーションコストも削減 ( セラー様対応 ) 開発者がAWSマネージドサービスを楽しんで利用
Amazon の事例から見る 流通のアーキテクチャ スケーラビリティを重視 疎結合により柔軟性が高く いろいろなチャレンジが可能 AWS マネージドサービスでオペレーションコスト削減 Amazon のイノベーションを支える AWS のテクノロジー
流通システムの構成
EC 系システムの構成例 Route53 CloudFront EC2 Web App ALB Web App Auto Scaling S3 RDS アベイラビリティゾーン A アベイラビリティゾーン B
EC 系システムの構成例 Route53 CloudFront EC2 Web App ALB Web App Auto Scaling S3 ステートレスAppはステート管理にElasticacheなどを利用( 推奨 ) RDS ステートフルAppはALBでStickySessionを有効化アベイラビリティアベイラビリティゾーンA ゾーンB セールなどのピーク時はALBの暖気申請を忘れずに 同じくピーク時はサーバやデータベースもスケールアップ/ アウトを実施
Rent-A-Center Hybris on AWS KMS Route53 S3 バケット ( 静的コンテンツ ) Public subnet Private subnet CloudTrail ストアフロント CloudFormation CloudFront Aurora CloudWatch admin WAF NAT Gateway SES Codecommit Lambda Direct Connect ACM Cert Manager
基幹系アプリケーションの構成例 Master App Cluster Standby App EC2 RDS アベイラビリティゾーン A アベイラビリティゾーン B
基幹系アプリケーションの構成例 EC2 Master Standby App App Cluster RDS アベイラビリティアベイラビリティ クラスタリングソフトはAWS 対応のものを利用ゾーンA ゾーンB ピーク時はスケールアップで対応 ( 上位インスタンスタイプを選択 ) RDS など できるだけ AWS のマネージドサービスを利用
流通でのデータアーキテクチャ
現状のデータ分析 POS BI ツール SCM DWH ダッシュボード WebLog API 新しいデータソース ソーシャルメディア デバイス 新しい処理要件 非構造化データ リアルタイム処理 新しいアウトプット 他プラットフォーム 自動化のイベント
POS からの売上データ集計 POS APP RDB ETL DWH BIツール ビジネスユーザ データアナリスト
POS からの売上データ集計 POS APP RDB ETL DWH BIツール ビジネスユーザ APP S3 Redshift QuickSight データアナリスト EMR
POS からの売上データ集計 POS APP RDB ETL DWH BIツール ビジネスユーザ APP S3 Redshift QuickSight データアナリスト EMR Kinesis Streams Kinesis Analytics Kinesis Firehose Kinesis Streams Dynamo DB ダッシュボード
モダンデータアーキテクチャ ビジネスアプリケーションや新デジタルサービスをより強化 Data sources トランザクション ERP Ingest Internet Interfaces AWS Direct Connect Scale (Batch) Raw Data Amazon S3 ETL Amazon EMR Staged Data (Data Lake) Amazon S3 Serving Amazon Athena Amazon ElasticSearch データサイエンティスト データアナリスト Web logs / cookies コネクテッドデバイス ソーシャルメディア AWS Database Migration Amazon Kinesis Stream Analysis Amazon EMR Stream Analytics Amazon Kinesis Analytics Event Capture Amazon Kinesis Streams Stream Archiver Amazon Kinesis Firehose Output Store Amazon Kinesis Streams Stream Processor AWS Lambda Data Warehouse Amazon RedShift Legacy Apps Amazon RDS Near-Zero Latency Amazon DynamoDB ビジネスユーザ 他のプラットフォーム 自動化イベント Speed (Real-time)
流通での AI サービス活用例
AI 関連 Amazon Lex Amazon Polly Amazon Rekognition Amazon Machine Leaning
Amazon Polly による音声読み上げ 音声リクエスト 音声ファイルを作成 Kiosk 端末 API Gateway Lambda Polly 音声ファイルを取得 S3
Amazon Lex によるインタラクティブアプリケーション インタラクティブコミュニケーションを自動化し オペレーションコスト削減 どの種類のお花がいいですか? チューリップをください いつ取りに来られますか? 今日です 注文処理へ 何時頃になりますか? 18:00 になります チューリップ,18:00, 様 承知しました 本日の 18:00 にチューリップを用意致します
Amazon MachineLearning によるマーケティング Predistion( 予測 ) によりビジネスをよりスマートに データソース 項目値項目値年齢項目 45 値年齢 45 性別年齢男性 45 性別男性コンタクト性別電話男性コンタクト電話キャンペーンコンタクト有電話キャンペーン有購入キャンペーン Yes 有購入 Yes 購入 Yes S3 モデル作成 Machine Learning PredictionAPI で予測結果を返答 項目 アプリケーション 値 年齢 45 性別 問い合わせ内容 回答が Yes の場合 プロモーションを送信 男性 コンタクト 電話 予測対象のターゲット キャンペーン 有 購入?
Amazon Rekognition によるリアル店舗マーケティング ( 感情分析 ) 画像データを元により効果的なマーケティング情報を取得 画像を送信 店舗カメラ アプリケーション 顔の属性情報をレスポンス Rekognition S3 Redshift Quicksight レポーティング
まとめ Amazon のイノベーションを支える AWS 既存の流通システムを AWS 上に移行することで さらに付加価値の高い流通システムを構築可能 データレイクとして S3 を利用し 最新の分析プラットフォームを構築可能
本セッションの Feedback をお願いします 受付でお配りしたアンケートに本セッションの満足度やご感想などを ご記入ください アンケートをご提出いただきました方には もれなく素敵な AWS オリジナルグッズをプレゼントさせていただきます アンケートは受付 又はパミール 3F の EXPO 展示会場内にて回収させて 頂きます