![Page 1: Linux A first-class citizen in Windows Azure · MongoDB The widely-used NoSQL datastore. Elasticsearch Full text search. CAdvisor Used by Kubernetes to collect metrics from containers](https://reader034.vdocuments.us/reader034/viewer/2022042206/5ea8034d96c3011cad020086/html5/thumbnails/1.jpg)
Linux – A first-class citizen in Windows Azure
Bruno Terkaly
Principal Software Engineer
Mobile/Cloud/Startup/Enterprise
1
![Page 2: Linux A first-class citizen in Windows Azure · MongoDB The widely-used NoSQL datastore. Elasticsearch Full text search. CAdvisor Used by Kubernetes to collect metrics from containers](https://reader034.vdocuments.us/reader034/viewer/2022042206/5ea8034d96c3011cad020086/html5/thumbnails/2.jpg)
First, I am software developer (C/C++, ASM, C#, Java, Node.js, etc)
O’Reilly Author (Just about to release my second 8 hour course)
I help companies migrate off monolithic architectures
Support Executive Escalations, Evaluate potential acquisitions/partnerships for leadership team
Onboard strategically important ISVs onto Azure - focusing on Linux-based workloads.
Currently, focusing on distributed architectures, the democratization of container-based workloads
Excited about platform-as-a-service abstractions to manage large distributed workloads.
![Page 3: Linux A first-class citizen in Windows Azure · MongoDB The widely-used NoSQL datastore. Elasticsearch Full text search. CAdvisor Used by Kubernetes to collect metrics from containers](https://reader034.vdocuments.us/reader034/viewer/2022042206/5ea8034d96c3011cad020086/html5/thumbnails/3.jpg)
![Page 4: Linux A first-class citizen in Windows Azure · MongoDB The widely-used NoSQL datastore. Elasticsearch Full text search. CAdvisor Used by Kubernetes to collect metrics from containers](https://reader034.vdocuments.us/reader034/viewer/2022042206/5ea8034d96c3011cad020086/html5/thumbnails/4.jpg)
Microsoft Azure – A Cloud offering choiceGoals for today
IT Infrastructure Storage
Marketplace Global
Strategy
Cloud
Continuous
Availability
Connect To
Cloud Services
Dynamic
Infrastructure
Introduction To Azure
Tour Through The Azure Portal
Tour In Azure Data Center
Provisioning Infrastructure From The Portal
Provisioning Open Source Software
Linux Marketplace Offerings
Containers, Distributed Computing And Microservices
2
![Page 5: Linux A first-class citizen in Windows Azure · MongoDB The widely-used NoSQL datastore. Elasticsearch Full text search. CAdvisor Used by Kubernetes to collect metrics from containers](https://reader034.vdocuments.us/reader034/viewer/2022042206/5ea8034d96c3011cad020086/html5/thumbnails/5.jpg)
Platform Services
Security & Management
Infrastructure Services
Web Apps
MobileApps
APIManagement
APIApps
LogicApps
NotificationHubs
Content DeliveryNetwork (CDN)
MediaServices
HDInsight MachineLearning
StreamAnalytics
DataFactory
EventHubs
MobileEngagement
ActiveDirectory
Multi-FactorAuthentication
Automation
Portal
Key Vault
BiztalkServices
HybridConnections
ServiceBus
StorageQueues
Store /Marketplace
HybridOperations
Backup
StorSimple
SiteRecovery
Import/Export
SQLDatabase
DocumentDB
RedisCache Search
Tables
SQL DataWarehouse
Azure AD Connect Health
AD PrivilegedIdentity Management
OperationalInsights
CloudServices
Batch Remote App
ServiceFabric Visual Studio
ApplicationInsights
Azure SDK
Team Project
VM Image Gallery& VM Depot
![Page 6: Linux A first-class citizen in Windows Azure · MongoDB The widely-used NoSQL datastore. Elasticsearch Full text search. CAdvisor Used by Kubernetes to collect metrics from containers](https://reader034.vdocuments.us/reader034/viewer/2022042206/5ea8034d96c3011cad020086/html5/thumbnails/6.jpg)
A quick tour with the portal
Demo
![Page 7: Linux A first-class citizen in Windows Azure · MongoDB The widely-used NoSQL datastore. Elasticsearch Full text search. CAdvisor Used by Kubernetes to collect metrics from containers](https://reader034.vdocuments.us/reader034/viewer/2022042206/5ea8034d96c3011cad020086/html5/thumbnails/7.jpg)
Quick Data Center Tour
Where to run Linux workloads
Demo
![Page 8: Linux A first-class citizen in Windows Azure · MongoDB The widely-used NoSQL datastore. Elasticsearch Full text search. CAdvisor Used by Kubernetes to collect metrics from containers](https://reader034.vdocuments.us/reader034/viewer/2022042206/5ea8034d96c3011cad020086/html5/thumbnails/8.jpg)
Azure Security
![Page 9: Linux A first-class citizen in Windows Azure · MongoDB The widely-used NoSQL datastore. Elasticsearch Full text search. CAdvisor Used by Kubernetes to collect metrics from containers](https://reader034.vdocuments.us/reader034/viewer/2022042206/5ea8034d96c3011cad020086/html5/thumbnails/9.jpg)
![Page 10: Linux A first-class citizen in Windows Azure · MongoDB The widely-used NoSQL datastore. Elasticsearch Full text search. CAdvisor Used by Kubernetes to collect metrics from containers](https://reader034.vdocuments.us/reader034/viewer/2022042206/5ea8034d96c3011cad020086/html5/thumbnails/10.jpg)
Code
JSON
![Page 11: Linux A first-class citizen in Windows Azure · MongoDB The widely-used NoSQL datastore. Elasticsearch Full text search. CAdvisor Used by Kubernetes to collect metrics from containers](https://reader034.vdocuments.us/reader034/viewer/2022042206/5ea8034d96c3011cad020086/html5/thumbnails/11.jpg)
![Page 12: Linux A first-class citizen in Windows Azure · MongoDB The widely-used NoSQL datastore. Elasticsearch Full text search. CAdvisor Used by Kubernetes to collect metrics from containers](https://reader034.vdocuments.us/reader034/viewer/2022042206/5ea8034d96c3011cad020086/html5/thumbnails/12.jpg)
DEMO: Let’s go view all the templates
![Page 13: Linux A first-class citizen in Windows Azure · MongoDB The widely-used NoSQL datastore. Elasticsearch Full text search. CAdvisor Used by Kubernetes to collect metrics from containers](https://reader034.vdocuments.us/reader034/viewer/2022042206/5ea8034d96c3011cad020086/html5/thumbnails/13.jpg)
Quick Start Templates[ jump start the creation of cloud infrastructure]
Demo
![Page 14: Linux A first-class citizen in Windows Azure · MongoDB The widely-used NoSQL datastore. Elasticsearch Full text search. CAdvisor Used by Kubernetes to collect metrics from containers](https://reader034.vdocuments.us/reader034/viewer/2022042206/5ea8034d96c3011cad020086/html5/thumbnails/14.jpg)
Provisioning Resources With
The Azure Resource Manager
(The ARM)
Demo
![Page 15: Linux A first-class citizen in Windows Azure · MongoDB The widely-used NoSQL datastore. Elasticsearch Full text search. CAdvisor Used by Kubernetes to collect metrics from containers](https://reader034.vdocuments.us/reader034/viewer/2022042206/5ea8034d96c3011cad020086/html5/thumbnails/15.jpg)
Deploying Github
Demo
![Page 16: Linux A first-class citizen in Windows Azure · MongoDB The widely-used NoSQL datastore. Elasticsearch Full text search. CAdvisor Used by Kubernetes to collect metrics from containers](https://reader034.vdocuments.us/reader034/viewer/2022042206/5ea8034d96c3011cad020086/html5/thumbnails/16.jpg)
Demo
Deploying a
MySQL
cluster
![Page 17: Linux A first-class citizen in Windows Azure · MongoDB The widely-used NoSQL datastore. Elasticsearch Full text search. CAdvisor Used by Kubernetes to collect metrics from containers](https://reader034.vdocuments.us/reader034/viewer/2022042206/5ea8034d96c3011cad020086/html5/thumbnails/17.jpg)
Virtual Network
Data Tier
MySQL / Percona Cluster
Web Tier
Let’s build out the data tier with ARM templates
The Data Tier can be built out with 1 command
Application Tier
Needed Infrastructure
![Page 18: Linux A first-class citizen in Windows Azure · MongoDB The widely-used NoSQL datastore. Elasticsearch Full text search. CAdvisor Used by Kubernetes to collect metrics from containers](https://reader034.vdocuments.us/reader034/viewer/2022042206/5ea8034d96c3011cad020086/html5/thumbnails/18.jpg)
The birth of
the container
![Page 19: Linux A first-class citizen in Windows Azure · MongoDB The widely-used NoSQL datastore. Elasticsearch Full text search. CAdvisor Used by Kubernetes to collect metrics from containers](https://reader034.vdocuments.us/reader034/viewer/2022042206/5ea8034d96c3011cad020086/html5/thumbnails/19.jpg)
The ability to break a problem into smaller pieces is always
beneficial in unexpected ways, and containers offer a way of
doing that on a scale not possible before.
![Page 20: Linux A first-class citizen in Windows Azure · MongoDB The widely-used NoSQL datastore. Elasticsearch Full text search. CAdvisor Used by Kubernetes to collect metrics from containers](https://reader034.vdocuments.us/reader034/viewer/2022042206/5ea8034d96c3011cad020086/html5/thumbnails/20.jpg)
Container Essential Value Propositions
Running apps in isolation
Abstracting the plumbing
Democratizing distributed applications
Running anywhere
Getting to production
Higher Application Density
Predictable Dev Test Prod
19
![Page 21: Linux A first-class citizen in Windows Azure · MongoDB The widely-used NoSQL datastore. Elasticsearch Full text search. CAdvisor Used by Kubernetes to collect metrics from containers](https://reader034.vdocuments.us/reader034/viewer/2022042206/5ea8034d96c3011cad020086/html5/thumbnails/21.jpg)
Not just about optimizing application performance
Focus now is optimizing the speed of service delivery
More than just about cost
It is about creating new revenue streams
Mobile-first and user-friendly big data applications
Driving Docker Value
Simple to develop
Simple to deploy
Simple to scale
Containerization and Microservices
Passenger Management
Billing
Passenger Web User Interface
Driver Management Payments
Driver Web UITrip
Management Notification
REST API
REST API
REST API
REST API
REST API
REST API
API
20
![Page 22: Linux A first-class citizen in Windows Azure · MongoDB The widely-used NoSQL datastore. Elasticsearch Full text search. CAdvisor Used by Kubernetes to collect metrics from containers](https://reader034.vdocuments.us/reader034/viewer/2022042206/5ea8034d96c3011cad020086/html5/thumbnails/22.jpg)
Dockerized app
Run anywhere
![Page 23: Linux A first-class citizen in Windows Azure · MongoDB The widely-used NoSQL datastore. Elasticsearch Full text search. CAdvisor Used by Kubernetes to collect metrics from containers](https://reader034.vdocuments.us/reader034/viewer/2022042206/5ea8034d96c3011cad020086/html5/thumbnails/23.jpg)
A NEW ARCHITECTURAL STYLE
22
![Page 24: Linux A first-class citizen in Windows Azure · MongoDB The widely-used NoSQL datastore. Elasticsearch Full text search. CAdvisor Used by Kubernetes to collect metrics from containers](https://reader034.vdocuments.us/reader034/viewer/2022042206/5ea8034d96c3011cad020086/html5/thumbnails/24.jpg)
Most Widely Used Images
NGINXDocker is being used to contain a lot of HTTP servers, it seems. It is interesting that
Apache (httpd) didn’t make the top 10.
RedisThis popular in-memory key/value data store is often used as an in-memory
database, message queue, or cache.
Ubuntu Still the default to build images.
LogspoutFor collecting logs from all containers on a host, and routing them to wherever
they need to go.
MongoDB The widely-used NoSQL datastore.
Elasticsearch Full text search.
CAdvisor Used by Kubernetes to collect metrics from containers.
MySQLThe most widely used open source database in the world.
Postgres
The second-most widely used open source database in the world. Adding the
Postgres and MySQL numbers, it appears that using Docker to run relational
databases is surprisingly common.
23
![Page 25: Linux A first-class citizen in Windows Azure · MongoDB The widely-used NoSQL datastore. Elasticsearch Full text search. CAdvisor Used by Kubernetes to collect metrics from containers](https://reader034.vdocuments.us/reader034/viewer/2022042206/5ea8034d96c3011cad020086/html5/thumbnails/25.jpg)
Microservices
Microservices are currently getting a lot of attention
Articles
Blogs
Social media
Conference presentations
( like this one )
Micrososervices are architectural style
A single application as a suite of small services
Each service runs running in its own process
Serivce communication via lightweight mechanisms
Often with an HTTP protocol
A potential architecture to build your own taxi service
Microservices unlock
the real payoff for
containers
They are vehicle for
those independently
deployable pieces
24
Passenger Management
Billing
Passenger Web User Interface
Driver Management Payments
Driver Web UITrip
Management Notification
REST API
REST API
REST API
REST API
REST API
REST API
API
![Page 26: Linux A first-class citizen in Windows Azure · MongoDB The widely-used NoSQL datastore. Elasticsearch Full text search. CAdvisor Used by Kubernetes to collect metrics from containers](https://reader034.vdocuments.us/reader034/viewer/2022042206/5ea8034d96c3011cad020086/html5/thumbnails/26.jpg)
Virtual Machines
Containerization
![Page 27: Linux A first-class citizen in Windows Azure · MongoDB The widely-used NoSQL datastore. Elasticsearch Full text search. CAdvisor Used by Kubernetes to collect metrics from containers](https://reader034.vdocuments.us/reader034/viewer/2022042206/5ea8034d96c3011cad020086/html5/thumbnails/27.jpg)
Where can you run these containers? Azure Cloud-hosted Server
Host OS (Windows)
Generally you run one app per
container, although more is
possible.
Bare Metal
Virtual
Cloud
Hosted in a cloud on VMs
HyperVisor
Docker VM Extension
Guest OS (Linux)
Docker Daemon
Container 1 Container 2
App A
App B
App C
App D
26
![Page 28: Linux A first-class citizen in Windows Azure · MongoDB The widely-used NoSQL datastore. Elasticsearch Full text search. CAdvisor Used by Kubernetes to collect metrics from containers](https://reader034.vdocuments.us/reader034/viewer/2022042206/5ea8034d96c3011cad020086/html5/thumbnails/28.jpg)
Hypervisor
Server
Virtual Machine
Guest OSNO Container Support
App ABins/Libraries
App BBins/Libraries
Guest OSw/ Container Support
Container
App ABins/Libraries
Guest OSNO Container Support
App BBins/Libraries
![Page 29: Linux A first-class citizen in Windows Azure · MongoDB The widely-used NoSQL datastore. Elasticsearch Full text search. CAdvisor Used by Kubernetes to collect metrics from containers](https://reader034.vdocuments.us/reader034/viewer/2022042206/5ea8034d96c3011cad020086/html5/thumbnails/29.jpg)
Most Widely Used Images
NGINXDocker is being used to contain a lot of HTTP servers, it seems. It is interesting that
Apache (httpd) didn’t make the top 10.
RedisThis popular in-memory key/value data store is often used as an in-memory
database, message queue, or cache.
Ubuntu Still the default to build images.
LogspoutFor collecting logs from all containers on a host, and routing them to wherever
they need to go.
MongoDB The widely-used NoSQL datastore.
Elasticsearch Full text search.
CAdvisor Used by Kubernetes to collect metrics from containers.
MySQLThe most widely used open source database in the world.
Postgres
The second-most widely used open source database in the world. Adding the
Postgres and MySQL numbers, it appears that using Docker to run relational
databases is surprisingly common.
28
![Page 30: Linux A first-class citizen in Windows Azure · MongoDB The widely-used NoSQL datastore. Elasticsearch Full text search. CAdvisor Used by Kubernetes to collect metrics from containers](https://reader034.vdocuments.us/reader034/viewer/2022042206/5ea8034d96c3011cad020086/html5/thumbnails/30.jpg)
Orchestration SolutionsOrchestration Management
CloudCloud
![Page 31: Linux A first-class citizen in Windows Azure · MongoDB The widely-used NoSQL datastore. Elasticsearch Full text search. CAdvisor Used by Kubernetes to collect metrics from containers](https://reader034.vdocuments.us/reader034/viewer/2022042206/5ea8034d96c3011cad020086/html5/thumbnails/31.jpg)
![Page 32: Linux A first-class citizen in Windows Azure · MongoDB The widely-used NoSQL datastore. Elasticsearch Full text search. CAdvisor Used by Kubernetes to collect metrics from containers](https://reader034.vdocuments.us/reader034/viewer/2022042206/5ea8034d96c3011cad020086/html5/thumbnails/32.jpg)
Docker Swarm Manager
Microsoft Azure
Swarm
Node
Swarm
Node
Swarm
Node
Docker daemon
Swarm Agent
Docker daemon
Swarm Agent
Docker daemon
Swarm Agent
Docker HubImage repositories
NGINX
PHP
Java
Docker APIs over HTTP
Docker Client
Microsoft Azure
Docker daemon
Swarm Agent
1
2 3 4
Running containers
![Page 33: Linux A first-class citizen in Windows Azure · MongoDB The widely-used NoSQL datastore. Elasticsearch Full text search. CAdvisor Used by Kubernetes to collect metrics from containers](https://reader034.vdocuments.us/reader034/viewer/2022042206/5ea8034d96c3011cad020086/html5/thumbnails/33.jpg)
Docker Swarm Manager
Microsoft Azure
Swarm
Node
Swarm
Node
Swarm
Node
Docker daemon
Swarm Agent
Docker daemon
Swarm Agent
Docker daemon
Swarm Agent
Docker HubImage repositories
NGINX
PHP
Java
Docker APIs over HTTP
Docker Client
Microsoft Azure
Docker daemon
Swarm Agent
1
2 3 4
Running containers
![Page 34: Linux A first-class citizen in Windows Azure · MongoDB The widely-used NoSQL datastore. Elasticsearch Full text search. CAdvisor Used by Kubernetes to collect metrics from containers](https://reader034.vdocuments.us/reader034/viewer/2022042206/5ea8034d96c3011cad020086/html5/thumbnails/34.jpg)
Docker Swarm Manager
Microsoft Azure
Swarm
Node
Swarm
Node
Swarm
Node
Docker daemon
Swarm Agent
Docker daemon
Swarm Agent
Docker daemon
Swarm Agent
Docker HubImage repositories
NGINX
PHP
Java
Docker APIs over HTTP
Docker Client
Microsoft Azure
Docker daemon
Swarm Agent
1
2 3 4
Running containers
![Page 35: Linux A first-class citizen in Windows Azure · MongoDB The widely-used NoSQL datastore. Elasticsearch Full text search. CAdvisor Used by Kubernetes to collect metrics from containers](https://reader034.vdocuments.us/reader034/viewer/2022042206/5ea8034d96c3011cad020086/html5/thumbnails/35.jpg)
docker-compose.yml
docker-compose.yml
![Page 36: Linux A first-class citizen in Windows Azure · MongoDB The widely-used NoSQL datastore. Elasticsearch Full text search. CAdvisor Used by Kubernetes to collect metrics from containers](https://reader034.vdocuments.us/reader034/viewer/2022042206/5ea8034d96c3011cad020086/html5/thumbnails/36.jpg)
Docker Swarm Manager
Microsoft Azure
Swarm
Node
Swarm
Node
Swarm
Node
Docker daemon
Swarm Agent
Docker daemon
Swarm Agent
Docker daemon
Swarm Agent
Docker HubImage repositories
NGINX
PHP
Java
Docker APIs over HTTP
Docker Client
Microsoft Azure
Docker daemon
Swarm Agent
1
2 3 4
Running containers
Last content slide
![Page 37: Linux A first-class citizen in Windows Azure · MongoDB The widely-used NoSQL datastore. Elasticsearch Full text search. CAdvisor Used by Kubernetes to collect metrics from containers](https://reader034.vdocuments.us/reader034/viewer/2022042206/5ea8034d96c3011cad020086/html5/thumbnails/37.jpg)
Linux – A first-class citizen in Windows Azure
Bruno Terkaly
Principal Software Engineer
Mobile/Cloud/Startup/Enterprise
Conclusion
Wrap up
Questions?
![Page 38: Linux A first-class citizen in Windows Azure · MongoDB The widely-used NoSQL datastore. Elasticsearch Full text search. CAdvisor Used by Kubernetes to collect metrics from containers](https://reader034.vdocuments.us/reader034/viewer/2022042206/5ea8034d96c3011cad020086/html5/thumbnails/38.jpg)