What Is This Cloud
Native Thing Anyway?
CraftConf 2018
Sam Newman
Copyright 2018 Sam Newman and Associates Ltd. https://samnewman.io/
@samnewman
Sam Newman &
Associates
Copyright 2018 Sam Newman and Associates Ltd. https://samnewman.io/
@samnewman
Sam Newman
Building
Microservices
DESIGNING FINE-GRAINED SYSTEMS
Copyright 2018 Sam Newman and Associates Ltd. https://samnewman.io/
https://www.flickr.com/photos/reavel/2496345250/Copyright 2018 Sam Newman and Associates Ltd. https://samnewman.io/
@samnewman
Cloud Native
Copyright 2018 Sam Newman and Associates Ltd. https://samnewman.io/
@samnewman
Two Things…
Copyright 2018 Sam Newman and Associates Ltd. https://samnewman.io/
@samnewman
It’s all about
abstractions
Copyright 2018 Sam Newman and Associates Ltd. https://samnewman.io/
@samnewman
It’s not all about
kubernetes
Copyright 2018 Sam Newman and Associates Ltd. https://samnewman.io/
@samnewman
Copyright 2018 Sam Newman and Associates Ltd. https://samnewman.io/
@samnewman
2006
Copyright 2018 Sam Newman and Associates Ltd. https://samnewman.io/
@samnewman
Copyright 2018 Sam Newman and Associates Ltd. https://samnewman.io/
@samnewman
1999
Copyright 2018 Sam Newman and Associates Ltd. https://samnewman.io/
@samnewman
2007
Copyright 2018 Sam Newman and Associates Ltd. https://samnewman.io/
@samnewman
What is a cloud
native app?
Copyright 2018 Sam Newman and Associates Ltd. https://samnewman.io/
@samnewman
https://12factor.net
Copyright 2018 Sam Newman and Associates Ltd. https://samnewman.io/
@samnewman
Copyright 2018 Sam Newman and Associates Ltd. https://samnewman.io/
@samnewman
Copyright 2018 Sam Newman and Associates Ltd. https://samnewman.io/
@samnewman
Copyright 2018 Sam Newman and Associates Ltd. https://samnewman.io/
@samnewman
https://www.nirmata.com/2015/03/09/cloud-native-application-maturity-model/
OPEN DATA CENTER ALLIANCE MATURITY MODEL
Copyright 2018 Sam Newman and Associates Ltd. https://samnewman.io/
@samnewman
Copyright 2018 Sam Newman and Associates Ltd. https://samnewman.io/
@samnewman
“Application can dynamically migrate across infrastructure
providers without interruption of service”
Copyright 2018 Sam Newman and Associates Ltd. https://samnewman.io/
@samnewman
NOT CLOUD NATIVE?
Copyright 2018 Sam Newman and Associates Ltd. https://samnewman.io/
@samnewman
Ok, but what is a
Cloud Native App?
Copyright 2018 Sam Newman and Associates Ltd. https://samnewman.io/
@samnewman
https://www.cncf.io/about/charter/
CNCF CHARTER
Copyright 2018 Sam Newman and Associates Ltd. https://samnewman.io/
@samnewman
(a) Container Packaged
CNCF DEFINITION…
Copyright 2018 Sam Newman and Associates Ltd. https://samnewman.io/
@samnewman
(a) Container Packaged
(b) Dynamically Managed
CNCF DEFINITION…
Copyright 2018 Sam Newman and Associates Ltd. https://samnewman.io/
@samnewman
(a) Container Packaged
(b) Dynamically Managed
(c) Micro-service Oriented
CNCF DEFINITION…
Copyright 2018 Sam Newman and Associates Ltd. https://samnewman.io/
@samnewman
(a) Container Packaged
(b) Dynamically Managed
(c) Micro-service Oriented
CNCF DEFINITION…
Copyright 2018 Sam Newman and Associates Ltd. https://samnewman.io/
@samnewmanhttps://www.flickr.com/photos/glynlowe/10921733615
Copyright 2018 Sam Newman and Associates Ltd. https://samnewman.io/
@samnewman
WHY CONTAINERS?
Copyright 2018 Sam Newman and Associates Ltd. https://samnewman.io/
@samnewman
Isolated execution
WHY CONTAINERS?
Copyright 2018 Sam Newman and Associates Ltd. https://samnewman.io/
@samnewman
Universal Deployment
Isolated execution
WHY CONTAINERS?
Copyright 2018 Sam Newman and Associates Ltd. https://samnewman.io/
@samnewman
Portable
Universal Deployment
Isolated execution
WHY CONTAINERS?
Copyright 2018 Sam Newman and Associates Ltd. https://samnewman.io/
@samnewman
FAAS?
Copyright 2018 Sam Newman and Associates Ltd. https://samnewman.io/
@samnewman
FAAS?
Copyright 2018 Sam Newman and Associates Ltd. https://samnewman.io/
@samnewman
FAAS?
Containers as an implementation detail
Copyright 2018 Sam Newman and Associates Ltd. https://samnewman.io/
@samnewman
(a) Container Packaged
(b) Dynamically Managed
(c) Micro-service Oriented
CNCF DEFINITION…
Copyright 2018 Sam Newman and Associates Ltd. https://samnewman.io/
@samnewman
(a) Container Packaged
(b) Dynamically Managed
(c) Micro-service Oriented
CNCF DEFINITION…
???
Copyright 2018 Sam Newman and Associates Ltd. https://samnewman.io/
@samnewman
(a) Container Packaged
(b) Dynamically Managed
(c) Micro-service Oriented
CNCF DEFINITION…
???
Copyright 2018 Sam Newman and Associates Ltd. https://samnewman.io/
@samnewman
(a) Container Packaged
(b) Dynamically Managed
(c) Micro-service Oriented
CNCF DEFINITION…
???
Copyright 2018 Sam Newman and Associates Ltd. https://samnewman.io/
@samnewman
Sam Newman
Building
Microservices
DESIGNING FINE-GRAINED SYSTEMS
Copyright 2018 Sam Newman and Associates Ltd. https://samnewman.io/
@samnewman
Sam Newman
Building
Microservices
DESIGNING FINE-GRAINED SYSTEMS
Copyright 2018 Sam Newman and Associates Ltd. https://samnewman.io/
@samnewman
https://pivotal.io/cloud-native
Copyright 2018 Sam Newman and Associates Ltd. https://samnewman.io/
@samnewman
“MICRO-SERVICE ORIENTED?”
Copyright 2018 Sam Newman and Associates Ltd. https://samnewman.io/
@samnewman
Independent Scaling
“MICRO-SERVICE ORIENTED?”
Copyright 2018 Sam Newman and Associates Ltd. https://samnewman.io/
@samnewman
Right tool, right job
Independent Scaling
“MICRO-SERVICE ORIENTED?”
Copyright 2018 Sam Newman and Associates Ltd. https://samnewman.io/
@samnewman
Right tool, right job
Independently Deployable
Independent Scaling
“MICRO-SERVICE ORIENTED?”
Copyright 2018 Sam Newman and Associates Ltd. https://samnewman.io/
@samnewman
Seriously though,
what the hell is a
cloud native app?
Copyright 2018 Sam Newman and Associates Ltd. https://samnewman.io/
@samnewman
Copyright 2018 Sam Newman and Associates Ltd. https://samnewman.io/
@samnewman
Lift & Shift
Copyright 2018 Sam Newman and Associates Ltd. https://samnewman.io/
@samnewman
Lift & Shift
On the cloud, but fighting it
Copyright 2018 Sam Newman and Associates Ltd. https://samnewman.io/
@samnewman
Lift & Shift
On the cloud, but fighting it
Cloud Ready
Copyright 2018 Sam Newman and Associates Ltd. https://samnewman.io/
@samnewman
Lift & Shift
On the cloud, but fighting it
Cloud Ready
Working with, not against
Copyright 2018 Sam Newman and Associates Ltd. https://samnewman.io/
@samnewman
Lift & Shift
Cloud Native
On the cloud, but fighting it
Cloud Ready
Working with, not against
Copyright 2018 Sam Newman and Associates Ltd. https://samnewman.io/
@samnewman
Lift & Shift
Cloud Native
On the cloud, but fighting it
Embracing the cloud, and only the cloud
Cloud Ready
Working with, not against
Copyright 2018 Sam Newman and Associates Ltd. https://samnewman.io/
@samnewman
Lift & Shift
Cloud Native
On the cloud, but fighting it
Embracing the cloud, and only the cloud
Cloud Ready
Working with, not against
12 factor apps
Copyright 2018 Sam Newman and Associates Ltd. https://samnewman.io/
@samnewman
Lift & Shift
Cloud Native
On the cloud, but fighting it
Embracing the cloud, and only the cloud
Cloud Ready
Working with, not against
12 factor apps
Serverless
Copyright 2018 Sam Newman and Associates Ltd. https://samnewman.io/
@samnewman
An application that is built to take
full advantage of an underlying
cloud platform
Copyright 2018 Sam Newman and Associates Ltd. https://samnewman.io/
@samnewman
An application that is built to take
full advantage of an underlying
cloud platform
Probably: designed with a specific
platform in mind
Copyright 2018 Sam Newman and Associates Ltd. https://samnewman.io/
@samnewman
An application that is built to take
full advantage of an underlying
cloud platform
Probably: designed with a specific
platform in mind
Highly-likely: not going to work without
a cloud platform
Copyright 2018 Sam Newman and Associates Ltd. https://samnewman.io/
@samnewman
CLOUD NATIVE APP CHARACTERISTICS
Copyright 2018 Sam Newman and Associates Ltd. https://samnewman.io/
@samnewman
Build to scale
CLOUD NATIVE APP CHARACTERISTICS
Copyright 2018 Sam Newman and Associates Ltd. https://samnewman.io/
@samnewman
Build to scale
Fault-tolerant
CLOUD NATIVE APP CHARACTERISTICS
Copyright 2018 Sam Newman and Associates Ltd. https://samnewman.io/
@samnewman
Build to scale
Fault-tolerant
Maybe: decomposed into services
CLOUD NATIVE APP CHARACTERISTICS
Copyright 2018 Sam Newman and Associates Ltd. https://samnewman.io/
@samnewman
Build to scale
Fault-tolerant
Maybe: decomposed into services
Pushes as much work to the platform as possible
CLOUD NATIVE APP CHARACTERISTICS
Copyright 2018 Sam Newman and Associates Ltd. https://samnewman.io/
@samnewman
Build to scale
Fault-tolerant
Maybe: decomposed into services
Pushes as much work to the platform as possible
Automatable
CLOUD NATIVE APP CHARACTERISTICS
Copyright 2018 Sam Newman and Associates Ltd. https://samnewman.io/
@samnewman
Platforms?
Copyright 2018 Sam Newman and Associates Ltd. https://samnewman.io/
@samnewman
Abstractions
Platforms?
Copyright 2018 Sam Newman and Associates Ltd. https://samnewman.io/
@samnewman
IAAS
Copyright 2018 Sam Newman and Associates Ltd. https://samnewman.io/
@samnewman
IAAS
CoAAS
Copyright 2018 Sam Newman and Associates Ltd. https://samnewman.io/
@samnewman
IAAS
CoAAS
PAAS
Copyright 2018 Sam Newman and Associates Ltd. https://samnewman.io/
@samnewman
IAAS
CoAAS
PAASServerless?
Copyright 2018 Sam Newman and Associates Ltd. https://samnewman.io/
@samnewman
IAAS
CoAAS
PAASServerless?
Copyright 2018 Sam Newman and Associates Ltd. https://samnewman.io/
@samnewman
“Developers turn caffeine into abstractions”
- Brian Marick, possibly
Copyright 2018 Sam Newman and Associates Ltd. https://samnewman.io/
@samnewman
Machine Code
Copyright 2018 Sam Newman and Associates Ltd. https://samnewman.io/
@samnewman
Machine Code
Assembly Code
Copyright 2018 Sam Newman and Associates Ltd. https://samnewman.io/
@samnewman
Machine Code
Assembly Code
Application Code
Copyright 2018 Sam Newman and Associates Ltd. https://samnewman.io/
@samnewman
https://www.joelonsoftware.com/2002/11/11/the-law-of-leaky-abstractions/
Copyright 2018 Sam Newman and Associates Ltd. https://samnewman.io/
@samnewman
Lock-in?
Copyright 2018 Sam Newman and Associates Ltd. https://samnewman.io/
@samnewman
https://twitter.com/alexstamos/status/993258342230376448
Copyright 2018 Sam Newman and Associates Ltd. https://samnewman.io/
@samnewman
Copyright 2018 Sam Newman and Associates Ltd. https://samnewman.io/
@samnewman
Copyright 2018 Sam Newman and Associates Ltd. https://samnewman.io/
@samnewman
https://www.allthingsdistributed.com/2016/03/10-lessons-from-10-years-of-aws.html
“One of the most important mechanisms we provided
was to offer customers a collection of primitives and
tools, where they could pick and choose their preferred
way to engage with the AWS cloud, instead of only
providing one framework”
Copyright 2018 Sam Newman and Associates Ltd. https://samnewman.io/
@samnewman
Amazon
EC2
Copyright 2018 Sam Newman and Associates Ltd. https://samnewman.io/
@samnewman
Amazon
EC2
Amazon

