10 years ago, we promoted the move from pet systems to faceless hordes of electronic cattle grazing on commodity infrastructure. But as the evolution of the cloud progresses we find that the cattle methodology is no longer sufficient and that cloud native systems resemble some other biological entity…
2. @nukemberg
“Native Cloud Application (NCA) refers to a type
of computer software that natively utilizes
services and infrastructure provided by cloud
computing providers”
5. @nukemberg
“Containers, service meshes,
microservices, immutable infrastructure,
and declarative APIs exemplify this
approach.
These techniques enable loosely
coupled systems that are resilient,
manageable, and observable”
8. @nukemberg
Manageable through tight coupling
Tight coupling through reliability
Reliability through stable environment
Stable environment through control
21. @nukemberg
You don’t have a production environment
● Every client talks to multiple different systems
● On difference DCs/clouds
● Did I mention A/B tests?
● Or personalization?
22. @nukemberg
You have production environments
● Every transaction sees a unique “environment”
● One time environment
● Non repeatable
30. @nukemberg
“A complex adaptive system is a system in
which a perfect understanding of the individual
parts does not automatically convey a perfect
understanding of the whole system's behavior”
31. @nukemberg
Biological systems
● Semi autonomous cooperating cells
● Self organizing
● Adaptive
● Dynamic, constant birth/death
● Innate variation
● Surviving in an uncontrollable, sometimes hostile environment
33. @nukemberg
But how?
● Large number of redundant agents
● Similar, but not identical
● Short lifespan
● Autonomous
● Convergent behaviour
● Cooperation instead of imposition
35. @nukemberg
Computer immunology, 1998
Mark Burgess, father of Promise theory and
Configuration Management
● Macro level stability
● Convergence
● Continuous active maintenance
36. @nukemberg
New challenges
Observing a dynamic, information rich network
Managing numerous semi-autonomous components
Understanding a loosely coupled self organizing ensemble
Controlling a non-linear chaotic system
Security in a public, hostile environment
Macro level resilience with unique one-time topology