From Cloud-Hosted to
Cloud-Native
QCon London β23
1
@joatmon08
Slide 2
Slide 2 text
2
β
How It Started
π²
@joatmon08
Slide 3
Slide 3 text
cloud-native
build and run scalable applications in
modern, dynamic environments such
as public, private, and hybrid clouds.
github.com/cncf/toc/blob/main/DEFINITION.md
3
@joatmon08
Slide 4
Slide 4 text
4
How Itβs Going
π² β
@joatmon08
Slide 5
Slide 5 text
cloud hosted
build and run scalable applications in
modern, dynamic environments such
as public, private, and hybrid clouds.
github.com/cncf/toc/blob/main/DEFINITION.md
5
@joatmon08
Slide 6
Slide 6 text
Rosemary Wang
@joatmon08
joatmon08.github.io
Developer Advocate | HashiCorp
Author | Infrastructure as Code, Patterns & Practices
6
Implement βjust
enoughβ abstraction
to mitigate effort.
12
@joatmon08
Slide 13
Slide 13 text
β Decouple artifact dependencies
β Decouple configuration and secrets
β Use dependency injection
β Write abstract (end-to-end) tests
β Update to stable (-1) version
13
@joatmon08
Slide 14
Slide 14 text
as a last resort,
refactor the abstraction
14
@joatmon08
Slide 15
Slide 15 text
observability
navigate cloud cover
15
@joatmon08
Slide 16
Slide 16 text
16
syslog
@joatmon08
Slide 17
Slide 17 text
Set (some) standards.
17
@joatmon08
Slide 18
Slide 18 text
18
syslog
@joatmon08
Slide 19
Slide 19 text
Meet resources where
they are at.
19
@joatmon08
Slide 20
Slide 20 text
β Map dependencies
β Tag and add metadata
β Enable audit and access logs
β Aggregate telemetry
β Standardize and index telemetry
β Assess push versus pull
20
@joatmon08
Slide 21
Slide 21 text
as a last resort,
rebuild the monitoring system
21
@joatmon08
Slide 22
Slide 22 text
immutability
keeps up with dynamic environments
22
@joatmon08
Slide 23
Slide 23 text
23
Update Java
β
login deploy
@joatmon08
Slide 24
Slide 24 text
Roll out new
resources for most
changes.
24
@joatmon08
Slide 25
Slide 25 text
25
Update Java
β
login
@joatmon08
Slide 26
Slide 26 text
Some changes must
be mutable.
26
@joatmon08
Slide 27
Slide 27 text
β Automate infrastructure as code
β Decouple state and configuration
β Reload / restart for changes
β Optimize provisioning
β Distribute data
27
@joatmon08
Slide 28
Slide 28 text
as a last resort,
refactor for immutability
28
@joatmon08
Slide 29
Slide 29 text
elasticity
make the most of resources
29
@joatmon08
Slide 30
Slide 30 text
30
β
@joatmon08
Slide 31
Slide 31 text
Elasticity is about the
cost of time.
31
@joatmon08
Slide 32
Slide 32 text
32
Workload Density
Horizontal Scaling
Resource Efο¬ciency
Vertical Scaling
@joatmon08
Slide 33
Slide 33 text
Cloud-native does not
always mean
horizontal scaling.
33
@joatmon08
Slide 34
Slide 34 text
β Evaluate idle versus active resources
β Minimize the βtraffic tromboneβ
β Optimize warm-up and runtime
β Assess volume versus frequency
34
@joatmon08
Slide 35
Slide 35 text
as a last resort,
rebuild to mitigate cost
35
@joatmon08
Slide 36
Slide 36 text
changeability
use the latest technologies
36
@joatmon08
Slide 37
Slide 37 text
37
β
@joatmon08
Slide 38
Slide 38 text
The latest often
involve paradigm
shifts.
38
@joatmon08
Slide 39
Slide 39 text
39
β
@joatmon08
Slide 40
Slide 40 text
Intermediate steps
exist for change.
40
@joatmon08
as a last resort,
build a greenfield environment
42
@joatmon08
Slide 43
Slide 43 text
cloud-native
build and run scalable applications in
modern, dynamic environments such
as public, private, and hybrid clouds.
github.com/cncf/toc/blob/main/DEFINITION.md
43
@joatmon08