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

Cloud-Native all-the-things: Definition, Praktiken & Patterns

Cloud-Native all-the-things: Definition, Praktiken & Patterns

Cloud-Native bedeutet nicht zwangsläufig Kubernetes oder gar Public Cloud. Vielmehr definiert Cloud-Native eine Reihe von Attributen, die es beim Design und der Implementierung von verteilten Anwendungen zu beherzigen gilt. In diesem Vortrag räumen Christian Weyer und Thorsten Hans auf pragmatische Art und Weise mit den Begrifflichkeiten auf und diskutieren Praktiken, wie man moderne Cloud-Native-Anwendungen entwerfen und umsetzen kann. Zudem zeigen sie praxiserprobte und bewährte Architektur-Patterns, mit denen essenzielle Themen wie Robustheit, Skalierbarkeit, Überwachbarkeit, und Konfigurierbarkeit ganzheitlich adressiert werden können. Egal ob lokal, im privaten Rechenzentrum oder in der öffentlichen Cloud: Als .NET-Entwickler ist es an der Zeit, sich Cloud-Native anzuschauen.

Christian Weyer

September 28, 2023
Tweet

More Decks by Christian Weyer

Other Decks in Programming

Transcript

  1. Cloud-Native all-the-things: Definition, Praktiken & Patterns Thorsten Hans @thorstenhans Technology

    Catalyst & Cloud-Native-Enthusiast Christian Weyer @christianweyer CTO, Technology Catalyst
  2. Cloud-Native Consultant @ Thinktecture AG #Cloud-Native #Kubernetes #Azure #Terraform Thorsten

    Hans Definition, Praktiken & Patterns Cloud-Native all-the-things [email protected] thinktecture.com thorsten-hans.com @ThorstenHans
  3. § Technology catalyst § AI-powered solutions § Pragmatic end-to-end architectures

    § Microsoft Regional Director § Microsoft MVP for Developer Technologies & Azure ASPInsider, AzureInsider § Google GDE for Web Technologies [email protected] @christianweyer https://www.thinktecture.com Cloud-Native all-the-things Definition, Praktiken & Patterns Christian Weyer Co-Founder & CTO @ Thinktecture AG 3
  4. Cloud-Native all-the-things Definition, Praktiken & Patterns Talking Points Attributes Techniques

    & Practices for .NET Patterns Running Applications Automation Myth Busting & Definitions 4
  5. ”… is highly distributed, must operate in a constantly changing

    environment, and is itself constantly changing.” Cornelia Davis, Author of Cloud Native Patterns: Designing change-tolerant software Cloud-Native all-the-things Definition, Praktiken & Patterns Cloud-Native Software Myth Busting & Definitions 9
  6. Yes, it is all about Linux. Windows is more expensive

    and resource-intensive. Cloud-Native all-the-things Definition, Praktiken & Patterns Cloud-Native Software Myth Busting & Definitions 12
  7. "Cloud is about where we're computing. Cloud-Native is about how.”

    Cornelia Davis, Author of Cloud Native Patterns: Designing change-tolerant software Cloud-Native all-the-things Definition, Praktiken & Patterns Cloud-Native & Cloud Myth Busting & Definitions 14
  8. Cloud Agnostism Fully cloud-agnostic ➡ Re-implementing stuff that’s already there

    Cloud-Native all-the-things Definition, Praktiken & Patterns Cloud-Native & Cloud Myth Busting & Definitions 17
  9. From Build vs. Buy to Run vs. Rent Cloud-Native all-the-things

    Definition, Praktiken & Patterns Cloud-Native & Cloud Myth Busting & Definitions 18
  10. “It’s simply that the application has to give up a

    lot of control, to the platform - and has to be cleanly integrable from the outside.” Thorsten Hans, Cloud-Native-Enthusiast Thinktecture Consultant Cloud-Native all-the-things Definition, Praktiken & Patterns Main Metaphor for Cloud-Native Code Techniques & Practices 22
  11. Configurability & Observability in .NET IConfiguration ILogger OpenTelemetry Health Checks

    Cloud-Native all-the-things Definition, Praktiken & Patterns Techniques & Practices 24
  12. Cloud-Native all-the-things Definition, Praktiken & Patterns Infrastructure, FTW! Statelessness Service-to-Service

    Instrumentation Loose (runtime) coupling (many more) Cloud-Native Patterns Patterns 27
  13. § Asynchronous message passing for decoupling services § Different message

    exchange patterns at your hand § RabbitMQ as popular on-prem broker-based system § Azure Service Bus as very mature & robust Cloud offering § Care for resiliency when communicating § Retries & error handling Cloud-Native all-the-things Definition, Praktiken & Patterns Messaging, Queuing, Pub-Sub 28 X P S S Patterns
  14. § We can choose and mix from the continuum Cloud-Native

    all-the-things Definition, Praktiken & Patterns Cloud Compute Continuum PaaS IaaS On-Premises Serverless Managed Kubernetes Running applications 32
  15. Automation in Cloud-Native Is the key to success! Automate EVERYTHING

    Cloud-Native all-the-things Definition, Praktiken & Patterns Automation 35
  16. Cloud-Native all-the-things Definition, Praktiken & Patterns Recap 39 Cloud-Native !=

    Cloud Running distributed applications anywhere Ecosystem is overwhelming Everything beyond writing application code can be very overwhelming Patterns & practices ease development & operation Constantly changing applications & environments
  17. Disadvantages of Windows Containers • Bigger in size • longer

    push/pull times • Require more storage (affects Kubernetes & PaaS) • Higher resource consumption • Windows Containers & Hosts need more CPU & memory • Direct impact on infrastructure budged • Host & container OS must have same version (strict policy) • https://kubernetes.io/docs/concepts/windows/intro/#windows-os-version-support • Meaning you may end up with way more infrastructure Cloud-Native all-the-things Definition, Praktiken & Patterns Cloud-Native Software 42 Myth Busting & Definitions