CloudNative London 2017

Posted on September 27, 2017 by Ernesto Garbarino

What is This Cloud Native Thing Anyway?

Presenter: Sam Newman

CNCF Cloud Native Definition

  1. Container Packaged
  2. Dynamically Managed
  3. Microservices orientated

Cloud Approaches

Cloud Native Definition

“An application built to take full advantage of an underlying cloud platform”

Cloud Native App Characteristics


Eight Principles for Cloud Native Storage

Presenter: Cheryl Hung


Eight Principles of Cloud Native Storage

  1. API Driven
  2. Declarative and Composable
  3. Application centric
  4. Agile (elastic capacity)
  5. Performant
  6. Natively Secure
  7. Consistenly Available
  8. Platform Agnostic

Storage Types

Storage landscape


Lunar Ways journey towards Cloud Native Utopia

Presenter: Kasper Nissen

Banking Application for saving towards goals integrated with partner banks

Key Points


“Containerization transforms the data center from being machine-oriented to being application-oriented” Burns et al,. Borg, Omega, and Kubernetes 2016

Cloud Native in the US Federal Government

Presenter: Jez Humble

Key points


Principles for Building a PaaS


“DevOps - All things I did not need to know about when I was using Heroku”

“Speed is the new security”

“You don’t want to build logging and monitoring for every single account”

“If you have to raise a ticket to get access to a capability you don’t have a cloud”

“Don’t install custom software like Cisco appliances in a Cloud environment - Always use the Cloud Native backing services and capabilities like RDS in AWS”

“The entire state of the platform must be able to be reconstructed from version control”


“Cloud computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction. This cloud model is composed of five essential characteristics, three service models, and four deployment models.”

NIST Cloud Definition

Keynote by Adrian Cockcroft

Presenter: Adrian Cockcroft

Key Points


“You get capacity in a data centre by forklifting a rack into it”

“In the cloud you pay a month later for the seconds used rather than up-front for three years worth of depreciation”

“Pay for what yo used last month, not what you guess you will need next year”

“In the data centre you file tickets and wait for every step. Self service, instead is on-demand”

“A data architecture based around a primary and secondary instance is not cloud native”

“CNCF is curating all of the cloud relevant stuff in GitHub”

“Serverless: You can finish building and deploying an application in less time than you’d spend evaluating container runtimes.”

“We are working towards making containers a first class entity in AWS”

“It is not lock-in what people dislike (as in marriage), but unlocking (as in divorce)”.

Cloud Native Principles

  1. Pas as you go, afterwards
  2. Self service - no waiting
  3. Globally distributed by default
  4. Cross-zone/region availability models
  5. High utilization - turn idle resources off
  6. Immutable code

Cloud Practice Evolution

2012 Cloud practice 2014 Cloud Practice 2017 Cloud Practice
Netflix OSS Docker AWS Lambda
Instances Containers Functions and Events
Java focus -> Spring Golang -> Kubernetes Node.js -> Serverless


Town Planners Settlers Pioneers
Instances Containers Serverless
Risk adverse Efficient Fastest Development
Safe but slow Faster Low Cost
Mature tooling Evolving tooling Tooling emerging

Kubernetes vs AWS ECS

Kubernetes AWS ECS
Managed by Customers Managed by AWS
Single Tenant Multi-tenant
Control Plane Overhead Just EC2 instances by the second
Networking: CNI Moving to CNI
IAM integration fixes needed IAM Integrated
Version upgrade management Does not need version upgrade management



Lock-In vs Unlocking

The process involves choosing, using, and losing:


What changed?

Old World New World
Monolith Microservice
PoC Install Web service / OS
Enterprise purchase cycle Free tier /free trial
Months Minutes
$100k-$Millions $0-$1000s



Old World New World
Frozen installations Continuous Deployment
Ops specialist silo Dev automation
Capacity upgrade costs Elastic cloud resources
Low utilization High utilization
High cost of change Low cost of change





Old World New World
Monolithic Microservices
Frozen waterfall projects Agile continuous delivery
Long terms contracts Pay as you go
Local dependencies Remote web services

Bottom Line: ROI for choosing, using, losing has changed radically. Stop talking about lock-in, it’s just refactoring dependencies.

Cloud Native Availability Model

Four layers: People, Application, Switching, Infrastructure

Chaos Engineering Tools

Security Red Team

“You should have a security red team who tries to brake into your site”


“Running a game day is more important than technology”

Five Reasons to use Kafka In the Cloud

Presenter: Ben Stopford


“Kafka is a fully formed streaming platform”

“A distributed log is the formal definition for it”

“Big companies transition slowly to the Cloud. Netflix continued using their data centres for many years after moving to the Cloud”

“Kafka does not typically stretch across data centres. Typically you have two clusters and replicate between the two. Same concept applies in the cloud”

“The bottleneck in interaction with data stores is often updating an index somewhere”



Other Points:

A Microservices Journey at JPMorgan Chase


Quote from Peter Maciver

“A Cloud Native approach is just not for Netflix; it works for a highly regulated firm like JPMC”


Market Data and Tradeable Assets (MANTA). Manta was developed to take advantage of the features of the internal cloud platform. It went into production in 2017 and has subsequently provided the architecture blueprint for microservice development across the entire firm.

Provable Characteristics

Architecture Review Process


What works according to Mathew Stine

  1. Start with something real
  2. Start with a set of quality attributes (“provable characteristics”)
  3. Iterate toward the goal
  4. Production!
  5. Extrapolate patterns, validate with other use cases

Utility Services are Useful




“We argue that objects that interact in a distributed system need to be dealt with in ways that are intrinsically different from objects that interact with a single address space. These differences are required because distributed systems require that the programmer be aware of latency, have a different model of memory access, and taka into account issues of concurrency.”

A Note on Distributed Computing by Jim Waldo, Geoff Wyant, Ann Wollrath and Sam Kendall

Temporal and behavioural coupling diagram by Ian Robinson

Cloud Native Apps with GitOps

Presenter: Alexis Richardson



“CNCF: For the first time, we have the entire industry pointing in one direction when it comes to Cloud Native applications”

Fundamental Theorem of DevOps “What can be described, can be automated and accelerated”.

Meet Ups

2017-10-03 Cloud Native London

Linkerd Service Mesh

Service Mesh Properties (Linkerd):

The Eight Fallacies of Distributed Computing

  1. The network is reliable
  2. Latency is zero
  3. Bandwidth is infinite
  4. The network is secure
  5. Topology doesn’t change
  6. There is one administrator
  7. Transport cost is zero
  8. The network is homogeneous


Deployment models:

Different deployment configurations:


“The way that microservices interact with other at runtime needs to be monitored , managed, and controlled”