revitalizing walmart's aging architecture for web scale

46
Revitalizing Walmart's Aging Architecture for Web Scale

Upload: kevin-webber

Post on 08-Jan-2017

8.184 views

Category:

Software


0 download

TRANSCRIPT

Page 1: Revitalizing Walmart's Aging Architecture for Web Scale

Revitalizing Walmart's Aging Architecture for Web Scale

Page 2: Revitalizing Walmart's Aging Architecture for Web Scale

Typesafe Reactive Platform» Play - RESTful API

framework

» Akka - Distributed computing framework

» Spark - General purpose in-memory compute engine

» ConductR, Monitoring, and commercial features

Page 3: Revitalizing Walmart's Aging Architecture for Web Scale

Why microservices?

Page 4: Revitalizing Walmart's Aging Architecture for Web Scale

2005 architecture

Page 5: Revitalizing Walmart's Aging Architecture for Web Scale

2015 architecture

Page 6: Revitalizing Walmart's Aging Architecture for Web Scale

2020 architecture

Page 7: Revitalizing Walmart's Aging Architecture for Web Scale

Size of the internet today

Page 8: Revitalizing Walmart's Aging Architecture for Web Scale

The world by 2020» 4 billion connected people

» 25+ million apps

» 25+ billion embedded systems

» 40 zettabytes (40 trillion gigabytes)

» 5,200 GB of data for every person on Earth

Page 9: Revitalizing Walmart's Aging Architecture for Web Scale

Walmart Canada

Page 10: Revitalizing Walmart's Aging Architecture for Web Scale

Business Impact

Page 11: Revitalizing Walmart's Aging Architecture for Web Scale

The goal» ~100% availability ("nine nines")

Page 12: Revitalizing Walmart's Aging Architecture for Web Scale

The goal» ~100% availability ("nine nines")

» Consistent responsiveness under varying load conditions

Page 13: Revitalizing Walmart's Aging Architecture for Web Scale

The goal» ~100% availability ("nine nines")

» Consistent responsiveness under varying load conditions

» Predictable spikes of traffic, e.g, Black Friday

» Less predictable spikes of traffic, e.g, marketing campaign driving traffic

Page 14: Revitalizing Walmart's Aging Architecture for Web Scale

The goal» ~100% availability ("nine nines")

» Consistent responsiveness under varying load conditions

» Predictable spikes of traffic, e.g, Black Friday

» Less predictable spikes of traffic, e.g, marketing campaign driving traffic

» Enable LOBs to rapidly adapt to market conditions

Page 15: Revitalizing Walmart's Aging Architecture for Web Scale

A Revitalized Architecture

Page 16: Revitalizing Walmart's Aging Architecture for Web Scale

Walmart's Business Uplift» Conversions up 20%

» Mobile orders up 98%

» No downtime Black Friday or Boxing Day

Page 17: Revitalizing Walmart's Aging Architecture for Web Scale

Walmart's Operational Savings» Moved off expensive hardware

» On cheap virtual x86 servers

» 20% - 50% cost savings

» ~ 40% compute cycles

Page 18: Revitalizing Walmart's Aging Architecture for Web Scale

Where to begin?

Page 19: Revitalizing Walmart's Aging Architecture for Web Scale
Page 20: Revitalizing Walmart's Aging Architecture for Web Scale
Page 21: Revitalizing Walmart's Aging Architecture for Web Scale
Page 22: Revitalizing Walmart's Aging Architecture for Web Scale
Page 23: Revitalizing Walmart's Aging Architecture for Web Scale

asynchronous, non-blocking, real-time, highly-available, loosely coupled, scalable, fault-tolerant, concurrent, reactive, event-driven, push instead of pull, distributed, low latency, high throughput...

Page 24: Revitalizing Walmart's Aging Architecture for Web Scale

asynchronous, non-blocking, real-time, highly-available, loosely coupled, scalable, fault-tolerant, concurrent, reactive, event-driven, push instead of pull, distributed, low latency, high throughput...

Too complicated. We need a simple vocabulary.

Page 25: Revitalizing Walmart's Aging Architecture for Web Scale

ReactiveThe ultimate maturity model for microservices.

» Responsive

» Resilient

» Elastic

» Message-driven

Page 26: Revitalizing Walmart's Aging Architecture for Web Scale

Why, What, HowReactive (principles)

» responsive, resilient, elastic, message-driven

Page 27: Revitalizing Walmart's Aging Architecture for Web Scale

Why, What, HowReactive (principles)

» responsive, resilient, elastic, message-driven

Microservices (strategy)

» bounded contexts (DDD), event sourcing, CQRS, eventual consistency

Page 28: Revitalizing Walmart's Aging Architecture for Web Scale

Why, What, HowReactive (principles)

» responsive, resilient, elastic, message-driven

Microservices (strategy)

» bounded contexts (DDD), event sourcing, CQRS, eventual consistency

Tools (implementation)

» Typesafe Reactive Platform (Play, Akka, Spark)

Page 29: Revitalizing Walmart's Aging Architecture for Web Scale

Heritage system

Page 30: Revitalizing Walmart's Aging Architecture for Web Scale

Future system

Page 31: Revitalizing Walmart's Aging Architecture for Web Scale

Clustered microservices

Page 32: Revitalizing Walmart's Aging Architecture for Web Scale

Ecosystemplus:

» service registry

» service discovery

» architecture visualization

» security

Page 33: Revitalizing Walmart's Aging Architecture for Web Scale

Implementation?

Page 34: Revitalizing Walmart's Aging Architecture for Web Scale

Typesafe Reactive Platform

Page 35: Revitalizing Walmart's Aging Architecture for Web Scale

Message-driven» distribution

» location transparency

» isolation

Page 36: Revitalizing Walmart's Aging Architecture for Web Scale

Resilient» supervision

Page 37: Revitalizing Walmart's Aging Architecture for Web Scale

Resilient» dedicated separate error

channel

Page 38: Revitalizing Walmart's Aging Architecture for Web Scale

Elastic» scale up

» async

» non-blocking

» scale out

» immutable data

» share nothing

Page 39: Revitalizing Walmart's Aging Architecture for Web Scale

Responsive» responsive to events, load,

failure, users

» embrace new concepts and patterns

» cluster computing

» distribution of data

» new patterns like circuit breakers

Page 40: Revitalizing Walmart's Aging Architecture for Web Scale
Page 41: Revitalizing Walmart's Aging Architecture for Web Scale

What we offer

Page 42: Revitalizing Walmart's Aging Architecture for Web Scale

Commercial features» Akka Split Brain Resolver

» Akka 2.3 Cluster Support for Docker

» Play User Quotas

» Play SOAP

Page 43: Revitalizing Walmart's Aging Architecture for Web Scale

Project Success Subscription» Certified build

» Compatibility verifications

» Security alerts

» Binary updates

» Long-term support

» Legal protection

Page 44: Revitalizing Walmart's Aging Architecture for Web Scale

Typesafe ConductRManage Typesafe Reactive Platform applications across a cluster

Page 45: Revitalizing Walmart's Aging Architecture for Web Scale

Typesafe MonitoringKnow exactly what your Reactive system is doing

Page 46: Revitalizing Walmart's Aging Architecture for Web Scale

Thank you!Visit https://www.typesafe.com/products/typesafe-reactive-platform to get started

Contact info

» Twitter: @kvnwbbr

» Email: [email protected]