S3
Copyright 2018 Sam Newman and Associates Ltd. https://samnewman.io/
@samnewman
Amazon
EC2
Amazon

S3
Amazon

RDS
Copyright 2018 Sam Newman and Associates Ltd. https://samnewman.io/
@samnewman
CNCF PROJECTS -> CLOUD NATIVE PRIMITIVES
https://www.cncf.io/projects/
Copyright 2018 Sam Newman and Associates Ltd. https://samnewman.io/
@samnewman
“(g) Platform agnostic. The specifications developed will
not be platform specific such that they can be
implemented on a variety of architectures and operating
systems.”
https://www.cncf.io/about/charter/
Copyright 2018 Sam Newman and Associates Ltd. https://samnewman.io/
@samnewman
on-premise?
Copyright 2018 Sam Newman and Associates Ltd. https://samnewman.io/
@samnewman
on-premise?
operating
Copyright 2018 Sam Newman and Associates Ltd. https://samnewman.io/
@samnewman
on-premise?
operating
lower-level
primitives
Copyright 2018 Sam Newman and Associates Ltd. https://samnewman.io/
@samnewman
CNCF PROJECTS -> CLOUD NATIVE PRIMITIVES
https://www.cncf.io/projects/
Copyright 2018 Sam Newman and Associates Ltd. https://samnewman.io/
@samnewman
CNCF PROJECTS -> CLOUD NATIVE PRIMITIVES
https://www.cncf.io/projects/
Data & Storage?
Copyright 2018 Sam Newman and Associates Ltd. https://samnewman.io/
@samnewman
https://www.cncf.io/about/charter/
CNCF CHARTER
Copyright 2018 Sam Newman and Associates Ltd. https://samnewman.io/
@samnewman
https://www.cncf.io/about/charter/
CNCF CHARTER
“The Foundation’s mission is to create and drive the
adoption of a new computing paradigm that is
optimized for modern distributed systems environments
capable of scaling to tens of thousands of self healing
multi-tenant nodes.”
Copyright 2018 Sam Newman and Associates Ltd. https://samnewman.io/
@samnewman
tens of thousands of
nodes?
Copyright 2018 Sam Newman and Associates Ltd. https://samnewman.io/
@samnewman
Copyright 2018 Sam Newman and Associates Ltd. https://samnewman.io/
@samnewman
standards?
Copyright 2018 Sam Newman and Associates Ltd. https://samnewman.io/
@samnewman
http://opentracing.io
OPEN TRACING
Copyright 2018 Sam Newman and Associates Ltd. https://samnewman.io/
@samnewman
https://www.cncf.io/about/members/
MEMBERS…
Copyright 2018 Sam Newman and Associates Ltd. https://samnewman.io/
@samnewman
https://pivotal.io/cloud-native
Copyright 2018 Sam Newman and Associates Ltd. https://samnewman.io/
@samnewman
Agile/Lean
Copyright 2018 Sam Newman and Associates Ltd. https://samnewman.io/
@samnewman
Agile/Lean
DevOps
Copyright 2018 Sam Newman and Associates Ltd. https://samnewman.io/
@samnewman
Agile/Lean
Continuous
Delivery
DevOps
Copyright 2018 Sam Newman and Associates Ltd. https://samnewman.io/
@samnewman
Agile/Lean
Continuous
Delivery
DevOps
Copyright 2018 Sam Newman and Associates Ltd. https://samnewman.io/
@samnewman
Agile/Lean
Continuous
Delivery
DevOps
Cloud
Copyright 2018 Sam Newman and Associates Ltd. https://samnewman.io/
@samnewman
Agile/Lean
Continuous
Delivery
DevOps
Cloud
Microservices
Copyright 2018 Sam Newman and Associates Ltd. https://samnewman.io/
@samnewman
Agile/Lean
Continuous
Delivery
DevOps
Cloud
Cloud
Native
Microservices
Copyright 2018 Sam Newman and Associates Ltd. https://samnewman.io/
@samnewman
is it for me?
Copyright 2018 Sam Newman and Associates Ltd. https://samnewman.io/
@samnewman
You need to be able to buy into a platform
Copyright 2018 Sam Newman and Associates Ltd. https://samnewman.io/
@samnewman
You need to be able to buy into a platform
You need a continual appetite to assess and
adopt new technology
Copyright 2018 Sam Newman and Associates Ltd. https://samnewman.io/
@samnewman
You need to be able to buy into a platform
You need a continual appetite to assess and
adopt new technology
You’ll need to learn new skills, and perhaps hire
new types of people
Copyright 2018 Sam Newman and Associates Ltd. https://samnewman.io/
@samnewman
You need to be able to buy into a platform
You need a continual appetite to assess and
adopt new technology
You’ll need to learn new skills, and perhaps hire
new types of people
Accept the constraints of the platform(s) you
adopt
Copyright 2018 Sam Newman and Associates Ltd. https://samnewman.io/
@samnewman
Reduce operating costs
Copyright 2018 Sam Newman and Associates Ltd. https://samnewman.io/
@samnewman
Reduce operating costs
Move faster
Copyright 2018 Sam Newman and Associates Ltd. https://samnewman.io/
@samnewman
Reduce operating costs
Move faster
Handle scale, resiliency and security significantly
better than doing it yourself
Copyright 2018 Sam Newman and Associates Ltd. https://samnewman.io/
@samnewman
Sam Newman
Building
Microservices
DESIGNING FINE-GRAINED SYSTEMS
Copyright 2018 Sam Newman and Associates Ltd. https://samnewman.io/
@samnewman
http://samnewman.io
@samnewman
Thank You!
Copyright 2018 Sam Newman and Associates Ltd. https://samnewman.io/

What Is This Cloud Native Thing Anyway?