KEMBAR78
Kubernetes for .NET Developers | PPTX
Technologies
What you get
IaaS
Infrastructure Platform
Virtual Machines, VM Scale Sets
Curated VM Hosting
CaaS
Container Platform
Azure Kubernes Service
Azure Container Instances, etc..
Curated Orchestration
PaaS
Application Platform
Azure App Service
Curated Execution Environment
FaaS
Serverless Platform
Azure Functions,
Azure Logic Apps, etc…
Scale to ‘zero’
High-productivity
for devs & ops
.NET, Node, Java, Docker, PHP, Ruby, Python
Deploy containers on Windows & Linux
Staging & deployment
Testing in production
App gallery marketplace
Fully-managed
Auto scale & load balancing
High availability w/auto patching
Reduced operations costs
Backup & recovery
Enterprise-grade
Global data center footprint
Hybrid support
Azure Active Directory integration
Secure & compliance
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
What is a container?
Virtual machines
Virtualize the hardware
VMs as units of scaling
Binaries &
libraries
App1
Guest OS
VM
Binaries &
libraries
App2
Guest OS
VM
Containers
Virtualize the operating system
Applications as units of scaling
Binaries &
libraries
App1
Containers
Binaries &
libraries
App1
Containers
Traditional virtualized environment
From dev to production agility across
development and operations teams
Low utilization of resources
Containerization of applications and
their dependencies for portability
Hardware
Host OS
Hypervisor
App
Container Container
App
Container Container
Virtual machine Virtual machine
Advantages of a containerized environment
Containers are lighter weight and
faster to scale dynamically
Migrate containers and their
dependencies to underutilized VMs
for improved density and isolation
Decommission unused resources
for efficiency gains and cost savings
Container
Hardware
Host OS
Hypervisor
Container
App
Container Container
Virtual machine Virtual machine
Docker Engine
The benefits of using containers
Portability
+
Easily move
workloads
Agility
+
Ship apps
faster
Density
+
Achieve resource
efficiency
Rapid scale
+
Scale easily to
meet demand
The elements of orchestration
Scheduling Affinity/anti-
affinity
Health
monitoring
Failover
Scaling Networking Service
discovery
Coordinated
app upgrades
What’s behind Kubernetes’ growth?
Kubernetes: the leading orchestrator shaping the future app development and management
42% 45% 50%
Source: Cloud Native Computing Foundation
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
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
Kubernetes on Azure | Enterprise-grade by design
Development tools Platform
Azure
Kubernetes
Service
Azure
Red Hat
OpenShift
Azure
Container
Instances
Azure Arc
Management across environments
Community
Active
Directory
Azure
Policy
Security
Center
Key
Vault
Azure
AdvisorGitHub
Visual Studio
Code
Azure Container
Registry
Azure Dev
Spaces
Azure
Monitor
Azure Kubernetes Service (AKS)
Ship faster, operate easily, and scale confidently with managed Kubernetes on Azure
Manage Kubernetes
with ease
Build on an
enterprise-grade,
secure foundation
Run anything,
anywhere
Accelerate
containerized
development
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
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
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
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
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
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
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
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
Run anything, anywhereYourchoiceof…
Container
LinuxWindows
Region
20+ regions worldwide
Environment
IoT
Edge
Public cloud Azure
Stack
Azure
Government
Azure
Arc
Azure Arc
Bring Azure services and management to any infrastructure
Run Azure
data services
anywhere
Extend Azure
management across
your environments
Adopt cloud
practices
on-premises
Implement
Azure security
anywhere
Azure Arc is a set of technologies that extends Azure management and
enables Azure services to run across on-premises, multi-cloud, and edge
Azure Arc-enabled
Kubernetes clusters
• Central inventory and monitoring of the
sprawling assets running anywhere from
on-premises to edge
• Consistently apply policies, role-based-
access-controls (RBAC) for at-scale
governance
• Deploy Kubernetes resources to all
clusters using a GitOps-based workflow
Identity
RBAC
Monitoring
Policy
Azure Arc
Kubernetes
Azure Stack On-premises Multi-cloud Edge
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
Kubernetes is built and maintained by the community
Kubernetes collects wisdom, code, and efforts
from hundreds of corporate contributors and
thousands of individual contributors
148,000commits
35,000contributors
#1GitHub project
Microsoft is part of this vibrant community and leads in the associated
committees to help shape the future of Kubernetes and its ecosystem
CNCF
platinum member
CNCF
technical oversight
committee
CNCF
governing board
Kubernetes
steering committee
Linux Foundation
board member
AKS is certified Kubernetes conformant, ensuring portability and interoperability of your container workloads
Microsoft contributions to the community
Packaging
& distribution
Scalability
& control
Kubernetes
developer tooling
Helm
CNAB
Virtual Kubelet Gatekeeper
Draft
Brigade
VS Code
Kubernetes
Extensions
Open Container
Initiative
Dapr
KEDA Service Mesh
Interface
Work how you want with opensource tools and APIs
Development DevOps Monitoring Networking Storage Security
Take advantage of
services and tools
in the Kubernetes
ecosystem
Leverage 100+
turn-key Azure
services
Azure
VNET
Azure StorageAzure Monitor
CNAB
Virtual
kubelet
Azure
Pipelines
ARM
Container
Registry
Azure
Policy
AAD
Key Vault
Service
Mesh
Interface
Azure Cosmos DB
Visual
Studio Code
GitHub ASC
IaaS
Infrastructure Platform
CaaS
Container Platform
PaaS
Application Platform
FaaS
Serverless Platform
What you get
Curated VM Hosting Curated Orchestration Curated Execution Environment Scale to ‘zero’
Technology decisions
IT/Infra focused Value Prop
More Control of execution environment
Less Agile development & deployment
Dev/App Admin focused Value Prop
Less Control of execution environment
More Agile development & deployment
Feedback on the roadmap? Tell us at https://aka.ms/aks/feedback
Learning path
aka.ms/LearnKubernetes
What is Kubernetes
aka.ms/k8sLearning
Hear from experts
aka.ms/AKS/videos
Case studies
aka.ms/aks/casestudy
See what’s new
aka.ms/k8s/roadmap
Try for free
aka.ms/aks/trial
Lorenzo Barbieri
Cloud Solutions Architect
lorenzo.barbieri@microsoft.com
https://publicspeaking.dev
LinkedIn.com/in/geniodelmale
Connect with me on LinkedIn

