Spring Cloud Netflix OSS

27
SPRING CLOUD NETFLIX OSS +

Transcript of Spring Cloud Netflix OSS

Page 1: Spring Cloud Netflix OSS

SPRING CLOUDNETFLIX OSS

+

Page 2: Spring Cloud Netflix OSS

HI! I'M STEVE HALLJava Developer since '98

@Centare since '11

Follow me @MarkOfHall

Let's connect on LinkedIn

Page 3: Spring Cloud Netflix OSS
Page 4: Spring Cloud Netflix OSS

NETFLIX ARCHITECTUREMulti-Region AWS Deployment

Java based Microservices style Architecture

Continuous Integration and Delivery pipeline

Tools and Libraries that reduce frictionDave Hahn: A Day in the Life of a Netflix Engineer

Page 5: Spring Cloud Netflix OSS

NETFLIX CULTUREFreedom and Responsiblity

DevOps Culture

Products not Projects

Pizza sized teams

Conway's Law (Inverse)

Adrian Cockcro : State of the Art in Microservices

Page 6: Spring Cloud Netflix OSS

WHAT'S A MICROSERVICE?

"A light-weight, loosely-coupled, service orientedarchitecture with bounded contexts" Adrian Cockcro

"Applications that fit in your head" James Lewis

"smart endpoints with dumb pipes" Martin Fowler

Page 7: Spring Cloud Netflix OSS

WHY MICROSERVICES?Scale Independently

Agility / Speed of change

Organizational Alignment / Team Structure

Polyglot

Page 8: Spring Cloud Netflix OSS

MICROSERVICE ENVYInfrastructure Automation / Config Management

DevOps / CI / CD Pipeline

Understand DDD

Adopt Consumer Driven Contract Testing

Semantic Monitoring

Page 9: Spring Cloud Netflix OSS

MICROSERVICES PREMIUM

Sometimes an app is an app.Martin Fowler: Microservices Premium

Page 10: Spring Cloud Netflix OSS

THINGS TO CONSIDERHow will we manage service configuration?

How will services find other services?

How will clients handle communication?

What happens when things fail?

How will we monitor our services?

Page 11: Spring Cloud Netflix OSS

NETFLIX OSSBig DataBuild and Delivery ToolsCommon Runtime Services &LibrariesData PersistenceInsight, Reliability and PerformanceSecurityUser Interface

Page 12: Spring Cloud Netflix OSS

SERVICES & LIBRARIESEureka : Service DiscoveryZuul : Request Router / APIGatewayRibbon : Client Side Load BalancingHystrix : Circuit BreakerTurbine : Event Stream Aggregator

Page 13: Spring Cloud Netflix OSS

SPRING CLOUD

"Spring Cloud provides tools for developers to quickly buildsome of the common patterns in distributed systems."

Page 14: Spring Cloud Netflix OSS

LET'S BUILD THIS!

Page 15: Spring Cloud Netflix OSS

LET'S BUILD THIS!

Page 16: Spring Cloud Netflix OSS

LET'S BUILD THIS!

Page 17: Spring Cloud Netflix OSS

LET'S BUILD THIS!

Page 18: Spring Cloud Netflix OSS

LET'S BUILD THIS!

Page 19: Spring Cloud Netflix OSS

LET'S BUILD THIS!

Page 20: Spring Cloud Netflix OSS

LET'S BUILD THIS!

Page 21: Spring Cloud Netflix OSS

LET'S BUILD THIS!

Page 22: Spring Cloud Netflix OSS

ACKNOWLEDGEMENTAdrianCockcroMartin FowlerSam NewmanJosh LongMatt Stine

Page 23: Spring Cloud Netflix OSS

WHAT'S NEXT?Serverless Services ?

AWS LamdaGoogle Cloud FunctionsAzure Functions

Terabyte Services ?AWS X1 Instance w/ 2TB ofMemory

Page 24: Spring Cloud Netflix OSS

QUESTIONS?

Page 25: Spring Cloud Netflix OSS

THANK YOU!

Page 26: Spring Cloud Netflix OSS

NETFLIX SCALEMulti-Region AWS deployment

100s of Java based Microservices

10,000s of EC2 instances

1000s of daily production deployments

100,000s customer interactions per minute

1,000,000s customers

1,000,000,000s of metrics

10,000,000,000s hour of content streamedDave Hahn: A Day in the Life of a Netflix Engineer

Page 27: Spring Cloud Netflix OSS

NETFLIX'S JOURNEY TO CLOUD2007 Begin Internet Streaming2008 Datacenter hardware failure2009 Start migration to AWS2010 First devices talking to AWS USEast2011-2012 European Deployments2013 US West 22013 Open Source Netflix OSS2015 Migration complete