© Copyright 2017 Pivotal Software, Inc. All rights Reserved. Version 1.0
Matt Stine (@mstine)
Global CTO - Architecture
mstine@pivotal.io
http://mattstine.com
At the Trailhead:
Beginning Your Cloud Native Journey
Who is this guy?
■ 17 year Enterprise IT veteran
developer / architect
■ 5 years focused on Cloud Native
Platforms and Architecture
■ Frequent conference circuit speaker
■ Host of Software Architecture Radio

http://softwarearchitecturerad.io
■ I wrote a little cloud book…
Why do we care about
Cloud Native Architecture?
Context
Problem
Solution
Context
Context
Problem
Solution
Problem
Context
Problem
Solution
Solution
P
Agility
Resilience
The Great Conflict
DevOps represents the idea of
tearing down organizational silos
and building shared toolsets,
vocabularies, and communication
structures in service of a culture
focused on a single goal:
delivering value rapidly and
safely.
What is DevOps?
The First Way: Flow
The Second Way: Feedback
The Third Way: Continual Experimentation and Learning
This is the cultural pattern of
moving fast and not breaking things.
Continuous Delivery describes the
engineering practices that support
the concept to cash lifecycle by
proving every source code commit
to be deployable to production in
an automated fashion.
What is Continuous Delivery?
The Delivery Pipeline
• Commit daily
• Only build packages
once
• Deploy the same way
everywhere
• Smoke test
deployments
• Keep environments
similar
• If anything breaks,
STOP THE LINE
This is the
supporting engineering pattern
of moving fast and not breaking things.
DevOps CD
Agility Resilience
Cloud describes any computing
environment in which computing,
networking, and storage resources
can be provisioned and released
elastically in an on-demand, self-
service manner.
What is Cloud?
This is the substrate on
which we practice
software engineering.
It’s API-driven capabilities,
which drive fast and
elastic orchestration of
workloads, are the
technical toolkit enabling
DevOps and Continuous
Delivery.
DevOps CD
Cloud Native Platform
Agility Resilience
Then what is architecture?
Architecture is the process by which we
make software engineering decisions that
have system-wide impact and are often
expensive to reverse.
What is Architecture?
Architectural decision making can
enhance or detract from our ability to
practice DevOps.
Architectural decision making can
enhance or detract from our ability to
practice Continuous Delivery.
Architectural decision making can
exploit or waste the characteristics of
Cloud Native Platforms.
DevOps CD
Cloud Native Platform
Agility Resilience
Cloud Native Architecture
Cloud Native Architectural Qualities
● Modularity (via Microservices)
● Observability
● Deployability
● Testability
● Disposability
● Replaceability
DevOps CD
Cloud Native Platform
Agility Resilience
Cloud Native Architecture
Microservices are independently evolvable
and autonomously deployable services that
govern their own state and incorporate
resiliency patterns.
The primary role of microservices is to
provide a useful quantum of DevOps
and Continuous Delivery.
A Seattle book store deploys code, on
average, every second.
But what microservices should we create?
The Right Questions
How many microservices should we have?
The Right Questions
How big should our microservices be?
The Right Questions
Decomposition Strategies
Bounded Context
A subdomain that encapsulates
concepts representing an
internally consistent ubiquitous
language.
Value Stream
An activity flow that allows an
organization to carry a customer
request from inception to
production.
Velocity: speed
in a given direction.
Single
Responsibility
Principle
One of Robert Martin’s famous
SOLID principles, which states that
a module should have only one
responsibility, or one reason to
change.
http://www.mattstine.com/2014/06/30/microservices-are-solid
Failure Domain
An area of the system architecture
possessing one or more distinct
failure modes.
Anti-Corruption
Layer
A proxy layer supporting the
integration of two systems while
preventing the domain model of
one system to corrupt the domain
model of the other.
Decomposition strategies are not mutually exclusive!
https://builttoadapt.io/whats-your-decomposition-strategy-e19b8e72ac8f
WIN EPIC PRIZES!!!!!
* Requires Chrome… sorry!
TRIVIA
https://trivia-time.cfapps.io
SIX $50 GIFT GARDS!
Will you get one?
Transforming How The World Builds Software
© Copyright 2017 Pivotal Software, Inc. All rights Reserved.
Matt Stine (@mstine)
Global CTO - Architecture
mstine@pivotal.io
http://mattstine.com

