Digital Workloads on AWS

Preview:

Citation preview

© 2016, Amazon Web Services, Inc. or its Affiliates. All rights reserved.

Chris So, Business Development Manager

17 June

New Digital Workloads on AWS Amazon.com, 17,

ZALORA and Capital One

CREDIBLY INNOVATE PHOTO HERE

Case sharing - Innovation TODAY’S AGENDA

1.  Amazon.com – Innovation, Omni Channels

2.  17 – Social Media and Live Streaming

3.  ZALORA – eCommerce 4.  Capital One – Alexa Skill

Get out of bed

Go to AWS event

Learn something

Go back to bed

Digital Disruption

Keys to Digital Transformation Lean Enterprise

•  Customer Centric •  Minimum Viable Products •  Metrics-driven culture •  Low-cost experimentation •  Failure-embracing culture

IT Enablers

•  Microservice architecture •  DevOps •  Agile – Scrum •  CI/CD •  Blue-Green and A-B groups •  Machine Learning •  Internet of Things (IoT) •  Mobile •  Big Analytics

Enabled By

CLOUD

Can’t Digital Transformation occur on Premise?

•  Global economies of scale •  Immediate access to latest technology •  Improved security and risk visibility •  Open – access to industry leading solutions •  Elasticity – capacity alignment •  Improved resiliency – design for failure •  Lower cost of experimentation and innovation •  Quicker global expansion •  Easier to standardize and automate •  Easier to link the supply chain - ecosystems

CLOUD

= 50 million deployments a year

Thousands of teams × Microservice architecture

× Continuous delivery × Multiple environments

~11.6s

Mean time between deployments (weekday)

~1,079

Max number of deployments in a

single hour

~10,000

Mean number of hosts

simultaneously receiving a deployment

~30,000

Max number of hosts

simultaneously receiving a deployment

DEPLOYMENTS AT AMAZON.COM

Deploying More Frequently Lowers Risk

Smaller Effort “Minimized Risk”

Frequent Release Events: “Agile Methodology”

Time

Cha

nge

Rare Release Events: “Waterfall Methodology”

Larger Effort “Increased Risk”

Time

Cha

nge

Monolith development lifecycle

developers

release test build

delivery pipeline app

Service-Oriented Architecture (SOA) Single-purpose primititves Connect only through APIs “Microservices”

Microservice development lifecycle

developers delivery pipelines services

release test build

release test build

release test build

release test build

release test build

release test build

Two-pizza teams Full ownership Full accountability Aligned incentives “DevOps”

It’s Easy for Anyone to Start an Ecommerce Business

This Leads Eventually to Omni Channel Offerings

O2O < > O2O

FromThis…

? … to this

?

FromThis…

… to this

This is by TW Company M2comm

Cloud-based ERP integration

Real-Time Data Push Custom low-power RF

Low Battery Consumption e-Ink displays

Your Life’s Moment 17 –

25

million

streams watched/month

6 million

MAU

12 million

Downloads

What’s the need of 17 architecture?

Scalable Available Personalized

Grow with the users Always there for users Understand the users

The journey of our architecture

User 100 – Launch ASAP

First 100 users

Don’t even think about scalability Launch and verify the idea ASAP

AmazonRoute 53

Amazon EC2 MongoDB

Request

User 100,000 – CDN and Cache

User 100,000

Cache the database Use CDN to deliver the live streaming content

CDN AmazonRoute 53

Amazon EC2

MongoDB Request

Amazon ElastiCache

User 1 million – Design for failure

Design for failure

Failures are the norm, not exceptions

Suppose the rate of failure of one machine is once every 10 years (120 month)

The mean time of failure (MTTF) is 1 month if you have 120 servers

Always assume that things will go WRONG, and design for it

Design for failure

AmazonRoute 53

Amazon EC2

MongoDB

Amazon EC2

Amazon EC2

MongoDB

MongoDB

Elastic Load Balancing

Multi-AZ Multi-AZ

Mix spot and on-demand to save the cost

TIP: Use C3 instance for spot

Amazon ElastiCache

User 5 million – Build loosely coupled systems

Our system was a monolithic system consists of

API Server Streaming Server Worker

Application Server

API Server Streaming Server Worker

Application Server

We discovered a bug the API server didn’t send requests to worker

API Server Streaming Server Worker

Application Server

After fixed, the overloaded worker crashed the whole server

Split the service, so that it’s easier to scale, and fail independently

Build loosely coupled systems

API Server

Streaming Server

Worker

API Server

API Server

Streaming Server

Worker

Worker

AmazonSQS

API Cluster Worker Cluster Streaming Cluster

Monitor for each service, and design for failure

4M customers

7M visits weekly

11M mobile app download

2M orders shipped in Q4 2015

Before •  Platform fully hosted in a physical

DC in Hong Kong •  Average capacity utilization 10% •  Living dangerously during peak •  Lead-time for adding peak

capacity – 10 days

ZALORA cloud journey

After •  “Double 12”: China's Cyber

Monday 6X •  Redshift for click stream analysis •  Live migration in 30 days for all 8

sites •  Average 40% utilization; •  4X capacity increase in 15 mins •  1-2s faster page loads in ID & PH,

~10% better CR

6X

6X ?

visits

resources

Amazon Route 53

User Amazon

CloudFront

Magento

RDS Master (Multi-AZ)

Elastic Load

Balancer

RDS Slave (Multi-AZ)

Magento

Availability Zone Availability Zone

Backup Storage

Static website *.html, *.js *.css

*.jpg *.mp4

S3

Redis Read Replica

Redis Master

RDS Read Replica

RDS Read Replica

Magento Magento

Magento Admin

Private subnet Office

VPN

A Scalable Platform

Stock Exchange NASDAQ and NYSE

1000+ Skills

Alexa Skills Kit architecture

Amazon Alexa

service

Developer’s application

service

Amazon’s Developer

Portal Application, intents, sample data, developer service URL endpoint

Configured through portal

User intents and arguments are sent to the developer service

GUI cards are rendered in the Amazon Alexa app

User audio is streamed to the service

Audio responses are rendered on-device

Text response and/or GUI card data is returned

Alexa is always learning. Alexa gets smarter by learning new skills. Developers can create new skills for Alexa.

Alexa is ALWAYS LEARNING

Capital One Skill

Capital One’s Alexa approach June: A few developers buy Echos

July: Full day tech offsite & side of desk project kickoff

August: Rapid prototyping and expanding Capital One skill

Goal: Pair Alexa with the Capital One app and

allow users to get their credit card balance

March 2016: Official Launch

Capital One skills focus

Read-only information Transactional skills Experimenting

•  Default accounts (credit card, bank, loans)

•  Account balances •  Bill due date •  Last payment •  Last transactions •  Interest rate

•  Pay bill(s) •  Transfer $

•  App usage Patterns •  O-Auth •  Customer service/

support •  Customer

acquisition •  Alexa adoption •  Alexa evolution

Skill development segmented into three priority buckets

Responding requires a new model

Focus on differentiating your company

Innovate at start-up like speed

Reduce risk

Thank You

Recommended