43
AWS Cloud for Breakfast | 27.04.2017 | Christian Deger | @cdeger Highway to heaven Building microservices in the cloud

AWS Cloud For Breakfast - Building Microservices in the Cloud

Embed Size (px)

Citation preview

Page 1: AWS Cloud For Breakfast - Building Microservices in the Cloud

AWS Cloud for Breakfast | 27.04.2017 | Christian Deger | @cdeger

Highway to heavenBuilding microservices in the cloud

Page 2: AWS Cloud For Breakfast - Building Microservices in the Cloud

Christian DegerChief [email protected]@cdeger

Page 3: AWS Cloud For Breakfast - Building Microservices in the Cloud

Microservices on AWS?

Page 4: AWS Cloud For Breakfast - Building Microservices in the Cloud

Speed

Independent deployable

Fast local decisionsAutonomous teams

Strong boundaries

Loosely coupled Technology diversity

Scale the organization

Why Microservices?

Page 5: AWS Cloud For Breakfast - Building Microservices in the Cloud

Cloud =

no physical

limitations

Page 6: AWS Cloud For Breakfast - Building Microservices in the Cloud

Agility

Page 7: AWS Cloud For Breakfast - Building Microservices in the Cloud

Agility

• Technical agility

Page 8: AWS Cloud For Breakfast - Building Microservices in the Cloud

Agility

• Technical agility

• Organizational agility

Page 9: AWS Cloud For Breakfast - Building Microservices in the Cloud

2.4 million vehicles

Page 10: AWS Cloud For Breakfast - Building Microservices in the Cloud

2000 servers

2 data centers

MTBF optimized

Page 11: AWS Cloud For Breakfast - Building Microservices in the Cloud

Development

“Change”

Operations

“Stability”

Dev and Ops Silos

Page 12: AWS Cloud For Breakfast - Building Microservices in the Cloud
Page 13: AWS Cloud For Breakfast - Building Microservices in the Cloud

New

CEO

Page 14: AWS Cloud For Breakfast - Building Microservices in the Cloud

talent?Do you attract

Page 15: AWS Cloud For Breakfast - Building Microservices in the Cloud

21st centuryWhat does a

tech company

look like?

Page 16: AWS Cloud For Breakfast - Building Microservices in the Cloud
Page 17: AWS Cloud For Breakfast - Building Microservices in the Cloud

Great design

Universally connected

Mobile first

Instant business value

Massive data insight

Highly available

Page 18: AWS Cloud For Breakfast - Building Microservices in the Cloud

good, but not great

Hmm, we are

Page 19: AWS Cloud For Breakfast - Building Microservices in the Cloud

Rebooteverything

Page 20: AWS Cloud For Breakfast - Building Microservices in the Cloud

.NET/Windows to JVM/Linux

Monolith to microservices

Data center to AWS

Devs + Ops to collaboration culture

Involve product people

Page 21: AWS Cloud For Breakfast - Building Microservices in the Cloud

“Death Star” diagrams

Amazon 2008 Twitter 2013

Page 22: AWS Cloud For Breakfast - Building Microservices in the Cloud

http://scs-architecture.org/

Self-contained systems = microservices flavor

Team 1

Team 2 Team 3

One business

capability is

owned, built

and run as an

SCS by one

team.

Self-contained

systems are

vertical slices

integrated at

the UI.

Page 23: AWS Cloud For Breakfast - Building Microservices in the Cloud

Same

direction

Page 24: AWS Cloud For Breakfast - Building Microservices in the Cloud

STRATEGIC

GOALSGoals of the business side

ARCHITECTURAL

PRINCIPLESHigh-Level Principles

DESIGN AND DELIVERY

PRINCIPLESTactical measures

REDUCE TIME TO MARKET

Establish fast feedback loops to learn, validate and

improve. Remove friction, hand-offs and undifferentiated

work.

MOBILE FIRST

Start small and use device capabilities.

SUPPORT DATA-DRIVEN DECISIONS

Provide relevant metrics and data for user and market

insights. Validate hypothesis for problems worth solving.

YOU BUILT IT, YOU RUN IT

The team is responsible for shaping, building, running and

maintaining its products. Fast feedback from live and

customers helps us to continuously improve.

ORGANIZED AROUND BUSINESS CAPABILITIES

