29
Azure PaaSを活用したモダン E コマースソリューションの 構築方法 Yoichi Kawasaki Azure Technology Solution Professional Asia Intelligent Cloud Global Black Belt Microsoft Corporation Slides for Azure Webinar: Modern EC Solutions

Azure PaaSを活用したモダン E コマースソリューションの構築方法

Embed Size (px)

Citation preview

Page 1: Azure PaaSを活用したモダン E コマースソリューションの構築方法

Azure PaaSを活用したモダンE コマースソリューションの構築方法

Yoichi KawasakiAzure Technology Solution ProfessionalAsia Intelligent Cloud Global Black BeltMicrosoft Corporation

Slides for Azure Webinar: Modern EC Solutions

Page 2: Azure PaaSを活用したモダン E コマースソリューションの構築方法

アジェンダ

• Azure PaaS Overview

• 事例解説 – Jet.com

• 事例解説 – ドミノピザ

Page 3: Azure PaaSを活用したモダン E コマースソリューションの構築方法
Page 4: Azure PaaSを活用したモダン E コマースソリューションの構築方法

今日のお客様の高い顧客体験への期待

スピード

79%遅いウェブサイトには戻りたくない

パーソナライゼーション

38%繰り返しの作業や何度も同じ情報入力を求められたくない

一貫性

65%デバイス体験の一貫性のなさにフラストレーションを感じている( スマホ、オンライン、店舗)

• https://www.glassboxdigital.com/

• Accenture Global Consumer Pulse 2013

• https://blog.kissmetrics.com/speed-is-a-killer/

Page 5: Azure PaaSを活用したモダン E コマースソリューションの構築方法

サイトの応答速度が与える購買活動への影響

