2. Marijn de Vlieger
Manager Solutions at True
Background:
Solutions architect
System Engineering (Linux, Unix, K8S)
Managed hosting since 2013
3. Martijn van Calker
Solutions Architect at True
Background:
Software development (PHP, Python)
Managed hosting
Dedicated Kubernetes & Public Cloud
Using Docker since version 1.6.0
4. → Our definition of ‘Cloud Native’
→ Impact on your application
→ Advantages of containers
→ Kubernetes: why, when and when not
→ Demo: Practical example
Topics
6. It’s just someone else’s computer
→ Computational units ‘as a service’
→ Consumable by API
→ Benefits of scalability
→ No hard(- and middle)ware management
→ Pay as you go
The Cloud
10. Cloud native technologies
empower organizations to
build and run scalable
applications in modern,
dynamic environments
such as public, private, and
hybrid clouds.
cncf.io
11. Impact
→ Loosely coupled systems
→ Commoditization of your application
→ Stateless components
→ Immutable components
→ Designed for automation
Dit hebben we gedefinieerd in een aantal stappen;
Welk stappen zijn er van monolith naar cloud-native?
Stap 1: kennis op doen
Stap 2: cloud-native denken in je organisatie
Stap 3: een gefaseerde aanpak om te komen tot een cloud-native app
●︎ Our definition of ‘cloud-native’●︎ The impact on your application architecture●︎ The most important advantages of containers●︎ To Kubernetes: why, when and when not●︎ Demo: Practical example of a containerized app
“Cloud-native architecture and technologies are an approach to designing, constructing, and operating workloads that are built in the cloud and take full advantage of the cloud computing model.” – Microsoft
CNCF:
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
Set of computational units, exposed via an ‘as a service’ model and consumable by API in which you can benefit from scalability (to meet usage and/or high availability),
in which you don’t have to worry about the underlying (and maintenance of) infrastructure in a pay as you go model
All cloud components are consumable as a service,
https://ea.rna.nl/2021/01/10/the-many-lies-about-reducing-complexity-part-2-cloud/
Keuze die gemaakt moet worden:
Infrastructure as a Service (IaaS): developers hebben zelf vrijheid om virtuele machines bij elkaar te klikken, het operating system te bepalen, maar ook de netwerking daar omheen. Voordeel is de enorme flexibiliteit. Je moet wel de kennis in huis hebben op het gebied van networking, operating systems, et cetera om hier gebruik van te maken.
Platform as a Service (PaaS): Developers hoeven zich niet meer druk te maken over de laag er onder (infra) en kunnen zich daardoor meer richten op de applicatie en diens configuratie. Je moet nog wel kennis in huis hebben van het platform om gebruik te maken van PaaS
Wat je ziet bij PaaS en zeker bij Kubernetes is de verwevenheid tussen applicatie en middleware. Je kan ervoor kiezen om deze kennis zelf in huis te halen, of om te partneren met een partij die een managed platform aanbied.
Lessons learned over starten met Kuberntes: welke fouten voorkomen
Cloud native technologies empower organizations to build and run scalable applications in modern, dynamic environments such as public, private, and hybrid clouds.
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.
loosely coupled systems (which will evolve in more service oriented products) – just like the cloud you are using
Loosely coupled systems that are resilient, manageable, and observable
https://www.aquasec.com/cloud-native-academy/cloud-native-applications/cloud-native-architecture/
Good starting point: 12 factor App
Seeing this landscape for the first time (and from there on choosing the right tooling) can be overwhelming
Notice the first 2 steps; demo will demonstrate both steps
Portability: build once, deploy anywhere: from functions and Kubernetes clusters to IoT on the Edge
The smaller the unit, the easier it is to orchestrate. Break your components into fine-grained independent units. You should be able to design, deploy, scale, and maintain each unit independently.
When possible, design and build stateless and lightweight containers. This enables the orchestration platform to easily monitor and handle the container life cycle.
https://www.aquasec.com/cloud-native-academy/container-security/containerized-architecture/
https://www.aquasec.com/cloud-native-academy/docker-container/container-advantages/