Slide 1

Slide 1 text

Essentielle Tools für produktive und glückliche #CloudNativeNerds Cloud Native Day, February 10th 2021 @LeanderReimer #qaware #CloudNativeNerd #ConCon21

Slide 2

Slide 2 text

Mario-Leander Reimer Principal Software Architect @LeanderReimer #cloudnativenerd #qaware

Slide 3

Slide 3 text

// Cloud Native Day // Essentielle Tools für produktive und glückliche #CloudNativeNerds // @LeanderReimer #qaware #ConCon21 3 Code & Demos https://github.com/qaware/productive-cloud-native-devex

Slide 4

Slide 4 text

// Cloud Native Day // Essentielle Tools für produktive und glückliche #CloudNativeNerds // @LeanderReimer #qaware #ConCon21 DevEx in den guten alten Tagen … 4 Spec Design Test Integrate Operate Develop Deploy

Slide 5

Slide 5 text

// Cloud Native Day // Essentielle Tools für produktive und glückliche #CloudNativeNerds // @LeanderReimer #qaware #ConCon21 Cloud-native DevEx heute? 5 Spec Design Test Integrate Operate Develop Deploy

Slide 6

Slide 6 text

// Cloud Native Day // Essentielle Tools für produktive und glückliche #CloudNativeNerds // @LeanderReimer #qaware #ConCon21 Cloud-native DevEx heute! 6 Spec Design Test Integrate Operate Develop Deploy Docker K8S JSON YAML AWS NFA CI/CD More
 YAML Even More YAML Agile Tracing M etrics More Stuff Eve More Eve More Eve More

Slide 7

Slide 7 text

// Cloud Native Day // Essentielle Tools für produktive und glückliche #CloudNativeNerds // @LeanderReimer #qaware #ConCon21 How do you organise and enable technology teams for fast fl ow and high productivity? 7

Slide 8

Slide 8 text

// Cloud Native Day // Essentielle Tools für produktive und glückliche #CloudNativeNerds // @LeanderReimer #qaware #ConCon21 Zu viel Cognitive Load hindert den schnellen Fluss, kurze Feedback-Zyklen und hohe Produktivität. • Intrinsic Cognitive Load - bezieht sich auf das Wissen und die fundamentalen Aspekte unseres Tuns (z.B. Programmier- Sprachen, APIs, Frameworks, Micro Architektur) • Extraneous Cognitive Load - bezieht sich auf die Umgebung 
 (z.B. Deployment, Kon fi guration, Konsolen Befehle) • Germane Cognitive Load - bezieht sich auf bestimmte Aspekte in der Geschäftsdomäne (aka. „value added“ Thinking and Learning) 8 https://teamtopologies.com

Slide 9

Slide 9 text

// Cloud Native Day // Essentielle Tools für produktive und glückliche #CloudNativeNerds // @LeanderReimer #qaware #ConCon21 Minimierung der Intrinsic Cognitive Load 
 (Training, Peer Programming, Standards, Sprache …) 9

Slide 10

Slide 10 text

// Cloud Native Day // Essentielle Tools für produktive und glückliche #CloudNativeNerds // @LeanderReimer #qaware #ConCon21 Eliminierung der Extraneous Cognitive Load 
 (Automatisierung, Abstraktion, Standardisierung, …) 10

Slide 11

Slide 11 text

// Cloud Native Day // Essentielle Tools für produktive und glückliche #CloudNativeNerds // @LeanderReimer #qaware #ConCon21 Nutze das richtige Werkzeuge für den Job! 11 Getty Images Liliboas Skaffold Tilt kustomize Buildpacks Pulumi

Slide 12

Slide 12 text

// Cloud Native Day // Essentielle Tools für produktive und glückliche #CloudNativeNerds // @LeanderReimer #qaware #ConCon21 Was sind Cloud-native Buildpacks? • Buildpacks sind kombinierbare, modulare Tools um Quellcode in OCI Images zu übersetzen. • Das Buildpack Konzept wurde von Heroku in 2011 eingeführt. Adoptiert von Cloud Foundry und anderen PaaS. • CNCF Projekt initiiert von Pivotal und Heroku im Januar 2018 • Unterstützung von Enterprise Ops die viele Anwendungen verwalten müssen • Zahlreiche Default Build Packs sowie die Möglichkeit für eigene Build Packs 12

Slide 13

Slide 13 text

// Cloud Native Day // Essentielle Tools für produktive und glückliche #CloudNativeNerds // @LeanderReimer #qaware #ConCon21 Kubernetes Native Con fi guration Management • DRY - Don’t repeat yourself. • Umgebungsabhängige Anpassung von Kubernetes Resource De fi nitionen ganze ohne Templates • Wird von kubectl mittels apply -k direkt unterstützt • Siehe https://kustomize.io/tutorial 13

Slide 14

Slide 14 text

// Cloud Native Day // Essentielle Tools für produktive und glückliche #CloudNativeNerds // @LeanderReimer #qaware #ConCon21 Pulumi - Modern Infrastructure as Code. • Imperative management and de fi nition of Kubernetes applications and objects using familiar programming language • Use the same tools to build your application and its con fi guration • Compose and share reusable components through code libraries • Terraform alternative: supports all major cloud providers (AWS, …) • Similar projects: Amazon CDK, cdk8s 14

Slide 15

Slide 15 text

// Cloud Native Day // Essentielle Tools für produktive und glückliche #CloudNativeNerds // @LeanderReimer #qaware #ConCon21 Fast. Repeatable. Simple. 
 Local Kubernetes development. • https://skaffold.dev • Übernimmt den Work fl ow zum Erstellen, Pushen und Bereitstellen einer Anwendung • Beobachtet relevante Dateisystem Änderungen und löst kontinuierlich das Erstellen und Bereitstellen der Änderungen aus • Ermöglicht die Synchronisierung von statischen Ressourcen ohne das Docker Image neu zu bauen • Unterstützung für unterschiedliche Umgebungen über Pro fi les, Env Vars Templates und kube-context Aktivierung 15

Slide 16

Slide 16 text

// Cloud Native Day // Essentielle Tools für produktive und glückliche #CloudNativeNerds // @LeanderReimer #qaware #ConCon21 The Scaffold Work fl ow in a Nutshell 16

Slide 17

Slide 17 text

// Cloud Native Day // Essentielle Tools für produktive und glückliche #CloudNativeNerds // @LeanderReimer #qaware #ConCon21 — Stressless Local K8s Development • https://tilt.dev • Einfache Verwaltung von komplexen Microservice Konstellati • Unterstützung zahlreicher Experten Tricks für die Entwicklung in K8s Umgebungen, wie Port Forwarding oder Live Updates • Beobachtet das Dateisystem und Aktualisiert die Deployments in Sekunden bei allen relevanten Änderungen • Streamed Logs, Events und Pod Änderungen um schnell etwaige Probleme zu identi fi zieren und anzuzeigen • Bietet Console HUD und nette Web UI 17

Slide 18

Slide 18 text

OUR CLOUD NATIVE DEVEX IS SO BRIGHT, WE NEED SHADES.

Slide 19

Slide 19 text

Mario-Leander Reimer Principal Software Architect, QAware GmbH [email protected] https://www.qaware.de https://speakerdeck.com/lreimer/ https://github.com/lreimer/ &