By speeding up development cycles and hence increasing feature velocity, cloud native technologies like microservices, DevOps, and Kubernetes have enabled organizations to respond and adapt to market changes more rapidly than their competitors. Early adopters of the cloud like Spotify, Netflix, and Google have shared many stories on how their adoption of the cloud has propelled their success.
Not every company can be a unicorn, of course, but how can you make sure your organization is getting all the benefits a technology like Kubernetes has to offer?
Organizations that have successfully embraced cloud native technologies have invested heavily in creating a self-service application platform to enable full cycle development. This shift has implications for development, operations, and platform teams.
In this webinar, we’ll discuss the implications for each of these teams as well as the four core capabilities that a cloud native platform must provide:
Container Management. The ability to manage and run container-based applications at scale and on a variety of infrastructures.
Progressive Delivery. The ability to support the creation of pipelines that enable the automated build, verification, deployment, release, and observability of applications by developers.
Edge Management. The ability for developers to release new functionality in a self-service manner.
Observability. The ability for developers and platform teams to collect and analyze end-user and application feedback.
6. “The goal of software delivery is to minimise
the lead time to business impact”
“Continuous Delivery: when stability and
speed can satisfy business demand”
11. Successful “Cloud Native” Organisations
Created a self-service application platform
Adopted new tools and developer workflows
12. New Dev/Ops Personas
Traditional ops teams built and controlled the “platform”
dev/ops interacted via ticketing systems
Modern organisations interact via well-defined APIs,
automation, and focused in-person comms
● Platform teams and site reliability engineers (SRE)
● “Full cycle” development teams
13. The Evolution of Platform Teams
From “rack, stack, and ticket” to specialist operations,
sysadmin, or platform teams collaborating via APIs and tooling
16. Full Cycle Developers: More Feedback, Faster
https://mitchdenny.com/the-inner-loop/
https://netflixtechblog.com/full-cycle-developers-at-netflix-a08c31f83249
21. Manage and run container-based applications at scale and on a
variety of infrastructures
● Developers
○ Self-service interactions: automated and observable
● Platform team
○ Set policies around access, control, and auditability
Container Management
22. Progressive Delivery
Supporting the creation of pipelines that enable the automated
build, verification, deployment, release, and observability
● Developers
○ Self-service interactions: automated and observable
● Platform team
○ Centralize verification of quality and security properties
https://redmonk.com/jgovernor/2018/08/06/towards-progressive-delivery/
23. Edge Management
Enable the self-service release of new functionality by
developers, while maintaining stability
● Developers
○ Decentralized traffic management
○ Support NFRs e.g. authn/z, retries, and circuit breaking
● Platform
○ Centralized configuration of sane defaults
○ TLS, authn/z, and rate limiting for DDoS protection
24. Observability
Support the collection and analysis of end user and application
feedback directly by developers and the platform team.
● Developers
○ Enable product teams to observe and iterate against
business goals and KPIs
● Platform
○ Observe and managing infrastructure, and ensure their
service level objectives (SLOs) are met
26. “The goal of software delivery is to minimise
the lead time to business impact”
“Continuous Delivery: when stability and
speed can satisfy business demand”
27. Software Delivery Performance
Lead time
Deployment frequency
MTTR
Change fail percentage
Progressive delivery
Observability
Container management
Progressive delivery
Edge management
Observability
Edge management
Progressive delivery
Progressive delivery
Edge management
28. In Summary
● Going “cloud native” offers benefits, but requires changes
● Successful cloud native organisations have
○ Created a self-service application platform
○ Adopted new tools and (full cycle) developer workflows
● Core platform capabilities
○ Container management
○ Progressive delivery
○ Edge management
○ Observability
29. Part two of the webinar soon:
Focus on Kubernetes + ecosystem tools
Download the whitepaper:
https://www.getambassador.io/resources/why-cloud-native/
Learning More...
30. Enabling Full Cycle Development:
Are You Benefiting from your Move to Kubernetes?
Daniel Bryant
Product Architect, Datawire
31. Avoiding Platform Antipatterns
Centralized Design and Ownership: One Size Doesn’t Fit All
Fragmented Platform Implementation
Slow Development Loops: Less Time Coding, More Time Toiling
32. Centralized Design and Ownership:
One Size Doesn’t Fit All
https://dilbert.com/strip/2017-04-10