Azurekubernetesservicesdevcamponlinecontents1551289126300 PDF
Azurekubernetesservicesdevcamponlinecontents1551289126300 PDF
Azurekubernetesservicesdevcamponlinecontents1551289126300 PDF
Related tools & services: ACS Engine, ACI, ACR, OSBA, Helm, DevOps Project, Dev Spaces
Kubernetes Customer
Introduction Resources
deep dive stories
Azure Kubernetes
Service Related tools Open source
(AKS) & services culture
Introduction
Kubernetes Customer
Introduction Resources
deep dive stories
Azure Kubernetes
Service Related tools Open source
(AKS) & services culture
Why should customers care about
containers and microservices?
In reality, they shouldn’t…
They do care about cloud native applications
APP
I need to create applications New applications run smoothly My productivity and application
at a competitive rate without on my machine but malfunction innovation become suspended
worrying about IT on traditional IT servers when I have to wait on IT
What we hear from IT
I need to manage servers I’m unsure of how to integrate I’m unable to focus on both
and maintain compliance unfamiliar applications, and I server protection and
with little disruption require help from developers application compliance
What is a container?
Containers = operating system virtualization Traditional virtual machines = hardware virtualization
VM VM VM
Container Container Container
Application
Applications
App App App
OS
Kernel OS OS OS OS
Hardware Hardware
Windows Server containers: maximum speed and density Hyper-V containers: isolation plus performance
Hardware Hyper-V
Virtualization versus containerization
Virtual machine Container
Application XYZ
Application
App dependencies
Dependencies
Guest OS
C C C C C
VM VM VM
Dependency 1 Dependency 2
VM VM VM
Hypervisor 2 Docker Engine
Type 1 Type 2
Virtualization Containerization
The container advantage
~60%
technologies
use container No, my org. is not
adoption.2
technologies?1 25% using container
technologies
Source:
1: Datadog: 8 Surprising Facts About Real Docker Adoption; 2: DZone: The DZone Guide to Deploying and Orchestrating Containers
Industry analysts agree
https://docs.microsoft.com/azure/aks/tutorial-kubernetes-
prepare-app
https://docs.microsoft.com/azure/aks/tutorial-kubernetes-
prepare-acr
“Distributed apps are sufficiently complicated that they need
to be flown by the instruments”
The elements of orchestration
Cluster hosting
Cluster upgrade
Patching
Scaling Customer
Kubernetes Customer
Introduction Resources
deep dive stories
Azure Kubernetes
Service Related tools Open source
(AKS) & services culture
Azure container ecosystem
OSBA
App Service Azure
Container
PaaS
Registry
(ACR)
Partner services Azure services
Docker Enterprise
CosmosDB Virtual kubelet
Edition
IaaS
Azure
Deploy and manage Scale and run Secure your
Kubernetes with ease applications with Kubernetes
confidence environment
Accelerate containerized Work how you want with Set up CI/CD in a few clicks
application development open-source tools & APIs
• Define, install and upgrade • 100% open source • Three steps away from a
apps easily with Helm Kubernetes CI/CD pipeline with DevOps
• Automatically scaffold, • Take full advantage of Project
containerize and deploy services and tools in the • Work with existing tools
with CLI or Visual Studio ecosystem such as Jenkins
• Rapidly iterate, test and • Easily integrate with SLA- • Geo-replicated container
debug microservices using backed Azure services with registry
Dev Spaces OSBA
Deploy and manage Kubernetes with ease
Build a containerized app and Build the app resource draft init to configure your environment
deploy to Kubernetes Define a Dockerfile/Helm chart draft create to auto-create Dockerfile/Helm chart
Build the container image draft up to deploy to Kubernetes
Push the container to a registry
Write Kubernetes manifests/Helm chart
Deploy to Kubernetes
Build and test individual services Set up a local dev environment using Minikube Use DevSpaces to iterate, test and debug
in a microservices architecture Determine the transitive closure of dependencies Do breakpoint debugging in your IDE
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
Expose web apps to the internet Deploy an ingress controller Turn HTTP application routing on in your cluster
with a DNS entry Create a load-balanced IP for it Add an ingress resource to your deployment
Add an ingress resource to your deployment
Acquire a custom domain
Create a DNS A-record for your service
Set up CI/CD in a few clicks
Set up a CI/CD pipeline and Create git repo Create an Azure DevOps project with AKS as a target
deploy to Kubernetes 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
Make container images Create a container registry in every region Create an Azure Container Registry with geo-replication
available for deployment Configure build pipeline with multiple endpoints Push your image to a single endpoint
worldwide
Loop through all regions and push following build
Track health with consolidated Choose a logging solution Checkbox “container monitoring” in the Azure portal
cluster and application logs Deploy log stack in your cluster or provision a service
Configure and deploy a logging agent onto all nodes
Development DevOps Monitoring Networking Storage Security
Take advantage
of services and
tools in the
Kubernetes
ecosystem
RBAC
OR, Azure
Container
VSTS Registry
Leverage
growing Azure Azure Monitor Azure Storage AAD
VS Code Azure VNET
support ARM
Key Vault
Work how you want
with opensource
tools and APIs
Control access through AAD Safeguard keys and Secure network Compliant Kubernetes
and RBAC secrets with Key Vault communications with service with
VNET and CNI certifications covering
SOC, HIPAA, and PCI
Built-in auto scaling Global data center to Elastically burst from Geo-replicated
boost performance AKS cluster using ACI container registry
and reach
https://docs.microsoft.com/azure/aks/tutorial-kubernetes-
deploy-cluster
https://docs.microsoft.com/azure/aks/tutorial-kubernetes-
deploy-application
Kubernetes deep dive
Kubernetes Customer
Introduction Resources
deep dive stories
Azure Kubernetes
Service Related tools Open source
(AKS) & services culture
Kubernetes
Architecture
Kubernetes Architecture
Components
Kubernetes Resources
Security with Kubernetes
rating-api rating-web
rating-db
port 27017
label app=heroes-web , tier=web
image azurecr.io/rating-web:v1
heroes-web-1
port 8080
port
heroes-web-2
port 8080
heroes-web
label app=heroes-web, tier=web
image azurecr.io/rating-web:v1
heroes-web-1
port 8080
Heroes-web
port
selector app=heroes-web
heroes-web-2
port 8080:8080 port 8080
IP 10.0.2.20
heroes-web
Application Scaling Strategies
Infrastructure Level
Increase/decrease the number of VM’s running in the cluster
Azure infrastructure function
via AKS API/CLI (utilizes Azure Availability Sets)
Auto-scaling coming to AKS soon
Application Level
Increase/decrease the number of pods for a given service
Handled by the orchestrator or the application itself
Kubernetes Horizontal Pod Autoscaling
These functions should be coordinated
https://docs.microsoft.com/azure/aks/kubernetes-dashboard
https://docs.microsoft.com/azure/monitoring/monitoring-container-health
https://docs.microsoft.com/azure/aks/tutorial-kubernetes-scale
https://docs.microsoft.com/azure/aks/tutorial-kubernetes-app-update
Related tools & services
Kubernetes Customer
Introduction Resources
deep dive stories
Azure Kubernetes
Service Related tools Open source
(AKS) & services culture
ACS Engine
Azure Container
Instances (ACI)
Azure Container
Registry (ACR)
ACS-engine Deployed
ARM
cluster Cluster
template file
Open Service definition file on Azure
Broker API (OSBA)
Release
Automation Tools
ACS Engine
Azure Container Instances (ACI)
Easily run containers on Azure without managing servers
Azure Container
Instances (ACI)
Azure Container
Registry (ACR)
Release
Automation Tools
ACS Engine
Azure Container
Instances (ACI)
Elastic bursting with AKS
Azure Container
Registry (ACR)
Event-driven applications
with Azure Logic Apps
Open Service
Broker API (OSBA)
Azure Container
Registry (ACR)
Open Service
Broker API (OSBA)
$ curl 52.168.86.133
Release
Automation Tools
ACS Engine
Azure Container Instances (ACI)
PREVIEW
Bursting with the ACI Connector
VM VM
Connector
Pod Pod Pod Pod Pod
ACI
Kubernetes
control Pod Pod Pod Pod Pod
Deployment/
tasks plane
Open Service Pod Pod Pod Pod Pod
Broker API (OSBA)
Infrastructure Azure Container Instances (ACI)
architect
Pod Waste
Pod Pod Waste
Pod
Resources
Open Service
Broker API (OSBA)
Release
Automation Tools
ACS Engine
Manage a Docker private registry as a first-class Azure resource
Azure Container
Instances (ACI)
Azure Container
Registry (ACR)
Open Service Manage images for all Use familiar, open- Azure Container Registry
Broker API (OSBA)
types of containers source Docker CLI tools geo-replication
Release
Automation Tools
ACS Engine
App Packaging
Deploy to your preferred environment
Azure Container
Instances (ACI)
Azure clients:
PS, CLI, Portal, SDK
Azure Container
Registry (ACR) Developer tools:
VS, VS Code, VSTS
OSS clients:
GitHub, Terraform, Draft,
Helm, etc.
Release
Automation Tools
Geo-replication
ACS Engine
Azure Container
Instances (ACI)
Geo-replicate
a single registry
Geo-replicate a single
Azure Container registry West Europe
All regions have
Registry (ACR) All regions have a local
a local replica
Canada Central replica
West US
East US
Azure Container
Instances (ACI)
Azure Container
Registry (ACR)
Open Service Broker Authenticate using Azure Integrated OS & Secure images by default
for Azure (OSBA)
Active Directory Identity Framework Patching with quarantine pattern
Release
Automation Tools
Build
ACS Engine
Azure Container
Instances (ACI)
Azure Container
Registry (ACR)
Release
Automation Tools
Azure Container Registry
ACS Engine
Resources
Release
Automation Tools
Open Service Broker for Azure (OSBA)
ACS Engine
Connecting containers to Azure services and platforms
Azure Container
Instances (ACI)
Azure Container
Registry (ACR)
Open Service Broker A standardized way to Simple and flexible Compatible across
for Azure (OSBA)
connect with Azure services service integration numerous platforms
Release
Automation Tools
Open Service Broker for Azure (OSBA)
ACS Engine
An implementation of the Open Service Broker API
Azure Container
Registry (ACR)
Open Service Broker
for Azure (OSBA)
Azure Container
Instances (ACI)
Azure Container
Registry (ACR)
Release
Automation Tools
Open Service Broker for Azure (OSBA)
ACS Engine
Resources
Azure Container • OSBA announcement blog Open Service Broker for Azure
Instances (ACI)
• OSBA on GitHub
Release
Automation Tools
Microsoft Azure and OpenShift
• Joint solutions that enable digital transformation and help organizations remain competitive in
rapidly changing markets
• Help IT develop and deliver new apps and services faster
• Provide choice, flexibility, and consistency for the enterprise
• Easily build secure, scalable, and manageable hybrid cloud infrastructures
• Reduced capital and operational expenses
107
Red Hat OpenShift Container Platform
in Microsoft Azure
“Azure and OpenShift
automate a significant
amount of work, which allows
development teams to
achieve consistent results
every time”
Yuji Hirose
Head of Service Supervisory Unit,
Service Solutions Control Unit, and
ICT Business Supervisory Control Unit
Hitachi
109
Custom Azure deployment
110
Reference material
111
ACS Engine
Azure Container
Registry (ACR)
DevOps+
Continuous
Delivery Cycle
Open Service Broker
for Azure (OSBA)
Release
Automation Tools
ACS Engine
The benefits
46x 5x
Azure Container
Instances (ACI)
Release
Automation Tools
Release automation tools
ACS Engine
Simplifying the Kubernetes experience
Azure Container
Instances (ACI)
Azure Container
Registry (ACR)
The package
manager for
Open Service Broker Kubernetes
for Azure (OSBA)
Release
Automation Tools
Helm
ACS Engine
The best way to find, share, and use software built
for Kubernetes
Azure Container
Instances (ACI)
Azure Container
Registry (ACR)
Release
Automation Tools
Helm
ACS Engine
Helm Charts helps you define, install, and upgrade even the
most complex Kubernetes application
Azure Container
Instances (ACI)
services ci
db
load balancer
custom
Azure Container …
Registry (ACR)
Chart.yml
Release
Automation Tools
DevOps Pipelines in Minutes
https://docs.microsoft.com/azure/aks/kubernetes-helm
https://docs.microsoft.com/en-us/azure/aks/virtual-kubelet
Customer stories
Kubernetes Customer
Introduction Resources
deep dive stories
Azure Kubernetes
Service Related tools Open source
(AKS) & services culture
Siemens Health leverages technology to connect
medical devices to the cloud through AKS
Outcome: With AKS, Siemens has driven newfound product development agility. AKS
enables them to use an applicant gateway and API management to manage
exposure, control, and to meter the access continuously.
The managed Azure Kubernetes Service puts us really into a position to not
only deploy our business logic in Docker containers, including the
orchestration, but it’s also really easy through application gateway and API
management to manage that exposure and control and meter the access
continuously.
Thomas Gossler, Lead Architect - Digital Ecosystem Platform, Siemens
Energy company electrifies pace of innovation
and expansion
Solution: To stand up infrastructure quickly, Ambit used Microsoft Azure services such
as Azure Container Service, together with infrastructure as code and open
source technologies, to completely automate infrastructure provisioning.
Outcome: By implementing Azure, Ambit can move dramatically faster to enhance its
services and enter new markets. Infrastructure redundancy is flexible and
worry-free. And costs are 22 percent lower, which helps Ambit compete in
the crowded electricity market.
Solution: Varian chose Microsoft Azure as its cloud platform and Azure Kubernetes
Service to scale application deployments to thousands of customers,
utilizing containers to modernize existing apps and create new ones.
Outcome: With AKS, Varian’s developers can deliver features to customers quickly and
get their feedback without the overhead of provisioning a group of virtual
machines.
With AKS, developers get a safe place to innovate and to experiment with
new technologies and ideas…. It’s the best of open service combined with
the best of Azure.
Shivakumar Gopalakrishnan, Senior Manager, Varian Medical Systems
Tech startup creates a “data scientist in a box”
with machine learning and Microsoft Azure
Challenge: Falkonry needed a solution to scale the deployment of its machine learning
application to reach customers in the oil and gas industries.
Outcome: With Azure Kuburnetes Service, Falkonry is able to deploy their solutions in
days, compared to months it takes for companies using a more traditional
platform approach.
We’re very happy with the speed of deployment we can offer our customers
with Azure. If we had to fly people out to configure and set up hardware and
software, we would lose several weeks in the process.
Sanket Amberkar, Senior Vice President of Marketing, Falkonry
Open source culture
Kubernetes Customer
Introduction Resources
deep dive stories
Azure Kubernetes
Service Related tools Open source
(AKS) & services culture
Community
Open source container Numerous open Open source Ongoing partner and
code contributions source project builds community leadership customer growth
Linux VMs are ~60% of 3rd
Azure is a growing at Microsoft party Azure
strong ~2 times announced 1 in 3 VMs on Marketplace
platform for Windows GitHub Azure are images are
Open Source VMs today acquisition Linux open source Partnerships
Two members of the Member of the Board member of the Several leads or
Kubernetes technical board of the Linux Foundation co-leads of
steering committee Cloud Native Kubernetes SIGs
Compute Foundation (special
interest groups)
open source
Helm – The de-facto Draft – A rapid- Brigade – Easy to use Kubernetes + VS-Code
package manager for development javascript based (https://github.com/Az
kubernetes (https://helm.sh), environment for new workflow definition for ure/vscode-
Top level CNCF project kubernetes kubernetes kubernetes-tools )
developers (https://brigade.sh)
(https://draft.sh)
Open Source @ Microsoft
Kubernetes Customer
Introduction Resources
deep dive stories
Azure Kubernetes
Service Related tools Open source
(AKS) & services culture
Check out resources
Sign up for a free Azure account Check out the Azure container videos page
• Azure Kubernetes Service (AKS)
• Smart Hotel 360 Demo
• Documentation resources
• Ebook for distributed systems
• Distributed system HoL
• AKS HoL
Hone your skills with Azure training Get the code from GitHub
Download free ebooks
CloudOps
Microsoft Hackfest 2018
Own your destiny in the cloud
Some Background on CloudOps CLOUDOPS.COM | 137
● Community leaders: K8s and CNCF meetups, RHUG, DevOps, Docker, Tungsten Fabric Ambassador,
● Founded in 2005: ~ 50 employees (Toronto and Montreal), +30% growth YOY past 6 years
How We Help
CLOUDOPS.COM | 138
DevOps Platform
Workshops
Transformation Assessments
Augmented
Managed Services Cloud Services
Support
CloudOps Services CLOUDOPS.COM | 139
● Consulting Services :
Assessments, design & implementation
Find us on
Own your destiny
in the cloud
Partner with CloudOps to transform, support and
evolve your DevOps and cloud native practice
Kubernetes Customer
Introduction Resources
deep dive stories
Azure Kubernetes
Service Related tools Open source
(AKS) & services culture