The document discusses Kubernetes and how it can be used with Azure to deploy and manage containerized applications. It provides an overview of Kubernetes and how it works, then discusses how Azure services like Azure Kubernetes Service (AKS) can simplify tasks like provisioning clusters, upgrading, scaling, and providing additional capabilities for development, deployment, security and management without having to manage the underlying infrastructure.
5. Resource Group
App Service Plan A
Website A Website C
App Service Plan B
Website B
Datacenter Region
Premium Tier
Free Tier
Azure Subscription
6.
7.
8. App Service
Migration Assistant
Move your ASP.NET App or Site to Azure
app service with the help of the Azure App
Service Migration Assistant.
https://appmigration.microsoft.com/
Assess
Migrate
Optimize
9.
10. What’s behind Kubernetes’ growth?
Kubernetes: the leading orchestrator shaping the future app development and management
42% 45% 50%
Source: Cloud Native Computing Foundation
11. How Kubernetes works
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
12. Kubernetes on its own is not enough
Save time from infrastructure management and roll out updates faster without compromising security
Unlock the agility for containerized
applications using:
• Infrastructure automation that simplifies
provisioning, patching, and upgrading
• Tools for containerized app development
and CI/CD workflows
• Services that support security, governance,
and identity and access management
IDE container
support
Registry
supporting
Helm
CI/CD
Monitoring
Microservice
debugging
NetworkingVirtual machines
Security Governance Identity
Source code
repository<>
Kubernetes
Storage Data
Infrastructure automation
13.
14. Manage Kubernetes with ease
• Automated provisioning,
upgrades, patches
• High reliability, availability
• Easy, secure cluster scaling
• Self-healing
• API server monitoring
• At no charge (you don’t pay the
managed control plane)
Infrastructure automation
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
15. From infrastructure to innovation
Managed Kubernetes
empowers you to achieve more
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
Cluster hosting
Cluster upgrade
Patching
Scaling
Monitoring and logging
Customer Microsoft
16. Manage Kubernetes with ease
Highly available, reliable service with serverless scaling
Azure Monitor
AKS production cluster
Microservices
Availability Reliability Auto scaling
Virtual node
Azure Container
Instances (ACI)
Pods
17. Accelerate containerized development
Kubernetes and DevOps
better together
Develop
• Native containers and Kubernetes support in IDE
• Remote debugging and iteration for multi-
containers
• Effective code merge
• Automatic containerization
Deliver
• CI/CD pipeline with automated tasks in a few
clicks
• Pre-configured canary deployment strategy
• In depth build and delivery process review and
integration testing
• Private registry with Helm support
Operate
• Out-of-box control plane telemetry, log
aggregation, and container health
• Declarative resource management
• Auto scaling
Inner loop
Test
Debug
Azure
DevSpaces
AKS dev
cluster
Azure Pipelines
Source
code control
Azure
Container
Registry
Helm chart
Container
image
AKS
production
cluster
Azure
Monitor
Scale
Terraform
Develop Deliver Operate
18. Azure makes Kubernetes easy
Deploy and manage Kubernetes with ease
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
19. Azure makes Kubernetes easy
Accelerate containerized application development
Task The Old Way With Azure
Build a containerized app and
deploy to Kubernetes
Build the app
Write a Dockerfile
Build the container image
Push the container to a registry
Write Kubernetes manifests/Helm chart
Deploy to Kubernetes
draft init to configure your environment
draft create to auto-create Dockerfile/Helm chart
draft up to deploy to Kubernetes
Inner loop development Set up a local dev environment using Minikube
Determine the transitive closure of your dependencies
Identify behavior of dependencies for key test cases
Stub out dependent services with expected behavior
Make local changes, check-in, and hope things work
Validate with application logs
Use Dev Spaces
Do breakpoint debugging in your IDE
Expose web apps to the
internet with a DNS entry
Deploy an ingress controller
Create a load-balanced IP for it
Add an ingress resource to your deployment
Acquire a custom domain
Create a DNS A-record for your service
Turn HTTP application routing on in your cluster
Add an ingress resource to your deployment
20. Azure makes Kubernetes easy
Roll out new features seamlessly (CI/CD)
Task The Old Way With Azure
Set up a CI/CD pipeline and
deploy to Kubernetes
Create Git repo
Create a build pipeline
Create a container registry
Create a Kubernetes cluster
Configure build pipeline to push to container registry
Configure build pipeline to deploy to Kubernetes
Define and set up deployment strategy
Create a project on Azure DevOps with Kubernetes/AKS as a
target
Make container images
available for deployment
worldwide
Create a container registry in every region
Configure build pipeline with multiple endpoints
Loop through all regions and push following build
Create an Azure Container Registry with geo-replication
Push your image to a single endpoint
Track health with
consolidated cluster and
application logs
Choose a logging solution
Deploy log stack in your cluster or provision a service
Configure and deploy a logging agent onto all nodes
Checkbox “container monitoring” in the Azure portal
21. Build on a secure, enterprise-grade platform
Control access through
AAD and RBAC
Secure network
communications with
VNET and network policy
Put guardrails in your
development process with
Azure Policy
23. Top scenarios for Containers on Azure
Cost saving
without refactoring
your app
Lift and shift
to containers
Agility
Faster application
development
Microservices
Performance
Low latency
processing
Machine
learning
Portability
Build once,
run anywhere
IoT
Automation
Deliver code faster
and securely at scale
Secure DevOps
26. Lorenzo Barbieri
Cloud Solutions Architect
lorenzo.barbieri@microsoft.com
https://publicspeaking.dev
LinkedIn.com/in/geniodelmale
Connect with me on LinkedIn