1. The cloud native philosophy #
More than a technology, a methodological approach (the Twelve-Factor App).
Immutability #
A cloud native application is designed to be resilient. You never repair a broken server; you replace it automatically with a new one. It is the shift from the 'pets' model (you take care of each server) to the 'cattle' model (the server is a replaceable resource).
2. Microservices and containers #
The application is split into small independent services communicating through APIs. Containers (Docker) ensure the application behaves the same way on the developer's computer and in production.
3. Orchestration and CI/CD #
Kubernetes becomes the conductor that manages the deployment of these thousands of containers. Combined with an automated CI/CD pipeline, cloud native makes it possible to deploy updates dozens of times a day without service interruption.
Hands-on: a cloud native application #
Twelve factors, containers and continuous deployment.
The pillars of cloud native #
# De l'application au cluster, étapes types
docker build -t registre.exemple.fr/shop/api:1.0 . && docker push registre.exemple.fr/shop/api:1.0
kubectl apply -f k8s/ # déploiement déclaratif
kubectl rollout status deployment/api
# GitOps : le cluster se synchronise depuis Git
argocd app create shop --repo https://git.exemple.fr/shop/deploy.git --path k8s --dest-server https://kubernetes.default.svc --dest-namespace prod
argocd app sync shopGood practice: A cloud native application is stateless: sessions, files and configuration live in external services (database, cache, object storage, ConfigMap), so any instance can be deleted and recreated.
My progress
Sign in to track your progress and take notes. Sign in
💬 Questions about this lesson
No questions yet: be the first to ask for help or share your configuration.
Recommended Articles
Containers, Kubernetes and cloud native in a DevOps approach
The role of containers and Kubernetes in DevOps: reproducible images, multi-stage Dockerfiles, re...
What is cloud computing? The NIST definition
Understand the fundamentals of cloud computing through the 5 essential characteristics defined by...
Security with Datadog: Cloud SIEM, Cloud Security and application protection
Discover Datadog's security products: Cloud SIEM and detection rules, Cloud Security (posture, vu...
CaaS: state of the art and best practices
Container as a Service (CaaS) is a cloud computing model that lets companies manage and deploy ap...
Serverless computing: definition, FaaS and use cases
Serverless computing explained: Function as a Service (FaaS), how it works, advantages, limits (c...
The Twelve-Factor App
A detailed guide to the twelve-factor methodology for building modern, scalable applications in c...
Edge computing: definition, solutions and modular data centers
Edge computing explained: processing data as close as possible to its source, use cases (IoT, ind...
Compute on Azure: virtual machines, App Service, Functions and containers
Choose and use Azure compute: virtual machines and scale sets (VMSS), App Service, Azure Function...
Compute on Google Cloud: Compute Engine, GKE, Cloud Run and Cloud Functions
Choose compute on Google Cloud: Compute Engine VMs and managed instance groups, Google Kubernetes...