Slide 1

Slide 1 text

Cloud-Native: Definition, Praktiken & Patterns Christian Weyer https://thinktecture.com/christian-weyer @christianweyer Co-Founder & CTO Thorsten Hans https://thinktecture.com/thorsten-hans @thorstenhans Consultant & Cloud-Native-Enthusiast

Slide 2

Slide 2 text

Cloud-Native Consultant @ Thinktecture AG #Cloud-Native #Kubernetes #Azure #Terraform Thorsten Hans Definition, Praktiken & Patterns Cloud-Native [email protected] thinktecture.com thorsten-hans.com @ThorstenHans

Slide 3

Slide 3 text

§ Cloud-native & serverless architectures § Pragmatic end-to-end solutions § Mobile & web-based application architectures § Independent 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 Definition, Praktiken & Patterns Christian Weyer Co-Founder & CTO @ Thinktecture AG 3

Slide 4

Slide 4 text

Cloud-Native Definition, Praktiken & Patterns Talking Points Attributes Techniques & Practices for .NET Patterns Running Applications Automation Myth Busting & Definitions 4

Slide 5

Slide 5 text

Cloud-Native Definition, Praktiken & Patterns 5 Myth Busting & Definitions Aka “WTF?”

Slide 6

Slide 6 text

Cloud-Native What is it NOT Cloud-Native Definition, Praktiken & Patterns Myth Busting & Definitions 6

Slide 7

Slide 7 text

Cloud-Native Definition, Praktiken & Patterns Myth Busting & Definitions 7

Slide 8

Slide 8 text

Cloud-Native What is it Cloud-Native Definition, Praktiken & Patterns Myth Busting & Definitions 8

Slide 9

Slide 9 text

”… 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 Definition, Praktiken & Patterns Cloud-Native Software Myth Busting & Definitions 9

Slide 10

Slide 10 text

Cloud-Native Definition, Praktiken & Patterns 10 D E M O Myth Busting & Definitions

Slide 11

Slide 11 text

Cloud-Native Definition, Praktiken & Patterns 11 Myth Busting & Definitions

Slide 12

Slide 12 text

Yes, it is all about Linux. Windows is more expensive and resource-intensive. Cloud-Native Definition, Praktiken & Patterns Cloud-Native Software Myth Busting & Definitions 12

Slide 13

Slide 13 text

Cloud-Native & Cloud What’s in a name? Cloud-Native Definition, Praktiken & Patterns Myth Busting & Definitions 13

Slide 14

Slide 14 text

"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 Definition, Praktiken & Patterns Cloud-Native & Cloud Myth Busting & Definitions 14

Slide 15

Slide 15 text

Cloud-Native Landscape Complex matters Cloud-Native Definition, Praktiken & Patterns Myth Busting & Definitions 15

Slide 16

Slide 16 text

Cloud-Native Definition, Praktiken & Patterns https://landscape.cncf.io/ Myth Busting & Definitions 16

Slide 17

Slide 17 text

Cloud Agnostism Fully cloud-agnostic ➡ Re-implementing stuff that’s already there Cloud-Native Definition, Praktiken & Patterns Cloud-Native & Cloud Myth Busting & Definitions 17

Slide 18

Slide 18 text

From Build vs. Buy to Run vs. Rent Cloud-Native Definition, Praktiken & Patterns Cloud-Native & Cloud Myth Busting & Definitions 18

Slide 19

Slide 19 text

Cloud-Native Attributes What & why Cloud-Native Definition, Praktiken & Patterns 19

Slide 20

Slide 20 text

Cloud-Native Definition, Praktiken & Patterns Availability Scalability Resilience Configurability Observability Cloud-Native Applications Cloud-Native Attributes 20

Slide 21

Slide 21 text

Cloud-Native Definition, Praktiken & Patterns 21 Techniques & Practices Play nicely as a .NET developer

Slide 22

Slide 22 text

“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 Definition, Praktiken & Patterns Main Metaphor for Cloud-Native Code Techniques & Practices 22

Slide 23

Slide 23 text

Containerization Create & use Docker Images Cloud-Native Definition, Praktiken & Patterns Techniques & Practices 23

Slide 24

Slide 24 text

Configurability & Observability in .NET IConfiguration ILogger OpenTelemetry Health Checks Cloud-Native Definition, Praktiken & Patterns Techniques & Practices 24

Slide 25

Slide 25 text

Cloud-Native Definition, Praktiken & Patterns 25 D E M O Techniques & Practices

Slide 26

Slide 26 text

Cloud-Native Definition, Praktiken & Patterns 26 Cloud-Native Patterns Proven, applied & enforced

Slide 27

Slide 27 text

Cloud-Native Definition, Praktiken & Patterns Infrastructure, FTW! Statelessness Service-to-Service Instrumentation Loose (runtime) coupling (many more) Cloud-Native Patterns Patterns 27

Slide 28

Slide 28 text

§ 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 Definition, Praktiken & Patterns Messaging, Queuing, Pub-Sub 28 X P S S Patterns

Slide 29

Slide 29 text

Cloud-Native Definition, Praktiken & Patterns 29 Myth Busting & Definitions

Slide 30

Slide 30 text

Cloud-Native Definition, Praktiken & Patterns 30 D E M Patterns

Slide 31

Slide 31 text

Cloud-Native Definition, Praktiken & Patterns 31 Running Applications Locally, on-prem & Cloud

Slide 32

Slide 32 text

§ We can choose and mix from the continuum Cloud-Native Definition, Praktiken & Patterns Cloud Compute Continuum PaaS IaaS On-Premises Serverless Managed Kubernetes Running applications 32

Slide 33

Slide 33 text

Cloud-Native Definition, Praktiken & Patterns Hosting Options Comparison Running applications 33

Slide 34

Slide 34 text

Cloud-Native Definition, Praktiken & Patterns 34 Automation All-the-things!

Slide 35

Slide 35 text

Automation in Cloud-Native Is the key to success! Automate EVERYTHING Cloud-Native Definition, Praktiken & Patterns Automation 35

Slide 36

Slide 36 text

Cloud-Native Definition, Praktiken & Patterns Automation Layers Inner-Loop Infrastructure CI & CD Automation 36

Slide 37

Slide 37 text

Cloud-Native Definition, Praktiken & Patterns 37 D E M Automation

Slide 38

Slide 38 text

Cloud-Native Definition, Praktiken & Patterns 38 Conclusion

Slide 39

Slide 39 text

Cloud-Native 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

Slide 40

Slide 40 text

https://www.thinktecture.com/ueber-uns/karriere/ Dankeschön! Christian Weyer https://thinktecture.com/christian-weyer Demos aus der Session: https://github.com/thinktecture-labs/ cloud-native-sample Thorsten Hans https://thinktecture.com/thorsten-hans 40