Anda di halaman 1dari 143

Prerequisites

• Get Docker-machine installed on Azure Cloud Shell and


provision Docker VM – follow the instructions below:
• https://aka.ms/aks-hackfest-setup
• Use Azure Cloud Shell all throughout the lab
• We will use the newest feature of Azure Cloud Shell –
code
• If you don’t have an Azure subscription, get one free
here: https://azure.microsoft.com/es-es/free/
Contents
Topic

Cloud Native Applications, Containers, and Docker

Kubernetes Overview, Azure Kubernetes Service

Kubernetes Deep Dive, Operations / Management Concepts, Scaling, Upgrading

Related tools & services: ACS Engine, ACI, ACR, OSBA, Helm, DevOps Project, Dev Spaces

Customer stories, OSS culture, Resources and Wrap up


Table of contents

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

“Unlimited” Scale Global reach Rapid innovation -


> time to market
From traditional app to modern app

APP

Modern Containerize Modern


Existing
Infrastructure Applications Microservices
Application
rehost as VMs Re-architect Add new services
or refresh to apps for scale or start peeling off
modern with containers. services from
container monolithic code.
platform.

On-Premises IaaS Containers PaaS Serverless


Infrastructure Platform Infrastructure Platform Container Platform Application Platform
“lift & shift”
✓ Independent deployments ✓ Multiple languages / diversity
✓ Enables continuous delivery ✓ Smaller, focused teams
✓ No downtime upgrades ✓ Code can be organized around
✓ Improved scale and resource business capabilities
utilization per service ✓ Autonomous developer teams
✓ Fault isolation
✓ Security isolation
✓ Services can be distributed across
multiple servers or environments
✓ Deployment is complex ✓ Distributed services adds more
✓ Testing is difficult network communication
Increased network hops
✓ Debugging is difficult ✓
✓ Requires failure/recovery code
✓ Monitoring/Logging is difficult ✓ Need service discovery solution
✓ New service versions must ✓ Advanced DevOps capability:
support old/new API contracts short-term pain for long-term
✓ Distributed databases make gain
transactions hard
✓ Cluster and orchestration tools
overhead
http://12factor.net
1. Single root repo; don’t share code with another app
2. Deploy dependent libs with app
3. No config in code; read from environment vars
4. Handle unresponsive app dependencies robustly
5. Strictly separate build, release, & run steps
• Build: Builds a version of the code repo & gathers dependencies
• Release: Combines build with config ReleaseId (immutable)
• Run: Runs app in execution environment
6. App executes as 1+ stateless process & shares nothing
7. App listens on ports; avoid using (web) host
8. Use processes for isolation; multiple for concurrency
9. Processes can crash/be killed quickly & start fast
10.Keep dev, staging, & prod environments similar
11.Log to stdout (dev=console; prod=file & archived)
12.Deploy & run admin tasks (scripts) as processes
“Microservices is an architectural design point;
containers & serverless are implementation details that
often helps.”
What we hear from developers

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

Container Container Container Container Container Container

Kernel Kernel Kernel

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

Hypervisor 1 Host OS Host OS

Hardware Hardware Hardware

Type 1 Type 2

Virtualization Containerization
The container advantage

Fast Agile Immutability Cost Efficient Elastic


iteration delivery savings deployment bursting

For developers For IT


Containers are gaining momentum
Does your 23%
My org. is evaluating
container technologies
Larger
organization Yes, my org. currently
companies
currently 42% uses container are leading

~60%
technologies
use container No, my org. is not
adoption.2
technologies?1 25% using container
technologies

7% Not sure Nearly 60% percent of organizations


running 500 or more hosts are classified
2% Not applicable as container dabblers or adopters.

The average Container Containers


company hosts often churn
QUINTUPLES
its container
usage within
5x run SEVEN
containers
at a time.1
7x 9 times
FASTER
than VMs.1
9x
9 months.1

Source:
1: Datadog: 8 Surprising Facts About Real Docker Adoption; 2: DZone: The DZone Guide to Deploying and Orchestrating Containers
Industry analysts agree

“By 2020, more than 50% of enterprises will run


mission-critical, containerized cloud-native applications
in production, up from less than 5% today.”
Containers have been around for many years

Docker Inc. did not invent them

Docker makes containers easy

Docker is a container format and a set of tools


Image source: https://docs.docker.com/engine/userguide/storagedriver/imagesandcontainers/#images-and-layers
Pre-requisite: https://aka.ms/aks-hackfest-setup

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

Scheduling Affinity/anti- Health Failover


affinity monitoring

Scaling Networking Service Coordinated


discovery app upgrades
Containers and Kubernetes momentum
“By 2020, more than 50% of enterprises Half of
will run mission-critical, containerized container
cloud-native applications in production.” environment is
orchestrated.1 77%
77% of companies2 who use
container orchestrators choose
Kubernetes.

The average size Larger companies


of a container are leading the
deployment adoption.1
has grown 75% 50%
in one year. 1
75% Nearly 50% of organizations1
running 1000 or more hosts
have adopted containers.

1: Datadog report: 8 Surprising Facts About Real Docker Adoption


