SlideShare a Scribd company logo
Making Sense of Containers
in the Microsoft Cloud
A DevOps Story
Patriek van Dorp
Cloud Solution Architect – Azure Apps
Making sense of Containers
Everybody says they know why,
but do they really understand the benefits?
9 - Making Sense of Containers in the Microsoft Cloud
Benefits of Containers
• Predictable dimensions
• Protect against damage from outside
• Protect against damage from inside
• Standard way of ‘shipping’
• They keep ‘stuff’ together
• Almost anything can be put in
• Once locked, the content is fixed
• Easy to move them around
• But…
LXD
Container Orchestration
Making sure Containers are adding value!
Container Orchestration
• Containers alone do not add value
• It’s the Orchestration that puts the Containers where they’re
supposed to be
• Ensuring the right balance and optimal use of space
• It makes sure Containers are placed on the infrastructure
delivering them to there customers
• Only when the customers receive the Containers they add
value
9 - Making Sense of Containers in the Microsoft Cloud
9 - Making Sense of Containers in the Microsoft Cloud
OpenShift and Azure
The Orchestrator and The Platform
Core
OpenShift Architecture
Master
API/Authentication
Data Store
Scheduling
Health/Scaling
Worker Pool
Node
PodPod
Pod Pod
Node
Pod
Pod
Pod
Pod
Node
Pod
PodPod
Pod
Storage
Registry
Service Layer
Routing Layer
Infrastructure PHYSICAL VIRTUAL PRIVATE PUBLIC HYBRID
EXISTING
AUTOMATION
TOOLSETS
SCM
(GIT)
CI/CD
9 - Making Sense of Containers in the Microsoft Cloud
Infrastructure Architecture
Master Nodes StorageInfra
• The Master nodes are very important, but do not deliver
value to your customers
• Consider the configuration and maintenance efforts
needed to run this in Virtual Machines
• And consider the cost that go with it
ARM Template Deployments
SQL - A Website Virtual
Machines
SQL-A
Website
[SQL CONFIG] VM (2x)
DEPENDS ON SQLDEPENDS ON SQL
SQL CONFIG
What?
• Source file, can be checked-in
• Specifies resources, dependencies and
connections
• Parameterized input/output
Why?
• Ensure Idempotency
• Simplify orchestration (dependencies,
nested templates)
{
"name": "myVm001",
"type": "Microsoft.Compute/virtualMachines",
"location": “westeurope",
"apiVersion": "2015-05-01-preview",
"dependsOn": [
"'Microsoft.Storage/storageAccounts/myStor001'",
"'Microsoft.Network/networkInterfaces/myNic001'"
],
"tags": {
"displayName": "Web VM"
}
}
Managed OpenShift on Azure
Master Nodes StorageInfra
• The Master nodes will be hidden from the customer
• They will be fully managed by Microsoft at no cost(!)
• Imagine replacing the infrastructure for Storage with fully managed
services as well
• The remaining nodes will be fully managed by Managed OpenShift
on Azure including Network integration, Auto-Scaling, Identity
Management, etc.
Cosmos DB
Database
Storage
Red Hat and Microsoft
Open Source unites!
9 - Making Sense of Containers in the Microsoft Cloud
Microsoft Open Source
2016
.NET Core 1.0
PowerShell Core
Windows Subsystem for
Linux in Windows 10
Microsoft joins
Linux Foundation
GitHub recognizes
Microsoft as a top open
source contributor
2017
Microsoft
Azure Kubernetes
Service launched
Draft, Brigade, Kashti
projects submitted to
Kubernetes community
Microsoft joins Cloud
Native Computing &
Cloud Foundry
Foundations
SQL 2017 on Linux
Windows source code
moved to Git
Azure Databricks
(Apache Spark)
announced
2012 2018
Integrated Support
Integrated Support
DevOps
Align Development and Operations and optimize Resource usage
What is DevOps?
DevOps is the union of people,
process, and products to
enable continuous delivery of
value to your end users.
“
”
Build
&
Test
Continuous
Delivery
Deploy
Operate
Monitor
&
Learn
Plan
&
Track
Develop
PEOPLE. PROCESS. TOOLS.
High Performance DevOps Practices Achieve…
DevOps
Faster
Time to Market
Increased
Revenue
2,604x Faster Mean
Time to Recover
2,555x Faster Lead
Time For Changes
7x Lower Change
Failure Rate
46x Deployment
Frequency
$
Source: 2018 Accelerate: State of DevOps: Strategies for a New Economy." N. Forsgren, J. Humble, G. Kim. DevOps Research and Assessment (DORA)
Continuous Integration (CI)
• Improve software development quality
and speed.
• When you use Azure Pipelines or Jenkins
to build apps in the cloud and deploy to
Azure, each time you commit code, it’s
automatically built and tested and bugs
are detected faster.
Continuous Deployment (CD)
• By combining continuous integration and
infrastructure as code (IaC), you’ll
achieve identical deployments and the
confidence to deploy to production at
any time.
• With continuous deployment, you can
automate the entire process from code
commit to production if your CI/CD tests
are successful.
Continuous Learning & Monitoring
• With Azure Application Insights you can
identify how your applications are
performing and test if the recent
deployment made things better or
worse.
• Using CI/CD practices, paired with
monitoring tools, you’ll be able to safely
deliver features to your customers as
soon as they’re ready.
DevOps with OpenShift
Source to Image (S2I) and Pipelines
OpenShift Source to Image (S2I) Deployment
BUILD APP
(OpenShift)
code
Source-to-
Image
(S2I)
Image Registry
BUILD
IMAGE
(OpenShift)
Builder Image
Application
Container
Developer
Git
Repository
DEPLOY
(OpenShift)
CI/CD Through OpenShift Pipelines
Azure DevOps
A complete suite of tools, and process templates
to facilitate the entire DevOps process
9 - Making Sense of Containers in the Microsoft Cloud
9 - Making Sense of Containers in the Microsoft Cloud
9 - Making Sense of Containers in the Microsoft Cloud
9 - Making Sense of Containers in the Microsoft Cloud
9 - Making Sense of Containers in the Microsoft Cloud
9 - Making Sense of Containers in the Microsoft Cloud
9 - Making Sense of Containers in the Microsoft Cloud
9 - Making Sense of Containers in the Microsoft Cloud
Choose the Tools You Like…
Mix and match to
create
workflows with
tools from
Microsoft, open
source or your
favorite 3rd party
tools
Azure
DevOps lets
developers
choose the
tools that
are right for
them
Target any cloud, on-prem or both and deploy to the servers you need
Thank You
Patriek van Dorp
padorp@microsoft.com
@pvandorp