5Source(Kissmetric Blog: https://blog.kissmetrics.com/loading-time/?wide=1)

一般的にページロードが遅いと離脱率は高くなる

ショッピングサイト

では47%が2秒以内のページロードを期待

79%が遅いショッピングサイトに不満を持った場合に戻ってこない

Page 6: Azure PaaSを活用したモダン E コマースソリューションの構築方法

重くのしかかる運用コスト

災害対策(DR)、冗長化対策、高負荷対策、

CI/CD、セキュリティ対策

本当に必要なことに十分な時間がとれていますか?例えば顧客体験の向上とか

ITトレンドの変化、人材不足

Page 7: Azure PaaSを活用したモダン E コマースソリューションの構築方法

コンピュート ストレージ ネットワーキング

Azureが提供するプラットフォームサービス

セキュリティ&マネジメント

ウェブ・モバイル

Web Apps

MobileApps

APIManagement

APIApps

LogicApps

NotificationHubs

メディア & CDN

Content DeliveryNetwork (CDN)

MediaServices

分析 & IoT

HDInsight MachineLearning

StreamAnalytics

DataFactory

EventHubs

MobileEngagement

ActiveDirectory

Multi-FactorAuthentication

Automation

Portal

Key Vault

インテグレーション/連携

BiztalkServices

HybridConnections

ServiceBus

StorageQueues

Store /Marketplace

ハイブリットオペレーション

Backup

StorSimple

SiteRecovery

Import/Export

データ

SQLDatabase

DocumentDB

RedisCache Search

Tables

SQL DataWarehouse

Azure AD Connect Health

AD PrivilegedIdentity Management

OperationalInsights

コンピュート

CloudServices

Batch Remote App

ServiceFabric

開発者向けサービス

Visual Studio

ApplicationInsights

Azure SDK

Team Project

VM Image Gallery& VM Depot

Infrastructure Services

Platform Services

Page 8: Azure PaaSを活用したモダン E コマースソリューションの構築方法

8

責任範囲の比較

ストレージ

サーバー

ネットワーク

ゲスト OS

ミドルウエア

仮想化

データ

アプリケーション

ランタイム

ホスト OS

ユーザー管理 ベ

ンダー管理

ベンダー管理

ユーザー管理

ユーザー管理

ストレージ

サーバー

ネットワーク

ゲスト OS

ミドルウエア

仮想化

データ

アプリケーション

ランタイム

ホスト OS

ストレージ

サーバー

ネットワーク

ゲスト OS

ミドルウエア

仮想化

データ

アプリケーション

ランタイム

ホスト OS

アプリとデータに集中することができる

Page 9: Azure PaaSを活用したモダン E コマースソリューションの構築方法

Azure アプリケーションプラットフォーム

Page 10: Azure PaaSを活用したモダン E コマースソリューションの構築方法

多様なデータストアの選択肢ストアタイプ 目的 Azureの選択肢

Relational storeTransactions, joins,

structured data, familiar

SQL query

SQL Database

SQL DW

NoSQL JSON

document store

Flexible schema, familiar

SQL query, low latency

Cosmos DB

(DocumentDB)

NoSQL key-value pair

store

Low-cost, fast, massive

scaleTables

NoSQL wide-column

store

Open-source, integration

with Hadoop analytics

HBase on

HDInsight

Cache Increasing speed of an

appRedis Cache

Search serviceIntegrating search into

an app. Full text searchAzure Search

GraphStore entities and

relationship between

entities

Cosmos DB

(Graph)Key/value

OrdersCart Catalog & Reviews

Document

Suggestions

Graph

E-Commerce platform

RDBMS

Page 11: Azure PaaSを活用したモダン E コマースソリューションの構築方法
Page 12: Azure PaaSを活用したモダン E コマースソリューションの構築方法
Page 13: Azure PaaSを活用したモダン E コマースソリューションの構築方法
Page 14: Azure PaaSを活用したモダン E コマースソリューションの構築方法

Application Insights リソースを選択してカスタムメトリックに

ここでは:

最小1, 最大10, 規定2

Page 15: Azure PaaSを活用したモダン E コマースソリューションの構築方法

Azure Search インデクサー

インデクサー設定の詳細

インデクサーを使用した Cosmos DB と Azure Search の接続

https://docs.microsoft.com/ja-jp/azure/search/search-howto-index-documentdb

Page 16: Azure PaaSを活用したモダン E コマースソリューションの構築方法

IndexWriter

Indexer REST API

インデクサーによる定期更新• インデクサーの定期的実行による更新: 最小5分• 変更、削除検知し差分実行• データソースのフルクロール可

インデクシングAPIで直接更新• POST: /indexes/<name>/docs/index• アップロード 、マージ、削除など• 1度のバッチ: 最大 1,000 ドキュメント• リアルタイムに近いデータ更新

Page 17: Azure PaaSを活用したモダン E コマースソリューションの構築方法

パーティション• 全てのドキュメントはパーティションの数分に分割保存(IO分散)

• 全パーティション合わせて1つのインデックスを構成

レプリカ• 全レプリカに同じものが複製同期される

• クエリはいづれかのレプリカに処理が割り当てられる

par1 par2 par3 par4 par5

rep1

rep2

rep3

rep4

p1 p2 p3 p4 p5

p1 p2 p3 p4 p5

p1 p2 p3 p4 p5

p1 p2 p3 p4 p5

Page 18: Azure PaaSを活用したモダン E コマースソリューションの構築方法

https://docs.microsoft.com/azure/architecture/reference-architectures/app-service-web-app/scalable-web-app

リファレンスアーキテクチャ

Webアプリケーションハイパフォーマンス&スケーラブル構成• Azure Web Appフロント

• Web JobsとQueue Storageでバックグラウンドタスク実行

• Redis CacheとCDNでコンテンツキャッシュ

• SQL DBと Cosmos DBにデータストア

• Azure Searchとの連携

Page 19: Azure PaaSを活用したモダン E コマースソリューションの構築方法
Page 20: Azure PaaSを活用したモダン E コマースソリューションの構築方法

Domino’s Pizza

Page 21: Azure PaaSを活用したモダン E コマースソリューションの構築方法

これまで抱えていた問題

リージョン1ストア

アプリ1

リージョン2ストア

アプリ 2

リージョン3ストア

アプリ 3

システムのスケールをリージョンごとに設定する必要があった

データの設定、メンテナンスもリージョンごとに個別

オーストラリア

EU

日本

Page 22: Azure PaaSを活用したモダン E コマースソリューションの構築方法
Page 23: Azure PaaSを活用したモダン E コマースソリューションの構築方法

User#1

(Location: Australia)

User#2

(Location: Germany)

Traffic Manager

Traffic Manager発信元の地理的な場所に基づいてユーザーを地理的に近いリージョンに優先的にルーティング

Azure Web Appフロントエンドをトラフィックに応じてオートスケール

Cosmos DBグローバルに読み込み・書き込みを低いレイテンシーで実現した分散データベース

Page 24: Azure PaaSを活用したモダン E コマースソリューションの構築方法
Page 25: Azure PaaSを活用したモダン E コマースソリューションの構築方法

全てのデータを自動的に世界中の Azure リージョンにレプリケートすることができる 読み取りリージョンで障害によるフェールオーバー

書き込みリージョンで障害によるフェールオーバー

• https://docs.microsoft.com/ja-jp/azure/cosmos-db/distribute-data-globally

• https://docs.microsoft.com/ja-jp/azure/cosmos-db/regional-failover

Page 26: Azure PaaSを活用したモダン E コマースソリューションの構築方法

読み取りリージョンのルーティングに関する注意

Cosmos DBのマルチリージョン分散パターンにおいて読み取りリージョンが複数ある場合、読み取りリージョンは自動的に地理的条件に最適化されたリージョンにルーティング(アクセス元に最も地理的に近いリージョンへのルーティングなど)はされません。SDKにおいてPreferredLocationsで明示的にリージョンを指定してルーティング先を設定する必要があります。

詳しくはこちらのブログを参照ください

Cosmos DBで読み取りリージョンへ明示的にルーティングするhttps://k-miyake.github.io/blog/cosmos-db-preferred-locations/

Page 27: Azure PaaSを活用したモダン E コマースソリューションの構築方法

https://docs.microsoft.com/azure/architecture/reference-architectures/managed-web-app/multi-region-web-app

リファレンスアーキテクチャ

Webアプリケーションの複数リージョン構成

• Traffic Managerによるルーティング

• Azure Web Appフロント

• SQL Database と Cosmos DB のGeo レプリケーション

• Azure Searchは各リージョンで個別に立てる

Page 28: Azure PaaSを活用したモダン E コマースソリューションの構築方法

Resources› Azure eコマースソリューションページ:

https://azure.microsoft.com/ja-jp/solutions/ecommerce/

› Azureリファレンスアーキテクチャ - Web アプリ: https://docs.microsoft.com/en-us/azure/architecture/reference-architectures/app-service-web-app/

› App Services Best Practices for Large Scale Applications:https://www.youtube.com/watch?v=HxpgiYc-F_k

› Jet.com事例: https://www.microsoft.com/ja-jp/casestudies/jetcom.aspx

Page 29: Azure PaaSを活用したモダン E コマースソリューションの構築方法