2: CNCF survey: cloud-native-technologies-scaling-production-applications
Kubernetes: the industry leading orchestrator

Portable Extensible Self-healing


Public, private, hybrid, Modular, pluggable, Auto-placement, auto-restart,
multi-cloud hookable, composable auto-replication, auto-scaling
Azure container strategy

Embrace containers Support containers Democratize


as ubiquitous across the compute container technology
portfolio
How Managed Kubernetes
on Azure works
API Server etcd store

Scheduler Controller Mgr

Azure managed control plane


Cloud
Controller

Master Node(s) – self managed


innovation
Managed Kubernetes Responsibilities DIY with Kubernetes Managed Kubernetes on Azure
empowers you to do more
Containerization

Focus on your containers Application iteration,


debugging
and code, not the plumbing
of them. CI/CD

Cluster hosting

Cluster upgrade

Patching

Scaling Customer

Monitoring and logging Microsoft


Azure Kubernetes Service (AKS)

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

OpenShift SQL Database


Azure Kubernetes Service Fabric Batch
Service (AKS)
Pivotal Cloud ACS
Redis Cache
Foundry Engine

Docker Enterprise
CosmosDB Virtual kubelet
Edition

Mesosphere Azure Container Azure Virtual Virtual Machine


And more! Instances (ACI) Machines Scale Sets
DC/OS
(VMSS)

IaaS
Azure
Deploy and manage Scale and run Secure your
Kubernetes with ease applications with Kubernetes
confidence environment

Accelerate containerized Work how you want Set up CI/CD in a


application with open-source tools few clicks
development & APIs
Kubernetes made easy – get the most complete and simple end-to-end experience
for seamless Kubernetes lifecycle management on Azure
Deploy and manage Scale and run applications Secure your Kubernetes
Kubernetes with ease with confidence environment
• Free managed control plane • Built-in auto scaling • Control access through AAD
for auto upgrades, patching • Global data center to boost and RBAC
and self healing performance and reach • Safeguard keys and secrets
• Provision with portal, CLI, • Elastically burst from AKS with Key Vault
ARM, or Terraform cluster using ACI • Secure network
• Full visibility with integrated communication with VNET
monitoring and logging and CNI

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

Task The Old Way With Azure

Create a cluster Provision network and VMs az aks create


Install dozens of system components including etcd
Create and install certificates
Register agent nodes with control plane

Upgrade a cluster Upgrade your master nodes az aks upgrade


Cordon/drain and upgrade worker nodes individually

Scale a cluster Provision new VMs az aks scale


Install system components
Register nodes with API server
Accelerate containerized application development

Task The Old Way With Azure

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

Task The Old Way With Azure

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

port 3000 port 8080

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)

Open Service Run containers Increase agility Secure applications


Broker API (OSBA) without managing with containers on with hypervisor
servers demand isolation

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)

Release Data processing jobs


Automation Tools
ACS Engine
Azure Container Instances (ACI)
Get started easily

Azure Container $ az container create --name mycontainer --image microsoft/aci-helloworld --


Instances (ACI) resource-group myResourceGroup --ip-address public

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

Azure Container Pod Waste


Pod Pod Waste
Pod
Instances (ACI)
Pod Pod Pod Pod

Pod Pod Pod Pod Pod


Azure Container
Registry (ACR) Pod Pod Pod Pod Pod
Application
architect

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

Pod Pod Pod Pod


Release
Automation Tools
VM VM
ACS Engine
Azure Container Instances (ACI) PREVIEW

Resources

Azure Container • Azure Container Instances (ACI) Azure Container Instances


Instances (ACI)
webpage
• ACI videos
• ACI technical documentation
Azure Container
Registry (ACR) • ACI pricing details
• ACI roadmap Using Kubernetes with Azure Container Instances

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.

Open Service Broker


for Azure (OSBA)

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

Open Service Broker


for Azure (OSBA)

Each registry is pulling


from a local, network
close, reliable registry
Release
Automation Tools
Built-in
ACS Engine

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)

az acr build-task create


–-image helloworld{{.Build.ID}}
--name myBuildTask
Open Service Broker --registry jengademos
for Azure (OSBA)
--context https://github.com/me/helloworld
--branch master
--git-access-token $PAT

Release
Automation Tools
Azure Container Registry
ACS Engine
Resources

Azure Container • Azure Container Registry webpage


Creating, configuring the Azure
Instances (ACI)
Container Registry
• Registry technical documentation
• Registry pricing details
Azure Container • Registry roadmap
Registry (ACR)

Open Service Broker


for Azure (OSBA)

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 SQL Database Redis Cache CosmosDB And more!


Azure Container
Instances (ACI)

Azure Container
Registry (ACR)
Open Service Broker
for Azure (OSBA)

Open Service Broker


for Azure (OSBA)

Release OpenShift Cloud Foundry Service Fabric Kubernetes


Automation Tools (Coming soon) (AKS)
Open Service Broker for Azure (OSBA)
ACS Engine
Getting started with ease

Azure Container
Instances (ACI)

Azure Container
Registry (ACR)

Open Service Broker


for Azure (OSBA)

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

• Integrating with Azure-managed


