Slide 1

Slide 1 text

Becoming a cloud native ... genuinely! Exploring the cloud beyond containers and microservices Uwe Friedrichsen – codecentric AG) – 2012-2022

Slide 2

Slide 2 text

Uwe Friedrichsen Works @ codecentric https://twitter.com/ufried https://www.speakerdeck.com/ufried https://ufried.com/

Slide 3

Slide 3 text

"I write microservices and run them in containers using Kubernetes. Therefore, I am a cloud native!"

Slide 4

Slide 4 text

Yeah!

Slide 5

Slide 5 text

At least that is what the CNCF* keeps telling us ... * Cloud Native Computing Foundation

Slide 6

Slide 6 text

Cloud Native Computing Foundation (“CNCF”) Charter (Excerpt) 1. Mission of the Cloud Native Computing Foundation. The Foundation’s mission is to make cloud native computing ubiquitous. The CNCF Cloud Native Definition v1.0 says: Cloud native technologies empower organizations to build and run scalable applications in modern, dynamic environments such as public, private, and hybrid clouds. Containers, service meshes, microservices, immutable infrastructure, and declarative APIs exemplify this approach. These techniques enable loosely coupled systems that are resilient, manageable, and observable. Combined with robust automation, they allow engineers to make high-impact changes frequently and predictably with minimal toil. The Cloud Native Computing Foundation seeks to drive adoption of this paradigm by fostering and sustaining an ecosystem of open source, vendor-neutral projects. We democratize state-of-the-art patterns to make these innovations accessible for everyone. https://github.com/cncf/foundation/blob/main/charter.md

Slide 7

Slide 7 text

So, we are done here?

Slide 8

Slide 8 text

And they lived happily ever after ... The End ?

Slide 9

Slide 9 text

Let us dig deeper ...

Slide 10

Slide 10 text

Small e-commerce site A bit cloud native approach • Team of 7-12 developers for 12+ months • Several container instances • Testing, hardening, monitoring, compliance (PCI-DSS) • 3-5 developers after launch for maintenance and improvements, updating infrastructure,... Upfront costs: > 1 Mio. € Time2Market: > 12 months Runtime costs: > 500.000 € p.a. Actual cloud native approach • Shopify • Team of 2 consultants for 2 weeks • 1 consultant after launch for 5-10 days p.a. Upfront costs: < 30.000 € Time2Market: 2 weeks Runtime costs: < 20.000 € p.a. (incl. Shopify fees)

Slide 11

Slide 11 text

Full blown eCommerce platform A bit cloud native approach • Team of 50+ developers for 2+ years • Dozens of container and VM instances • Testing, hardening, monitoring, compliance (PCI-DSS) • 20+ developers after launch Upfront costs: > 15 Mio. € Time2Market: > 2 years Runtime costs: > 5 Mio. € p.a. Actual cloud native approach • commercetools • Team of 10 developers for 9 months • 3 developers after launch Upfront costs: ~ 1 Mio € Time2Market: 9 months Runtime costs: < 1 Mio € p.a. (commercetools : ~500.000 €/p.a.)

Slide 12

Slide 12 text

ML/AI - Image Recognition A bit cloud native approach • Team of 2 data scientists for 3-6 months training data gathering, model search and training, tuning, ... • Team of 2-3 developers for 2-3 months building production version • 0,5 data scientists & 0,5 devs after launch for model adjustments, retraining, maintenance, ... • Costs for building data pipelines excluded Upfront costs: > 200.000 € (+ hardware) Time2Market: > 6 months Runtime costs: > 100.000 € p.a. Actual cloud native approach • AWS Rekognition Upfront costs: 0 € Time2Market: Immediate Runtime costs: < 10.000 € p.a. (10.000.000 Image p.a.)

Slide 13

Slide 13 text

What can we learn from it?

Slide 14

Slide 14 text

Public cloud gives you novel options regarding cycle times, time-to-market, innovation capabilities, flexibility, operations cost savings, scalability, dependability, even improved ecological footprint that did not exist before

Slide 15

Slide 15 text

You need to leverage the public cloud to experience the cloud revolution

Slide 16

Slide 16 text

Cloud revolution?

Slide 17

Slide 17 text

Genesis Custom built Product (+ rental) Commodity (+ utility) Evolution Customer Invisible Value chain Visible Uncharted Industrialized Basic services Custom software solutions Standard software solutions Platform Infrastructure Data Center Binds all IT capacities available. No capacity to address higher-level or new customer needs Before Cloud (on-premises) Actual needs Basic needs Customer needs to break down actual needs to basic needs because services offered by supplier do not address actual needs

