Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Kubectl apply -f cloud-infrastructure.yaml mit ...

Kubectl apply -f cloud-infrastructure.yaml mit Crossplane

Die einfache und effiziente Entwicklung Cloud-nativer Anwendungen stellt viele Teams vor erhebliche Herausforderungen. Denn zusätzlich zur Umsetzung von fachlichen Features und Microservices sind Entwickler nun oft auch für den Aufbau der benötigten Cloud Services mit Infrastructure as Code à la Terraform mit verantwortlich. Diese hohe Cognitive Load führt leider schnell zu Überlastung und suboptimalen Lösungen.

Crossplane ist ein Open Source Add-on für Kubernetes welches dieses Problem adressiert. Mittels Crossplane kann Cloud Infrastruktur für alle gängigen Cloud Provider deklarativ aufgebaut werden, ohne eine Zeile Code zu schreiben. Auch besteht die Möglichkeit hoch spezifische Self-Service APIs und Abstraktionen zu erstellen, die dann sehr einfach von den Feature Teams angewendet werden können. Dieser Vortrag zeigt den praktischen Einsatz von Crossplane mit seinen Funktionen in der AWS und Google Cloud, sowie die nahtlose Integration mit einem GitOps Ansatz. #qaware #cloudnativenerd

M.-Leander Reimer

July 01, 2022
Tweet

More Decks by M.-Leander Reimer

Other Decks in Technology

Transcript

  1. 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)
  2. “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)
  3. 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/
  4. 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
  5. 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
  6. Examples for Managed AWS Resources QAware | 11 apiVersion: sqs.aws.crossplane.io/v1beta1

    kind: Queue metadata: name: test-queue.fifo labels: region: eu-central-1 spec: deletionPolicy: Delete forProvider: region: eu-central-1 contentBasedDeduplication: true delaySeconds: 3 fifoQueue: true # 2 KB message size maximumMessageSize: 2048 # 5 minutes messageRetentionPeriod: 300 providerConfigRef: name: providerconfig-aws apiVersion: s3.aws.crossplane.io/v1beta1 kind: Bucket metadata: name: mastering-gitops annotations: crossplane.io/external-name: mastering-gitops-eu-central-1 labels: region: eu-central-1 spec: deletionPolicy: Delete forProvider: acl: private locationConstraint: eu-central-1 serverSideEncryptionConfiguration: rules: - applyServerSideEncryptionByDefault: sseAlgorithm: AES256 providerConfigRef: name: providerconfig-aws
  7. Lerne uns bei einem online Schreibtisch-Workout kennen Meistens fängt man

    ja erst an, wenn‘s schon zwickt. Damit das gar nicht erst passiert, zeigt uns eine Trainerin von Besser Bewegen Übungen, die man in einer kleinen Pause am Schreibtisch machen kann, um die Rückenmuskulatur gezielt zu stärken, Schmerzen vorzubeugen oder zu lindern. Fr, 01.07. 12:45-13:30 Di, 19.07. 12:45-13:30 Anmeldung an [email protected] &
  8. qaware.de QAware GmbH Aschauer Straße 32 81549 München Tel. +49

    89 232315-0 [email protected] twitter.com/qaware linkedin.com/company/qaware-gmbh xing.com/companies/qawaregmbh slideshare.net/qaware github.com/qaware