Build teams around products not projects. Follow the

domain and respect bounded contexts. Make boundaries

explicit. Inverse Conway Maneuver.

LOOSELY COUPLED

By default avoid sharing and tight coupling.

No integration database. Don’t create the next monolith.

MACRO AND MICRO ARCHITECTURE

Clear separation. Autonomous micro services within the

rules and constraints of the macro architecture.

AWS FIRST

Favor AWS platform service over managed service,

over self-hosted OSS, over self built solutions.

DATA-DRIVEN/METRIC-DRIVEN

Collect business and operational metrics. Analyze, alert

and act on them.

ELIMINATE ACCIDENTAL COMPLEXITY

Strive to keep it simple. Don’t over-engineer.

Focus on necessary domain complexity.

AUTONOMOUS TEAMS

Make fast local decisions. Be responsible. Know your

boundaries. Share findings.

INFRASTRUCTURE AS CODE

Automate everything: Reproducible, traceable, auditable

and tested. Immutable servers.

CROSS-FUNCTIONAL TEAMS

Engineers from all backgrounds work together in

collaborative teams as engineers and share

responsibilities. No silos.

BE BOLD

Go into production early. Value monitoring over tests.

Fail fast, recover and learn. Optimize for MTTR not MTBF.

SECURITY, COMPLIANCE AND DATA PRIVACY

Build with least privilege and data privacy in mind.

Know your threat model. Limit blast radius.

COST EFFICIENCY

Run your segment in the right balance of cost and value.

ONE SCOUT IT

Foster collaboration. Harmonize and standardize tools.

Pull common capabilities into decoupled platform services.

Version 2.0Icons made by Freepik from www.flaticon.com are licensed under CC BY 3.0

BEST TALENT

Autonomy, purpose and mastery: We know why we do

things, we decide how to approach them and deliberately

practice our skills.

Page 25: AWS Cloud For Breakfast - Building Microservices in the Cloud

Build

MeasureLearn

Page 26: AWS Cloud For Breakfast - Building Microservices in the Cloud

Conway’s Law

“Organizations which design systems ...

are constrained to produce designs which

are copies of the communication

structures of these organizations.”

Page 27: AWS Cloud For Breakfast - Building Microservices in the Cloud

Autonomous teams

business capabilitiesorganized around

Page 28: AWS Cloud For Breakfast - Building Microservices in the Cloud

You build it,

you run it.

Page 29: AWS Cloud For Breakfast - Building Microservices in the Cloud

We are all

engineers!

Page 30: AWS Cloud For Breakfast - Building Microservices in the Cloud

Follow the

trail

Page 31: AWS Cloud For Breakfast - Building Microservices in the Cloud

Guilds

Self-organizing; common interests; across teams

Macro architecture, infrastructure, front end, QA...

Beware of Mandelbrot teams

Page 32: AWS Cloud For Breakfast - Building Microservices in the Cloud

Continuous

delivery

Page 33: AWS Cloud For Breakfast - Building Microservices in the Cloud

Application code in

one repository per

service.

CI

Deployment

package as

artifact.

CD

Deliver package to

servers

Delivery pipeline—data center

Page 34: AWS Cloud For Breakfast - Building Microservices in the Cloud

Application code

and infrastructure

specification in one

repository per

service.

CI

Deployment

package and

infrastructure

declaration as

artifact.

CD

1. Create or update

service infrastructure.

2. New instances pull

down package and

start application.

Delivery pipeline—AWS

Page 35: AWS Cloud For Breakfast - Building Microservices in the Cloud

Nostaging

environment

Page 36: AWS Cloud For Breakfast - Building Microservices in the Cloud

Cattle,not pets

Page 37: AWS Cloud For Breakfast - Building Microservices in the Cloud
Page 38: AWS Cloud For Breakfast - Building Microservices in the Cloud

Hamburgers,not cattle

Page 39: AWS Cloud For Breakfast - Building Microservices in the Cloud

Event streaming

Page 40: AWS Cloud For Breakfast - Building Microservices in the Cloud

Monitoring is the new testing

Page 41: AWS Cloud For Breakfast - Building Microservices in the Cloud

015 Teams

045 Lambda functions

250 Repositories

075 Microservices

019 Systems

Status quo

Page 42: AWS Cloud For Breakfast - Building Microservices in the Cloud