38
Linux A first - class citizen in Windows Azure Bruno Terkaly [email protected] Principal Software Engineer Mobile/Cloud/Startup/Enterprise 1

Linux A first-class citizen in Windows Azure · Linux –A first-class citizen in Windows Azure ... I am software developer (C/C++, ASM, C#, Java, Node.js, ... Postgres The second-most

  • Upload
    lyhanh

  • View
    225

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Linux A first-class citizen in Windows Azure · Linux –A first-class citizen in Windows Azure ... I am software developer (C/C++, ASM, C#, Java, Node.js, ... Postgres The second-most

Linux – A first-class citizen in Windows Azure

Bruno Terkaly

[email protected]

Principal Software Engineer

Mobile/Cloud/Startup/Enterprise

1

Page 2: Linux A first-class citizen in Windows Azure · Linux –A first-class citizen in Windows Azure ... I am software developer (C/C++, ASM, C#, Java, Node.js, ... Postgres The second-most

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 · Linux –A first-class citizen in Windows Azure ... I am software developer (C/C++, ASM, C#, Java, Node.js, ... Postgres The second-most
Page 4: Linux A first-class citizen in Windows Azure · Linux –A first-class citizen in Windows Azure ... I am software developer (C/C++, ASM, C#, Java, Node.js, ... Postgres The second-most

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 · Linux –A first-class citizen in Windows Azure ... I am software developer (C/C++, ASM, C#, Java, Node.js, ... Postgres The second-most

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 · Linux –A first-class citizen in Windows Azure ... I am software developer (C/C++, ASM, C#, Java, Node.js, ... Postgres The second-most

A quick tour with the portal

Demo

Page 7: Linux A first-class citizen in Windows Azure · Linux –A first-class citizen in Windows Azure ... I am software developer (C/C++, ASM, C#, Java, Node.js, ... Postgres The second-most

Quick Data Center Tour

Where to run Linux workloads

Demo

Page 8: Linux A first-class citizen in Windows Azure · Linux –A first-class citizen in Windows Azure ... I am software developer (C/C++, ASM, C#, Java, Node.js, ... Postgres The second-most

Azure Security

Page 9: Linux A first-class citizen in Windows Azure · Linux –A first-class citizen in Windows Azure ... I am software developer (C/C++, ASM, C#, Java, Node.js, ... Postgres The second-most
Page 10: Linux A first-class citizen in Windows Azure · Linux –A first-class citizen in Windows Azure ... I am software developer (C/C++, ASM, C#, Java, Node.js, ... Postgres The second-most

Code

JSON

Page 11: Linux A first-class citizen in Windows Azure · Linux –A first-class citizen in Windows Azure ... I am software developer (C/C++, ASM, C#, Java, Node.js, ... Postgres The second-most
Page 12: Linux A first-class citizen in Windows Azure · Linux –A first-class citizen in Windows Azure ... I am software developer (C/C++, ASM, C#, Java, Node.js, ... Postgres The second-most

DEMO: Let’s go view all the templates

Page 13: Linux A first-class citizen in Windows Azure · Linux –A first-class citizen in Windows Azure ... I am software developer (C/C++, ASM, C#, Java, Node.js, ... Postgres The second-most

Quick Start Templates[ jump start the creation of cloud infrastructure]

Demo

Page 14: Linux A first-class citizen in Windows Azure · Linux –A first-class citizen in Windows Azure ... I am software developer (C/C++, ASM, C#, Java, Node.js, ... Postgres The second-most

Provisioning Resources With

The Azure Resource Manager

(The ARM)

Demo

Page 15: Linux A first-class citizen in Windows Azure · Linux –A first-class citizen in Windows Azure ... I am software developer (C/C++, ASM, C#, Java, Node.js, ... Postgres The second-most

Deploying Github

Demo

Page 16: Linux A first-class citizen in Windows Azure · Linux –A first-class citizen in Windows Azure ... I am software developer (C/C++, ASM, C#, Java, Node.js, ... Postgres The second-most

Demo

Deploying a

MySQL

cluster

Page 17: Linux A first-class citizen in Windows Azure · Linux –A first-class citizen in Windows Azure ... I am software developer (C/C++, ASM, C#, Java, Node.js, ... Postgres The second-most

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 · Linux –A first-class citizen in Windows Azure ... I am software developer (C/C++, ASM, C#, Java, Node.js, ... Postgres The second-most

The birth of

the container

Page 19: Linux A first-class citizen in Windows Azure · Linux –A first-class citizen in Windows Azure ... I am software developer (C/C++, ASM, C#, Java, Node.js, ... Postgres The second-most

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 · Linux –A first-class citizen in Windows Azure ... I am software developer (C/C++, ASM, C#, Java, Node.js, ... Postgres The second-most

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 · Linux –A first-class citizen in Windows Azure ... I am software developer (C/C++, ASM, C#, Java, Node.js, ... Postgres The second-most

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 · Linux –A first-class citizen in Windows Azure ... I am software developer (C/C++, ASM, C#, Java, Node.js, ... Postgres The second-most

Dockerized app

Run anywhere

Page 23: Linux A first-class citizen in Windows Azure · Linux –A first-class citizen in Windows Azure ... I am software developer (C/C++, ASM, C#, Java, Node.js, ... Postgres The second-most

A NEW ARCHITECTURAL STYLE

22

Page 24: Linux A first-class citizen in Windows Azure · Linux –A first-class citizen in Windows Azure ... I am software developer (C/C++, ASM, C#, Java, Node.js, ... Postgres The second-most

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 · Linux –A first-class citizen in Windows Azure ... I am software developer (C/C++, ASM, C#, Java, Node.js, ... Postgres The second-most

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 · Linux –A first-class citizen in Windows Azure ... I am software developer (C/C++, ASM, C#, Java, Node.js, ... Postgres The second-most

Virtual Machines

Containerization

Page 27: Linux A first-class citizen in Windows Azure · Linux –A first-class citizen in Windows Azure ... I am software developer (C/C++, ASM, C#, Java, Node.js, ... Postgres The second-most

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 · Linux –A first-class citizen in Windows Azure ... I am software developer (C/C++, ASM, C#, Java, Node.js, ... Postgres The second-most

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 · Linux –A first-class citizen in Windows Azure ... I am software developer (C/C++, ASM, C#, Java, Node.js, ... Postgres The second-most

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 · Linux –A first-class citizen in Windows Azure ... I am software developer (C/C++, ASM, C#, Java, Node.js, ... Postgres The second-most

Orchestration SolutionsOrchestration Management

CloudCloud

Page 31: Linux A first-class citizen in Windows Azure · Linux –A first-class citizen in Windows Azure ... I am software developer (C/C++, ASM, C#, Java, Node.js, ... Postgres The second-most
Page 32: Linux A first-class citizen in Windows Azure · Linux –A first-class citizen in Windows Azure ... I am software developer (C/C++, ASM, C#, Java, Node.js, ... Postgres The second-most

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 · Linux –A first-class citizen in Windows Azure ... I am software developer (C/C++, ASM, C#, Java, Node.js, ... Postgres The second-most

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 · Linux –A first-class citizen in Windows Azure ... I am software developer (C/C++, ASM, C#, Java, Node.js, ... Postgres The second-most

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 · Linux –A first-class citizen in Windows Azure ... I am software developer (C/C++, ASM, C#, Java, Node.js, ... Postgres The second-most

docker-compose.yml

docker-compose.yml

Page 36: Linux A first-class citizen in Windows Azure · Linux –A first-class citizen in Windows Azure ... I am software developer (C/C++, ASM, C#, Java, Node.js, ... Postgres The second-most

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 · Linux –A first-class citizen in Windows Azure ... I am software developer (C/C++, ASM, C#, Java, Node.js, ... Postgres The second-most

Linux – A first-class citizen in Windows Azure

Bruno Terkaly

[email protected]

Principal Software Engineer

Mobile/Cloud/Startup/Enterprise

Conclusion

Wrap up

Questions?

Page 38: Linux A first-class citizen in Windows Azure · Linux –A first-class citizen in Windows Azure ... I am software developer (C/C++, ASM, C#, Java, Node.js, ... Postgres The second-most