Kubernetes for .NET Developers

  • 2.
    Technologies What you get IaaS InfrastructurePlatform Virtual Machines, VM Scale Sets Curated VM Hosting CaaS Container Platform Azure Kubernes Service Azure Container Instances, etc.. Curated Orchestration PaaS Application Platform Azure App Service Curated Execution Environment FaaS Serverless Platform Azure Functions, Azure Logic Apps, etc… Scale to ‘zero’
  • 3.
    High-productivity for devs &ops .NET, Node, Java, Docker, PHP, Ruby, Python Deploy containers on Windows & Linux Staging & deployment Testing in production App gallery marketplace Fully-managed Auto scale & load balancing High availability w/auto patching Reduced operations costs Backup & recovery Enterprise-grade Global data center footprint Hybrid support Azure Active Directory integration Secure & compliance
  • 4.
    App Service Migration Assistant Moveyour 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
  • 6.
    What is acontainer? Virtual machines Virtualize the hardware VMs as units of scaling Binaries & libraries App1 Guest OS VM Binaries & libraries App2 Guest OS VM Containers Virtualize the operating system Applications as units of scaling Binaries & libraries App1 Containers Binaries & libraries App1 Containers
  • 7.
    Traditional virtualized environment Fromdev to production agility across development and operations teams Low utilization of resources Containerization of applications and their dependencies for portability Hardware Host OS Hypervisor App Container Container App Container Container Virtual machine Virtual machine
  • 8.
    Advantages of acontainerized environment Containers are lighter weight and faster to scale dynamically Migrate containers and their dependencies to underutilized VMs for improved density and isolation Decommission unused resources for efficiency gains and cost savings Container Hardware Host OS Hypervisor Container App Container Container Virtual machine Virtual machine Docker Engine
  • 9.
    The benefits ofusing containers Portability + Easily move workloads Agility + Ship apps faster Density + Achieve resource efficiency Rapid scale + Scale easily to meet demand
  • 10.
    The elements oforchestration Scheduling Affinity/anti- affinity Health monitoring Failover Scaling Networking Service discovery Coordinated app upgrades
  • 12.
    What’s behind Kubernetes’growth? Kubernetes: the leading orchestrator shaping the future app development and management 42% 45% 50% Source: Cloud Native Computing Foundation
  • 13.
    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
  • 14.
    Kubernetes on itsown 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
  • 16.
    Kubernetes on Azure| Enterprise-grade by design Development tools Platform Azure Kubernetes Service Azure Red Hat OpenShift Azure Container Instances Azure Arc Management across environments Community Active Directory Azure Policy Security Center Key Vault Azure AdvisorGitHub Visual Studio Code Azure Container Registry Azure Dev Spaces Azure Monitor
  • 17.
    Azure Kubernetes Service(AKS) Ship faster, operate easily, and scale confidently with managed Kubernetes on Azure Manage Kubernetes with ease Build on an enterprise-grade, secure foundation Run anything, anywhere Accelerate containerized development
  • 18.
    Manage Kubernetes withease • 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
  • 19.
    From infrastructure toinnovation 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
  • 20.
    Manage Kubernetes withease Highly available, reliable service with serverless scaling Azure Monitor AKS production cluster Microservices Availability Reliability Auto scaling Virtual node Azure Container Instances (ACI) Pods
  • 21.
    Accelerate containerized development Kubernetesand 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
  • 22.
    Azure makes Kuberneteseasy 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
  • 23.
    Azure makes Kuberneteseasy 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
  • 24.
    Azure makes Kuberneteseasy 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
  • 25.
    Build on asecure, 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
  • 26.
    Run anything, anywhereYourchoiceof… Container LinuxWindows Region 20+regions worldwide Environment IoT Edge Public cloud Azure Stack Azure Government Azure Arc
  • 27.
    Azure Arc Bring Azureservices and management to any infrastructure Run Azure data services anywhere Extend Azure management across your environments Adopt cloud practices on-premises Implement Azure security anywhere Azure Arc is a set of technologies that extends Azure management and enables Azure services to run across on-premises, multi-cloud, and edge
  • 28.
    Azure Arc-enabled Kubernetes clusters •Central inventory and monitoring of the sprawling assets running anywhere from on-premises to edge • Consistently apply policies, role-based- access-controls (RBAC) for at-scale governance • Deploy Kubernetes resources to all clusters using a GitOps-based workflow Identity RBAC Monitoring Policy Azure Arc Kubernetes Azure Stack On-premises Multi-cloud Edge
  • 29.
    Top scenarios forContainers 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
  • 31.
    Kubernetes is builtand maintained by the community Kubernetes collects wisdom, code, and efforts from hundreds of corporate contributors and thousands of individual contributors 148,000commits 35,000contributors #1GitHub project Microsoft is part of this vibrant community and leads in the associated committees to help shape the future of Kubernetes and its ecosystem CNCF platinum member CNCF technical oversight committee CNCF governing board Kubernetes steering committee Linux Foundation board member AKS is certified Kubernetes conformant, ensuring portability and interoperability of your container workloads
  • 32.
    Microsoft contributions tothe community Packaging & distribution Scalability & control Kubernetes developer tooling Helm CNAB Virtual Kubelet Gatekeeper Draft Brigade VS Code Kubernetes Extensions Open Container Initiative Dapr KEDA Service Mesh Interface
  • 33.
    Work how youwant with opensource tools and APIs Development DevOps Monitoring Networking Storage Security Take advantage of services and tools in the Kubernetes ecosystem Leverage 100+ turn-key Azure services Azure VNET Azure StorageAzure Monitor CNAB Virtual kubelet Azure Pipelines ARM Container Registry Azure Policy AAD Key Vault Service Mesh Interface Azure Cosmos DB Visual Studio Code GitHub ASC
  • 35.
    IaaS Infrastructure Platform CaaS Container Platform PaaS ApplicationPlatform FaaS Serverless Platform What you get Curated VM Hosting Curated Orchestration Curated Execution Environment Scale to ‘zero’ Technology decisions IT/Infra focused Value Prop More Control of execution environment Less Agile development & deployment Dev/App Admin focused Value Prop Less Control of execution environment More Agile development & deployment
  • 37.
    Feedback on theroadmap? Tell us at https://aka.ms/aks/feedback Learning path aka.ms/LearnKubernetes What is Kubernetes aka.ms/k8sLearning Hear from experts aka.ms/AKS/videos Case studies aka.ms/aks/casestudy See what’s new aka.ms/k8s/roadmap Try for free aka.ms/aks/trial
  • 39.
    Lorenzo Barbieri Cloud SolutionsArchitect lorenzo.barbieri@microsoft.com https://publicspeaking.dev LinkedIn.com/in/geniodelmale Connect with me on LinkedIn