services using OSBA
Azure Container
Registry (ACR)
Open Service Broker for Azure

Open Service Broker


for Azure (OSBA)

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

• Start with: https://github.com/Microsoft/openshift-container-platform


• OpenShift on Azure Reference Architecture
• Azure Resource Manager-based Quick Start Template
– Custom Script Extension → Configuration and Ansible deployment
– Azure KeyVault for private SSH key storage
• User/Password-based auth
• xip.io for app DNS

110
Reference material

OpenShift Container Platform Product Documentation

OpenShift Container Platform on Azure Reference Architecture

OpenShift Container Platform on Azure Test Drive

Dive into OpenShift Container Platform on Azure (Video)

OpenShift BYOL Marketplace Image

111
ACS Engine

Azure Container Product


Owner
Instances (ACI)
Azure Monitor

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)

more frequent deployments lower change failure rate


Azure Container
Registry (ACR)

Open Service Broker


for Azure (OSBA)
440x
faster deployments
440x
shorter lead times

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)

Manage complexity Easy updates Simple sharing Rollbacks


Charts can describe complex Take the pain out Charts are easy to Use helm rollback
apps; provide repeatable of updates with in- version, share, and host to roll back to an older
Open Service Broker app installs, and serve as a place upgrades and on public or private version of a release
for Azure (OSBA)
single point of authority custom hooks servers with ease

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

Open Service Broker


for Azure (OSBA)

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

Challenge: Siemens needed to speed up their development process to make the


transition from value-added services provider to platform provider.

Solution: Siemens adopted Azure Kubernetes Service (AKS) to speed up application


development and run their microservices-based apps.

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

Challenge: To meet aggressive growth goals, Ambit Energy needed to automate


infrastructure provisioning to match their pace of new software creation.

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.

Azure support for Docker, Kubernetes, Puppet, Terraform, Cassandra, and


other open source tools has become very important to us and has really
accelerated our move into Azure.
Robert Rudduck, Director of Architecture and DevOps, Ambit Energy
Altair Engineering democratizes HPC access
using the cloud

Challenge: Altair needed a specialized HPC architecture containing high-performance


graphics processing units to deliver their latest topology optimization and
analysis application to customers.
Solution: Altair used Kubernetes in Azure Container Service to handle back-end
functions and increase the density of services running across compute
nodes.
Outcome: With Azure, Altair provides customers with a scalable, cost-effective back-
end HPC infrastructure, eliminating the need for expensive engineering
workstations.

Customers are limited as to what they can do on workstations, but with


Azure we can give them a scalable, cost-effective back-end HPC
infrastructure.
Sam Mahalingam, Chief Technical Officer Cloud Computing and High-Performance
Computing Strategy, Altair Engineering
Cancer treatment company streamlines IT,
focuses on innovation using container software
technology
Challenge: Varian needed to provide broader cancer care and enable faster innovation
for the benefit of cancer patients.

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.

Solution: Falkonry used Azure Kubernetes Service to automate the deployment of


Kubernetes clusters to deliver their application globally.

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

“Microsoft Joins Cloud Native Computing Foundation as Platinum Member”


Microsoft leads open source communities

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

#2 overall #4 overall individual #1-3 overall 70 Microsoft


individual contributor to individual employees have
contributor to Docker (John contributors to made
Kubernetes Howard) Helm contributions to
(Brendan Burns) Kubernetes
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

Ross Gardler Jessie Frazelle Brendan Burns Gabe Monroy


Apache Foundation Docker / Linux Kubernetes Deis / CNCF
Principal Program Manager Principal Cloud Developer Advocate Distinguished Engineer Principal Program Manager
Resources

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

● Kubernetes Certified Service Provider and Kubernetes Training Partner (1 of 12 globally)

● Partnership with Microsoft since 2012

● Community leaders: K8s and CNCF meetups, RHUG, DevOps, Docker, Tungsten Fabric Ambassador,

OpenStack Ambassador, and CNCF 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

● Infrastructure consulting services


● App platform consulting services
● Lift and shift

Augmented
Managed Services Cloud Services
Support
CloudOps Services CLOUDOPS.COM | 139

● Training and Enablement :


Workshops, hackathons, labs and training

● Consulting Services :
Assessments, design & implementation

● Support and Managed Services :


24x7 operations augmented support or SOC2 managed services (DevOps-as-a-Service)
Training and Enablement
Training and workshops with hands-on labs

DevOps Transformation including à la carte workshops and hackathons:

● AKS, Docker & Kubernetes ● DevOps Monitoring

● Secrets Management ● Infrastructure as Code

● CI/CD ● Monolith to microservices


Join the Community
We run DevOps and Open source meetup across Canada

In Toronto and Kitchener-Waterloo (+Montreal, Ottawa and Quebec CIty

Find us on
Own your destiny
in the cloud
Partner with CloudOps to transform, support and
evolve your DevOps and cloud native practice

Cloud and code agnostic, but opinionated


Wrap up

Kubernetes Customer
Introduction Resources
deep dive stories

Azure Kubernetes
Service Related tools Open source
(AKS) & services culture

Anda mungkin juga menyukai