Mastering GitOps 2022, April, Mario-Leander Reimer (@LeanderReimer, Principal Software Architect bei QAware).
== Dokument bitte herunterladen, falls unscharf! Please download slides if blurred! ==
Crossplane or: kubectl apply -f cloud-Infrastructure-as-code.yaml
Developing cloud-native applications easily and efficiently presents significant challenges for many teams. This is because, in addition to implementing domain-specific features and microservices, developers are now often jointly responsible for building the required cloud services with Infrastructure as Code à la Terraform. Unfortunately, the associated high cognitive load quickly leads to overload and suboptimal solutions.
Crossplane is an open source add-on for Kubernetes that addresses this problem. Using Crossplane, one can declaratively build cloud infrastructure for all popular cloud providers without writing a line of code. In addition, there is the ability to create highly specific self-service APIs and abstractions that can then be applied very easily by feature teams.
This talk will demonstrate the practical use of Crossplane with its features in AWS and GCP, as well as the seamless integration with a GitOps approach.
6. We architect, build and run the PaaS and application layers.
We architect and build the IaaS and CaaS layers.
QAware | 6
Architect Build Run
IaaS
(AWS EC2, NLB, ALB, ...)
Amazon
CloudWatch
AWS IAM
Amazon
EC2
Amazon EBS
Amazon
Route 53
Amazon VPC
Cloud-friendly & Cloud-native
Applications
PaaS
(Software infrastructure blueprints with Helm and a
Continuous Delivery Toolchain)
Application-specific
Software Infrastructure
Amazon SNS Amazon S3
CaaS
(Amazon Elastic Kubernetes Service
with storage-, network- and OS-virtualization)
7. “Too much cognitive load will become a bottleneck for fast
flow and high productivity for many DevOps teams.”
QAware | 7
■ Intrinsic Cognitive Load
Relates to fundamental aspects and knowledge in the
problem space (e.g. used languages, APIs, frameworks)
■ Extraneous Cognitive Load
Relates to the environment (e.g. console
command, deployment, configuration)
■ Germane Cognitive Load
Relates to specific aspects of the business domain
(aka. „value added“ thinking)
8. The Platform team as a key enabler for high productivity of
stream-aligned DevOps teams.
QAware | 8
■ Responsible to build and operation a platform to
enable and support the teams in their day to day
development work.
■ The platform aims to hide the inherent complexity
to reduce the cognitive load for the other teams.
– Standardization
– Self-Service
■ Fully automated software delivery is the goal!
https://hennyportman.wordpress.com/2020/05/25/review-team-topologies/
9. Crossplane als Abstraktionsschicht und Glue zwischen
Software Engineers und Platform Engineers.
QAware | 9
Architect Build Run
IaaS
(AWS EC2, NLB, ALB, ...)
Amazon
CloudWatch
AWS IAM
Amazon
EC2
Amazon EBS
Amazon
Route 53
Amazon VPC
Cloud-friendly & Cloud-native
Applications
PaaS
(Software infrastructure blueprints with Helm and a
Continuous Delivery Toolchain)
Application-specific
Software Infrastructure
Amazon SNS Amazon S3
CaaS
(Amazon Elastic Kubernetes Service
with storage-, network- and OS-virtualization)
Platform
Team
Development
Team
10. Crossplane in a Nutshell
■ https://crossplane.io
■ Open Source Kubernetes Add-on. Universal Control Plane for Cloud Infrastructure.
■ Plattform Teams können mittels Crossplane die Cloud Infrastruktur Dienste unterstützter Provider
zusammenstellen und über High-Level Self-Service APIs bereitstellen.
■ Cloud Infrastruktur Dienste können von Anwendungs-Teams deklarativ definiert werden
■ Provider bündeln eine Menge an Managed Resources und den dazugehörigen Controller. Alle
gängigen Cloud Provider werden unterstützt, e.g. AWS, GCP, Azure, Alibaba, …
■ Managed Resources sind granulare, hochgenaue Crossplane-Repräsentationen einer Ressource in
einem externen System.
■ Composite Resource Definitionen oder XRDs ermöglichen die Definitionen neuer Abstraktionen für
zusammengesetzte Managed Resources.
■ Configurations und Packages erlauben die einfache Definition, Verteilung und Aktualisierung von
XRDs und deren Abhängigkeiten. QAware | 10