At the Trailhead with Matt Stine

  • 1.
    © Copyright 2017Pivotal Software, Inc. All rights Reserved. Version 1.0 Matt Stine (@mstine) Global CTO - Architecture mstine@pivotal.io http://mattstine.com At the Trailhead: Beginning Your Cloud Native Journey
  • 2.
    Who is thisguy? ■ 17 year Enterprise IT veteran developer / architect ■ 5 years focused on Cloud Native Platforms and Architecture ■ Frequent conference circuit speaker ■ Host of Software Architecture Radio
 http://softwarearchitecturerad.io ■ I wrote a little cloud book…
  • 3.
    Why do wecare about Cloud Native Architecture?
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 13.
    DevOps represents theidea of tearing down organizational silos and building shared toolsets, vocabularies, and communication structures in service of a culture focused on a single goal: delivering value rapidly and safely. What is DevOps?
  • 14.
  • 15.
  • 16.
    The Third Way:Continual Experimentation and Learning
  • 17.
    This is thecultural pattern of moving fast and not breaking things.
  • 18.
    Continuous Delivery describesthe engineering practices that support the concept to cash lifecycle by proving every source code commit to be deployable to production in an automated fashion. What is Continuous Delivery?
  • 19.
    The Delivery Pipeline •Commit daily • Only build packages once • Deploy the same way everywhere • Smoke test deployments • Keep environments similar • If anything breaks, STOP THE LINE
  • 20.
    This is the supportingengineering pattern of moving fast and not breaking things.
  • 21.
  • 22.
    Cloud describes anycomputing environment in which computing, networking, and storage resources can be provisioned and released elastically in an on-demand, self- service manner. What is Cloud?
  • 25.
    This is thesubstrate on which we practice software engineering. It’s API-driven capabilities, which drive fast and elastic orchestration of workloads, are the technical toolkit enabling DevOps and Continuous Delivery.
  • 26.
    DevOps CD Cloud NativePlatform Agility Resilience
  • 27.
    Then what isarchitecture?
  • 28.
    Architecture is theprocess by which we make software engineering decisions that have system-wide impact and are often expensive to reverse. What is Architecture?
  • 29.
    Architectural decision makingcan enhance or detract from our ability to practice DevOps.
  • 30.
    Architectural decision makingcan enhance or detract from our ability to practice Continuous Delivery.
  • 31.
    Architectural decision makingcan exploit or waste the characteristics of Cloud Native Platforms.
  • 32.
    DevOps CD Cloud NativePlatform Agility Resilience Cloud Native Architecture
  • 33.
    Cloud Native ArchitecturalQualities ● Modularity (via Microservices) ● Observability ● Deployability ● Testability ● Disposability ● Replaceability DevOps CD Cloud Native Platform Agility Resilience Cloud Native Architecture
  • 34.
    Microservices are independentlyevolvable and autonomously deployable services that govern their own state and incorporate resiliency patterns.
  • 35.
    The primary roleof microservices is to provide a useful quantum of DevOps and Continuous Delivery.
  • 36.
    A Seattle bookstore deploys code, on average, every second.
  • 37.
    But what microservicesshould we create? The Right Questions
  • 38.
    How many microservicesshould we have? The Right Questions
  • 39.
    How big shouldour microservices be? The Right Questions
  • 40.
  • 41.
    Bounded Context A subdomainthat encapsulates concepts representing an internally consistent ubiquitous language.
  • 42.
    Value Stream An activityflow that allows an organization to carry a customer request from inception to production. Velocity: speed in a given direction.
  • 43.
    Single Responsibility Principle One of RobertMartin’s famous SOLID principles, which states that a module should have only one responsibility, or one reason to change. http://www.mattstine.com/2014/06/30/microservices-are-solid
  • 44.
    Failure Domain An areaof the system architecture possessing one or more distinct failure modes.
  • 45.
    Anti-Corruption Layer A proxy layersupporting the integration of two systems while preventing the domain model of one system to corrupt the domain model of the other.
  • 46.
    Decomposition strategies arenot mutually exclusive! https://builttoadapt.io/whats-your-decomposition-strategy-e19b8e72ac8f
  • 47.
    WIN EPIC PRIZES!!!!! *Requires Chrome… sorry! TRIVIA https://trivia-time.cfapps.io SIX $50 GIFT GARDS! Will you get one?
  • 48.
    Transforming How TheWorld Builds Software © Copyright 2017 Pivotal Software, Inc. All rights Reserved. Matt Stine (@mstine) Global CTO - Architecture mstine@pivotal.io http://mattstine.com