Slide 18

Slide 18 text

Genesis Custom built Product (+ rental) Commodity (+ utility) Evolution Customer Invisible Value chain Visible Uncharted Industrialized Basic needs Basic services Custom software solutions Standard software solutions Platform Infrastructure Cloud compute Public cloud 2008 Frees IT capacity for higher-level functions Actual needs

Slide 19

Slide 19 text

Genesis Custom built Product (+ rental) Commodity (+ utility) Evolution Customer Invisible Value chain Visible Uncharted Industrialized Basic needs Basic services Custom software solutions Standard software solutions Platform Cloud compute Public cloud 2011 IaaS Frees IT capacity for higher-level functions Actual needs

Slide 20

Slide 20 text

Genesis Custom built Product (+ rental) Commodity (+ utility) Evolution Customer Invisible Value chain Visible Uncharted Industrialized Basic needs Basic services Custom software solutions Standard software solutions Cloud compute Public cloud 2014 PaaS Frees IT capacity for higher-level functions IaaS Actual needs

Slide 21

Slide 21 text

Genesis Custom built Product (+ rental) Commodity (+ utility) Evolution Customer Invisible Value chain Visible Uncharted Industrialized Basic needs Cloud compute Public cloud 2017 Serverless Basic services Service integration Frees IT capacity for higher-level functions Actual needs IaaS PaaS

Slide 22

Slide 22 text

Genesis Custom built Product (+ rental) Commodity (+ utility) Evolution Actual needs Customer Invisible Value chain Visible Uncharted Industrialized Supplier can occupy still uncharted business territory, e.g., by immediately addressing actual customer needs -> competitive advantage Cloud compute Higher level services Public cloud 2020+ IT capacity for rapid innovation available, attacking completely new business opportunities IaaS PaaS Serverless

Slide 23

Slide 23 text

This is what I mean with (public) cloud revolution

Slide 24

Slide 24 text

This is where the novel options come from

Slide 25

Slide 25 text

This is not possible with a private cloud

Slide 26

Slide 26 text

Genesis Custom built Product (+ rental) Commodity (+ utility) Evolution Customer Invisible Value chain Visible Uncharted Industrialized Basic services Custom software solutions Standard software solutions Platform Infrastructure Data Center Binds all IT capacities available. No capacity to address higher-level or new customer needs Before Cloud (on-premises) Actual needs Basic needs Customer needs to break down actual needs to basic needs because services offered by supplier do not address actual needs

Slide 27

Slide 27 text

Genesis Custom built Product (+ rental) Commodity (+ utility) Evolution Customer Invisible Value chain Visible Uncharted Industrialized Basic needs Basic services Customer needs to break down actual needs to basic needs because services offered by supplier do not address actual needs Custom software solutions Standard software solutions Platform Infrastructure Data Center IT capacities still fully bound. No capacity to address higher-level or new customer needs Private cloud Actual needs

Slide 28

Slide 28 text

But that means vendor lock-In!

Slide 29

Slide 29 text

So what?

Slide 30

Slide 30 text

You want lock-in!

Slide 31

Slide 31 text

You should just do your homework first

Slide 32

Slide 32 text

t Begin of usage of “lock-in” solution Expected usage duration Costs of running self-built solution Costs of running “lock-in” solution Exit costs and risks Economic decision margin TCO-based “lock-in” decision (simplified)

Slide 33

Slide 33 text

But with OSS I do not have lock-in!

Slide 34

Slide 34 text

Really?

Slide 35

Slide 35 text

Every decision for a tool, product, platform, library, framework, programming language, etc. means “lock-in”

Slide 36

Slide 36 text

Without any “lock-in”, you would sit with a plain computer without any software on it – no OS, nothing. You would need to develop all software from scratch.

Slide 37

Slide 37 text

You (hopefully) deliberately choose lock-in to reduce efforts, costs and risks based on using the chosen solution

Slide 38

Slide 38 text

And it always means effort and risk if you need to migrate away from the chosen solution

Slide 39

Slide 39 text

This is also true if you choose an OSS solution

Slide 40

Slide 40 text

But we could maintain the OSS solution ourselves if needed!

Slide 41

Slide 41 text

Really?

Slide 42

Slide 42 text

Have you ever seen that happen?

Slide 43

Slide 43 text

Have you considered what that would mean in practice?

Slide 44

Slide 44 text

It will not happen

Slide 45

Slide 45 text

But OSS is for free!

Slide 46

Slide 46 text

Is it?

Slide 47

Slide 47 text

