In previous articles and in a previous webinar , We’ve spoken widely about the four capabilities that are necessary for enabling full-cycle development when building a cloud native platform: container management, progressive delivery, edge management, and observability.
In this webinar, we’ll look at the technology that enables these four capabilities. To build a Kubernetes-based platform, you need four technologies:
Kubernetes is a container management system that enables development teams to work in a self-service manner in relation to the operational aspects of running containers.
Continuous Delivery Pipelines enable teams to deliver any and all application changes including experiments, new features, configuration, and bug fixes, into production as rapidly and safely as the organization requires.
An Edge Stack sits at the Kubernetes cluster edge and enables the controlled release of applications, supports the configuration of cross-functional edge requirements, and simplifies developer onboarding and the use of associated APIs.
The Observability Stack monitors the health of a system and enables teams to gradually optimize a systems health while also giving them the tools needed to recognize and react immediately to changes in health.
Join this webinar will talk through the requirements for these technologies as well as discuss common antipatterns and how to avoid them.
Webinar: Building a Technology Stack for Your Kubernetes-Based Platform
1. Building a Technology Stack for your
Kubernetes-Based Platform
Daniel Bryant
Product Architect, Datawire
2. tl;dr
● Adopting a “cloud native” approach is the new norm
● This requires new technologies and new workflows
● Creating a supporting cloud platform is essential
○ Container orchestration
○ Progressive delivery
○ Edge management
○ Observability
● Consciously design your platform. Watch for antipatterns
4. A quick recap...
● 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
● Recognised four core platform capabilities
9. 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
16. 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
17. ● Kubernetes is the de facto container orchestrator
● Cloud agnostic fabric(?)
○ Google Anthos, Azure Stack
● Kubernetes provides:
○ Declarative configuration and control loops
○ A shared abstraction
Kubernetes
18. Kubernetes Decisions
● To self-host, or not to self-host?
● Which distro?
● Going all-in on a cloud?
19. Kubernetes Challenges
● Open for extension, closed for modification
○ Helm for deployment
○ Operators for automation
● Developer productivity
○ Local-to-remote dev and test
21. 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/
22. ● Deliver any and all application changes into
production as rapidly and as safely as the
organisation requires
● Includes experiments, new features,
configuration, and bug fixes
● Deployments should be routine and drama free
Continuous/progressive delivery pipelines
26. 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
27. ● First contact between users and biz services
● The edge stack is focused on:
○ Controlled release of new functionality;
○ Cross-functional edge requirements: security and reliability
○ Supporting developer onboarding
● Separate deploy and release
The Edge Stack
31. 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
32. ● Infer what is occurring within a software system
○ Gradually improving an SLI
○ Rapidly restoring an SLI
● Monitoring, logging, and tracing
○ UX
Observability
36. In Summary
● Adopting a “cloud native” approach is the new norm
● This requires new technologies and new workflows
● Creating a supporting cloud platform is essential
○ Container orchestration
○ Progressive delivery
○ Edge management
○ Observability
● Consciously design your platform. Watch for antipatterns
37. Read “Building a Kubernetes Platform”:
https://www.getambassador.io/learn/building-kubernetes-platform/
Subscribe to our podcasts:
https://www.getambassador.io/resources?types=Podcast
Follow us on Twitter:
https://twitter.com/getambassadorio
Learning More...