More Related Content

9 - Making Sense of Containers in the Microsoft Cloud

  • 1. Making Sense of Containers in the Microsoft Cloud A DevOps Story Patriek van Dorp Cloud Solution Architect – Azure Apps
  • 2. Making sense of Containers Everybody says they know why, but do they really understand the benefits?
  • 4. Benefits of Containers • Predictable dimensions • Protect against damage from outside • Protect against damage from inside • Standard way of ‘shipping’ • They keep ‘stuff’ together • Almost anything can be put in • Once locked, the content is fixed • Easy to move them around • But…
  • 5. LXD
  • 6. Container Orchestration Making sure Containers are adding value!
  • 7. Container Orchestration • Containers alone do not add value • It’s the Orchestration that puts the Containers where they’re supposed to be • Ensuring the right balance and optimal use of space • It makes sure Containers are placed on the infrastructure delivering them to there customers • Only when the customers receive the Containers they add value
  • 10. OpenShift and Azure The Orchestrator and The Platform
  • 11. Core OpenShift Architecture Master API/Authentication Data Store Scheduling Health/Scaling Worker Pool Node PodPod Pod Pod Node Pod Pod Pod Pod Node Pod PodPod Pod Storage Registry Service Layer Routing Layer Infrastructure PHYSICAL VIRTUAL PRIVATE PUBLIC HYBRID EXISTING AUTOMATION TOOLSETS SCM (GIT) CI/CD
  • 13. Infrastructure Architecture Master Nodes StorageInfra • The Master nodes are very important, but do not deliver value to your customers • Consider the configuration and maintenance efforts needed to run this in Virtual Machines • And consider the cost that go with it
  • 14. ARM Template Deployments SQL - A Website Virtual Machines SQL-A Website [SQL CONFIG] VM (2x) DEPENDS ON SQLDEPENDS ON SQL SQL CONFIG What? • Source file, can be checked-in • Specifies resources, dependencies and connections • Parameterized input/output Why? • Ensure Idempotency • Simplify orchestration (dependencies, nested templates)
  • 15. { "name": "myVm001", "type": "Microsoft.Compute/virtualMachines", "location": “westeurope", "apiVersion": "2015-05-01-preview", "dependsOn": [ "'Microsoft.Storage/storageAccounts/myStor001'", "'Microsoft.Network/networkInterfaces/myNic001'" ], "tags": { "displayName": "Web VM" } }
  • 16. Managed OpenShift on Azure Master Nodes StorageInfra • The Master nodes will be hidden from the customer • They will be fully managed by Microsoft at no cost(!) • Imagine replacing the infrastructure for Storage with fully managed services as well • The remaining nodes will be fully managed by Managed OpenShift on Azure including Network integration, Auto-Scaling, Identity Management, etc. Cosmos DB Database Storage
  • 17. Red Hat and Microsoft Open Source unites!
  • 19. Microsoft Open Source 2016 .NET Core 1.0 PowerShell Core Windows Subsystem for Linux in Windows 10 Microsoft joins Linux Foundation GitHub recognizes Microsoft as a top open source contributor 2017 Microsoft Azure Kubernetes Service launched Draft, Brigade, Kashti projects submitted to Kubernetes community Microsoft joins Cloud Native Computing & Cloud Foundry Foundations SQL 2017 on Linux Windows source code moved to Git Azure Databricks (Apache Spark) announced 2012 2018
  • 22. DevOps Align Development and Operations and optimize Resource usage
  • 23. What is DevOps? DevOps is the union of people, process, and products to enable continuous delivery of value to your end users. “ ” Build & Test Continuous Delivery Deploy Operate Monitor & Learn Plan & Track Develop PEOPLE. PROCESS. TOOLS.
  • 24. High Performance DevOps Practices Achieve… DevOps Faster Time to Market Increased Revenue 2,604x Faster Mean Time to Recover 2,555x Faster Lead Time For Changes 7x Lower Change Failure Rate 46x Deployment Frequency $ Source: 2018 Accelerate: State of DevOps: Strategies for a New Economy." N. Forsgren, J. Humble, G. Kim. DevOps Research and Assessment (DORA)
  • 25. Continuous Integration (CI) • Improve software development quality and speed. • When you use Azure Pipelines or Jenkins to build apps in the cloud and deploy to Azure, each time you commit code, it’s automatically built and tested and bugs are detected faster. Continuous Deployment (CD) • By combining continuous integration and infrastructure as code (IaC), you’ll achieve identical deployments and the confidence to deploy to production at any time. • With continuous deployment, you can automate the entire process from code commit to production if your CI/CD tests are successful. Continuous Learning & Monitoring • With Azure Application Insights you can identify how your applications are performing and test if the recent deployment made things better or worse. • Using CI/CD practices, paired with monitoring tools, you’ll be able to safely deliver features to your customers as soon as they’re ready.
  • 26. DevOps with OpenShift Source to Image (S2I) and Pipelines
  • 27. OpenShift Source to Image (S2I) Deployment BUILD APP (OpenShift) code Source-to- Image (S2I) Image Registry BUILD IMAGE (OpenShift) Builder Image Application Container Developer Git Repository DEPLOY (OpenShift)
  • 29. Azure DevOps A complete suite of tools, and process templates to facilitate the entire DevOps process
  • 38. Choose the Tools You Like… Mix and match to create workflows with tools from Microsoft, open source or your favorite 3rd party tools Azure DevOps lets developers choose the tools that are right for them Target any cloud, on-prem or both and deploy to the servers you need
  • 39. Thank You Patriek van Dorp padorp@microsoft.com @pvandorp