Most “OSS companies” these days are plain commercial companies that offer OSS variants of their products as “free samples” to push future sales of their commercial solutions

Slide 48

Slide 48 text

For production use, you will need the commercial version of the product because the OSS version typically lacks critical production features

Slide 49

Slide 49 text

To be clear: This is a perfectly legit practice. But it should not be confused with “free”

Slide 50

Slide 50 text

BTW: Ever considered the ethical implications of expecting to use other people’s work for free to create something you make money with without giving back anything? This is what the typical “OSS first” strategy means in practice

Slide 51

Slide 51 text

And even if the software is actually “for free”, using it still costs a lot of money

Slide 52

Slide 52 text

Costs associated with OSS • License costs • Integration costs • Customization costs • Required features, commercial alternatives have built in • No new features “for free” with product upgrades • Maintenance costs (e.g., responding to CVEs quickly) • Operation costs (including personnel costs) • Training costs • Opportunity costs for longer T2M • ...

Slide 53

Slide 53 text

OSS never is “for free”

Slide 54

Slide 54 text

To be clear: There is nothing wrong with using OSS solutions. But please do the math and do not fall for strawman arguments.

Slide 55

Slide 55 text

Okay, I see

Slide 56

Slide 56 text

Back to cloud ...

Slide 57

Slide 57 text

Quick reminder ...

Slide 58

Slide 58 text

Public cloud gives you novel options regarding cycle times, time-to-market, innovation capabilities, flexibility, operations cost savings, scalability, dependability, even improved ecological footprint that did not exist before

Slide 59

Slide 59 text

You need to leverage the public cloud to experience the cloud revolution

Slide 60

Slide 60 text

How can we become cloud natives?

Slide 61

Slide 61 text

Understand serverless • Managed services • Learn which (popular) managed services exist in your domain • Understand their capabilities and limitations • Function-as-a-Service (FaaS) • Learn how to use it as a universal integration layer • Understand the architectural paradigm and its implications • Understand its options and its limits

Slide 62

Slide 62 text

Understand cloud native design • Which paradigm to use • Combining compute, storage and network options • Build vs. lease • Scaling up and down, availability, costs, ... • Much more than just microservices and containers!

Slide 63

Slide 63 text

Understand cloud economy • Runtime cost efficiency is achieved differently • Simple “lift & shift” usually increases runtime costs • Different paradigms support different use cases best • Moving data around has a price tag • Think about auto-rightsizing • Consider all types of costs!

Slide 64

Slide 64 text

Understand cloud security • Different from traditional on-premises security • Provides lots of fine-grained options • Steep learning curve • Essential for building dependable solutions

Slide 65

Slide 65 text

Understand cloud sustainability • We want to minimize our ecological footprint! • Know the cloud provider’s guides to sustainability • Pick the right paradigm for the given use case • Watch for good server utilization • Do not forget downscaling • Balance performance, availability and sustainability

Slide 66

Slide 66 text

Is everything golden?

Slide 67

Slide 67 text

Of course not

Slide 68

Slide 68 text

Issues and pitfalls • Many services to choose from – steep learning curve • Standard APIs still missing – lots of integration work • Services not always mature – DX can still be PITA • Costs can explode if you are not careful • Dominated by players from the USA and China • Geopolitical developments will shape access to public cloud

Slide 69

Slide 69 text

Shouldn’t I rather wait and observe?

Slide 70

Slide 70 text

You could wait until the dust has settled, the teething troubles have been overcome and everything works nicely

Slide 71

Slide 71 text

But then others who started early will have an unassailable lead

Slide 72

Slide 72 text

Competitive advantage is shaped in the realm of early adopters, not in the realm of late followers

Slide 73

Slide 73 text

Hence, dive in now, learn the options of the public cloud ...

Slide 74

Slide 74 text

... learn how to leverage its potential ...

Slide 75

Slide 75 text

... know about the risks and pitfalls ...

Slide 76

Slide 76 text

... deal with lock-in risks in a grown-up way ...

Slide 77

Slide 77 text

... and experience the cloud revolution!

Slide 78

Slide 78 text

Wrap-up

Slide 79

Slide 79 text

Wrap-up • Cloud is much more than containers and microservices • Understand the cloud revolution • Understand what “lock-in” really means • Learn how to leverage the options the public cloud offerings • Understand the pitfalls and risks

Slide 80

Slide 80 text

Yeah!

Slide 81

Slide 81 text

Uwe Friedrichsen Works @ codecentric https://twitter.com/ufried https://www.speakerdeck.com/ufried https://ufried.com/