Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Ways Towards a productive Cloud-native DevEx

203 views

Published on

Cloud Native Virtual Summit featuring Kubernetes, April 2020, talk by Mario-Leander Reimer (@LeanderReimer, Principal Software Architect at QAware)

== Please download slides if blurred! ==

Abstract:
YAML is the predominant way to describe your Kubernetes workloads. For each and every microservice you have to declare pods, deployments, services, config maps and secrets. Now multiply this by several environments and deployment variants. The result is excessive YAML bloat that often leads to frustration and low developer productivity.

In this session we will have a closer look at several developer focused tools like Draft, Skaffold, Tilt, Kustomize and Buildpacks. These tools aim to improve and optimize the inner development loop by reducing the amount of YAML and the
required steps from source to deployment significantly. So make sure to join this talk if you want to have happy Cloud-native developers on your feature teams again.

Published in: Data & Analytics
  • Be the first to comment

  • Be the first to like this

Ways Towards a productive Cloud-native DevEx

  1. 1. Ways Towards a YAML-less Cloud-native DevEx Cloud Native Virtual Summit featuring Kubernetes, April 1st 2020 @LeanderReimer #cloudnativenerd #qaware
  2. 2. // Cloud Native Virtual Summit // Ways Towards a YAML-less Cloud-native DevEx // @LeanderReimer #cloudnativenerd #qaware2 #whoami Mario-Leander Reimer Chief Software Architect QAware GmbH Yes, this is me!
  3. 3. // Cloud Native Virtual Summit // Ways Towards a YAML-less Cloud-native DevEx // @LeanderReimer #cloudnativenerd #qaware Cloud-native DevEx today? 3 Spec Design Test Integrate Operate Develop Deploy
  4. 4. // Cloud Native Virtual Summit // Ways Towards a YAML-less Cloud-native DevEx // @LeanderReimer #cloudnativenerd #qaware Cloud-native DevEx today! 4 Spec Design Test Integrate Operate Develop Deploy Docker K8S JSONYAML AWS NFA CI/CD More
 YAML Even More YAML Agile Tracing M etrics More Stuff Eve More Eve More Eve More
  5. 5. // Cloud Native Virtual Summit // Ways Towards a YAML-less Cloud-native DevEx // @LeanderReimer #cloudnativenerd #qaware How do you organise and enable technology teams for fast flow and high productivity? 5
  6. 6. // Cloud Native Virtual Summit // Ways Towards a YAML-less Cloud-native DevEx // @LeanderReimer #cloudnativenerd #qaware Too much cognitive load will become a bottleneck for fast flow and high productivity. • Intrinsic Cognitive Load - relates to fundamental aspects and knowledge in the problem space (e.g. used languages, APIs, frameworks, micro architecture) • Extraneous Cognitive Load - relates to the environment (e.g. deployment, configuration, console commands) • Germane Cognitive Load - relates to specific aspects of the business domain (aka. „value added“ thinking and learning) 6 https://teamtopologies.com
  7. 7. // Cloud Native Virtual Summit // Ways Towards a YAML-less Cloud-native DevEx // @LeanderReimer #cloudnativenerd #qaware Minimize intrinsic cognitive load (by training, peer programming, standards, languages, …) 7
  8. 8. // Cloud Native Virtual Summit // Ways Towards a YAML-less Cloud-native DevEx // @LeanderReimer #cloudnativenerd #qaware Eliminate extraneous cognitive load (automate, automate, standardize, automate, automate, …) 8
  9. 9. // Cloud Native Virtual Summit // Ways Towards a YAML-less Cloud-native DevEx // @LeanderReimer #cloudnativenerd #qaware Use the right tools for the job! 9 Getty Images Liliboas kustomize Skaffold TiltDraft Buildpacks
  10. 10. // Cloud Native Virtual Summit // Ways Towards a YAML-less Cloud-native DevEx // @LeanderReimer #cloudnativenerd #qaware10 Code & Demoshttps://github.com/lreimer/productive-cloud-native-devex
  11. 11. // Cloud Native Virtual Summit // Ways Towards a YAML-less Cloud-native DevEx // @LeanderReimer #cloudnativenerd #qaware — Streamlined Kubernetes Development • http://draft.sh • Draft targets the "inner loop" of a developer's workflow: as you hack on code, but before code is committed to version control. • Developed and backed by Microsoft Azure • Two simple commands: draft create and draft up • Language Support: support for 8 language packs built-in: .NET, GO, Node, PHP, Java (Maven, Gradle), Python and Ruby. • Draft detects language and generates a Dockerfile and Helm Chart with the best practices for that language. 11
  12. 12. // Cloud Native Virtual Summit // Ways Towards a YAML-less Cloud-native DevEx // @LeanderReimer #cloudnativenerd #qaware What are Cloud-native Buildpacks? • Buildpacks were first introduced by Heroku in 2011. Since then, adopted by Cloud Foundry and other PaaS. • CNCF Project initiated by Pivotal and Heroku in January 2018 • Buildpacks are pluggable, modular tools to translate source code into OCI images • Reduces the operational burden on devs • Support enterprise operators who manage apps at scale • Several default build packs and option to build custom packs. 12
  13. 13. // Cloud Native Virtual Summit // Ways Towards a YAML-less Cloud-native DevEx // @LeanderReimer #cloudnativenerd #qaware Kubernetes native configuration management • https://kustomize.io • A template-free way to customize your application configuration • Now, built into kubectl as apply -k • Try https://kustomize.io/tutorial 13
  14. 14. // Cloud Native Virtual Summit // Ways Towards a YAML-less Cloud-native DevEx // @LeanderReimer #cloudnativenerd #qaware Fast. Repeatable. Simple. Local Kubernetes development. • https://skaffold.dev • Handles the workflow for building, pushing and deploying an app • Watches local file system. Continuously triggers build & deploy on code changes • Allows to synchronize static resources without rebuilding the image • Support for different environments with Profiles, Env Vars Templates and kube-context activation 14
  15. 15. // Cloud Native Virtual Summit // Ways Towards a YAML-less Cloud-native DevEx // @LeanderReimer #cloudnativenerd #qaware The Scaffold Workflow in a Nutshell 15
  16. 16. // Cloud Native Virtual Summit // Ways Towards a YAML-less Cloud-native DevEx // @LeanderReimer #cloudnativenerd #qaware — Stressless Local Kubernetes Development • https://tilt.dev • Automatically handles all the expert tricks for working in a K8s development environment • Fire up and manage complex microservice constellations • Watches your file system and update servers in seconds • Streams logs, events, and pod changes so that it can show you the problem when something breaks • Provides console HUD and nice Web UI 16
  17. 17. OUR CLOUD NATIVE DEVEX IS SO BRIGHT, WE NEED SHADES.
  18. 18. Mario-Leander Reimer Chief Software Architect, QAware GmbH mario-leander.reimer@qaware.de https://www.qaware.de https://speakerdeck.com/lreimer/ https://github.com/lreimer/ &

×