4. From traditional app to modern app
Existing
Application
APP
Modern
Microservices
Add new services
or start peeling off
services from
monolithic code.
Modern
Methodologies
Implement CI/CD
and automation.
Modern
Infrastructure
Move to the
cloud as VMs
or Containers
or refresh HW.
Containerize
Applications
Re-architect
apps for scale
with containers.
9. Static
website Web frontendUser DB Queue Analytics DB
Development VM
QA server Public Cloud
Contributor’s laptop
Let’s create an ecosystem for distributed applications
Multiplicityof
Stacks
Multiplicityof
hardware
environments
Production ClusterCustomer Data Center
Doservicesand
appsinteract
appropriately?
CanImigrate
smoothlyand
quickly
…that can be manipulated using
standard operations and run
consistently on virtually any
hardware platform
An engine that enables any
payload to be encapsulated
as a lightweight, portable,
self-sufficient container…
10. Static website
Web frontend
Background workers
User DB
Analytics DB
Queue
Development
VM
QA Server
Single Prod
Server
Onsite Cluster Public Cloud
Contributor’s
laptop
Customer
Servers
And eliminate the matrix from Hell
11.
12. FROM alpine:3.12.0
LABEL maintainer="nills.franssens@microsoft.com"
RUN apk --no-cache add curl jq openssl
RUN curl https://storage.googleapis.com/hey-release/hey_linux_amd64 -o
hey
RUN chmod +x hey
COPY send_event.sh send_event.sh
RUN chmod +x send_event.sh
ENTRYPOINT sh send_event.sh
0 B
1.895 KB
176.7 KB
192.50 KB
192.5 KB
167.2 MB
Web App
20. The elements of orchestration
Scheduling Affinity/anti-
affinity
Health
monitoring
Failover
Scaling Networking Service
discovery
Coordinated
app upgrades
21. How Kubernetes works internally
1. Kubernetes users communicate
with API server and apply
desired state
2. Master nodes actively enforce
desired state on worker nodes
3. Worker nodes support
communication between
containers
4. Worker nodes support
communication from the
Internet
Kubernetes
control
API server
replication, namespace,
serviceaccounts, etc.
-controller-
manager -scheduler
etcd
Master node
Worker node
kubelet kube-proxy
Docker
Pod Pod
Containers Containers
Worker node
kubelet kube-proxy
Docker
Pod Pod
Containers Containers
Internet
Internet
23. Manage and
operate Kubernetes
with ease
Build on an
enterprise-grade,
secure platform
Accelerate
containerized app
development
Run any
workload
anywhere
Kubernetes on Azure
Portable Extensible Self-healing
Simplify the deployment, management, and operations of Kubernetes
24. Manage Kubernetes with ease
API server
Controller
ManagerScheduler
etcd
Store
Cloud
Controller
Self-managed master node(s)
Customer VMs
App/
workload
definitionUser
Docker
Pods
Docker
Pods
Docker
Pods
Docker
Pods
Docker
Pods
Schedule pods over
private tunnel
Kubernetes
API endpoint
Azure managed control plane
Focus on your containers and code, not the plumbing of them
Responsibilities
DIY with
Kubernetes
Managed
Kubernetes
on Azure
Containerization
Application iteration,
debugging
CI/CD
Provisioning, upgrades,
patches
Reliability availability
Scaling
Monitoring and logging
Customer Microsoft
25. Task The Old Way With Azure
Create a cluster Provision network and VMs
Install dozens of system components including etcd
Create and install certificates
Register agent nodes with control plane
az aks create
Upgrade a cluster Upgrade your master nodes
Cordon/drain and upgrade worker nodes individually
az aks upgrade
Scale a cluster Provision new VMs
Install system components
Register nodes with API server
az aks scale
Azure makes Kubernetes easier
Manage and operate Kubernetes with ease