You are on page 1of 36

Containers en

Azure
Nuestro enfoque hacia el código abierto en AZURE

Enable Integrate Release Participate


Enable Linux and Open Embrace leading Open Release key Microsoft Microsoft engineers to
Source technology to be first Source ecosystems and technologies into the participate in communities
class citizens on Microsoft integrate Microsoft products Open Source domain to and contribute to key
Platforms with agility and consistency build a strong ecosystem Open Source projects

R Server autorest
.NET Core PowerBI Visuals
Roslyn Office UI Fabric
TypeScript Tools plugins
F#

Open Source Partners & Ecosystem


Microsoft + Open Source: Empoderando a
los Clientes
Our Products Our Offerings
Azure Marketplace
60% of all images in Azure
SQL Server on Linux Marketplace are based on
Acquisition
HD Insight managed Linux/OSS
service on Linux
C:\Users\markhill> bash 1 out of 3 VMs on Azure run
Linux, and more than half of all
1 out of 3
root@localhost: #

Run Linux on Windows natively new VMs run Linux

Our Partnerships Our Employees


Ross Gardler Miguel de Icaza
Partnership Jenkins project on Azure President Apache GNOME Creator
SW Foundation Xamarin
Ximian-Mono .NET Linux
Joins Microsoft
Partnership with the
Linux Foundation 600 Million+ Brendan Burns
Microsoft joins for Linux on Azure Lines of open source code Co-Founder of
Eclipse Foundation certification Microsoft Open Source Hub Kubernetes
Why Containers?
Enable ‘write-once, run-anywhere’ apps
Enables microservice architectures
DevOps
Great for dev/test of apps and services
Production realism
GrowingazDeveloper
aks browse Community
--resource-group LATAMDATAIA --name
Developers akslatamdataia

Portability, Portability, Portability


Standardized development, QA, and prod
environments
Abstract differences in OS distributions
and underlying infrastructure
Higher compute density
Operations Easily scale-up and scale-down in response
to changing business needs
What is a Container?
Not a real thing. An application delivery mechanism with
process isolation based on several Linux kernel features.

Namespaces (what a process Cgroups (what a process can


can see) use)

❖ PID ❖ Memory
❖ Mount ❖ CPU
❖ Network ❖ Blkio
❖ UTS ❖ Cpuacct
❖ IPC ❖ Cpuset
❖ User ❖ Devices
❖ Cgroup ❖ Net_prio
What is

❖ Open Source Container Runtime


❖ Mac, Linux, Windows Support
❖ Command Line Tool
❖ “Dockerfile” format
❖ The Docker image format with layered
filesystem
Virtualization versus containerization
Virtualization 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
Virtual Machine Evolution
VM1 VM2

App1 App2 ~100Mb

Additional Apps/Libs Apps/Libs ~1-2Gb


Load

Guest OS Guest OS ~10Gb

VMWare, Hyper-V , KVM, Hypervisor


OPENSTACK
Host OS

Hardware
Container Image
Analogous to a VHD and config file to a virtual machine
Created by running a container and capturing changes
Changes include files and registry

Metadata
Name,
Creation Data,
Command To Execute,
Dependences

Contents
Docker Layered Filesystem
Docker Layered Filesystem
The container advantage

Fast Agile Immutability Cost Efficient Elastic


iteration delivery savings deployment bursting

For developers For IT


Azure Container Registry

Azure Open source


Container community
Registry

Azure
Kubernetes Release Getting
Containers automation
101 Service (AKS) started
tools

Azure Open Service Customer


container Broker for success
technology Azure (OSBA) stories

Azure Container
Container
Instances
orchestration (ACI)
Azure Kubernetes
Service (AKS)
Azure Container Registry
Manage a Docker private registry as a first-class Azure resource

Azure Container
Instances (ACI)

Azure Container
Registry

Manage images for all Use familiar, open- Azure Container Registry
types of containers source Docker CLI tools geo-replication
Azure Container Instances (ACI)

Azure Open source


Container community
Registry

Azure
Kubernetes Release Getting
Containers automation
101 Service (AKS) started
tools

Azure Open Service Customer


container Broker for success
technology Azure (OSBA) stories

Azure Container
Container
Instances
orchestration (ACI)
Azure Kubernetes
Service (AKS)
Azure Container Instances (ACI)
Easily run containers on Azure with a single command

Azure Container
Azure Kubernetes
Service (AKS)
Azure Container Instances (ACI)
Instances (ACI) Easily run containers on Azure with a single command

Azure Container
Instances (ACI)

Azure Container
Azure Container Registry

Registry

Open Service Start using Cloud-scale Hyper-visor


Broker API (OSBA) containers right away container capacity isolation

Start using
Release
Automation Tools Cloud-scale Hyper-visor
containers right container capacity isolation
away
Azure Kubernetes
Service (AKS)
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

> curl 52.168.86.133


Azure Kubernetes
Service (AKS)
Azure Container Instances (ACI)
Azure Portal Experience

Azure Container
Instances (ACI)

Azure Container
Registry
Azure Kubernetes
Service (AKS)

Azure Container
Instances (ACI)

Azure Container
Registry
Azure Kubernetes
Service (AKS)
Azure Container Instances (ACI)
Virtual Kubelet

Azure Container
Instances (ACI)

Azure Container
Registry

Kubernetes provides rich ACI provides infinite The Virtual Kubelet


orchestration capabilities container-based scale brings them together
Container Orchestration:
Kubernetes
Azure Kubernetes Service (AKS)

Azure Open source


Container community
Registry

Azure
Kubernetes Release Getting
Containers automation
101 Service (AKS) started
tools

Azure Open Service Customer


container Broker for success
technology Azure (OSBA) stories

Azure Container
Container
Instances
orchestration (ACI)
What is Kubernetes?
Open source container orchestrator that automates
deployment, scaling, and management of applications.
Features include:

❖ Automatic bin packing ❖ Designed by Google


❖ Self-healing ❖ Based on their
❖ Horizontal scaling system used to run
❖ Service discovery BILLIONS of
containers per
❖ Load balancing
week
❖ Automated rollouts and rollbacks
❖ Over 2,300 contributors
❖ Secret and configuration management
❖ Graduated from CNCF
Azure Kubernetes
Service (AKS)
Azure Kubernetes Service (AKS)
Simplify the deployment, management, and
operations of Kubernetes
Azure Container
Instances (ACI)

Azure Container
Registry

Focus on your Work how you Scale and run


containers not the want with open- applications with
infrastructure source APIs confidence
Azure Kubernetes
Service (AKS)
Azure Kubernetes Service (AKS)
A fully managed Kubernetes cluster

Azure Container
Instances (ACI)
• Managed control pane
• Automated upgrades, patches
Managed
• Easy cluster scaling

Azure Container • Self-healing


Registry Application • Cost savings
architect Applications

Operations
Kubernetes

Infrastructure Docker
architect

Azure infrastructure services


Why AKS?
Easy to use: Easy to manage:

❖ Fastest path to Kubernetes on ❖ Automated upgrades


Azure and patching
❖ Up and running with 3 simple ❖ Easily scale the cluster
commands up and down
❖ I argue there are 2.5 commands
❖ Self-healing control
plane

Uses open APIs – 100% upstream Kubernetes


Kubernetes without AKS
Kubernetes with AKS
Azure Kubernetes
Service (AKS)
Azure Kubernetes Service (AKS)
Get started easily

Azure Container > az aks create


Instances (ACI)

> az aks install-cli

Azure Container
Registry > az aks get-credentials

> kubectl get nodes


Azure Kubernetes
Service (AKS)
Azure Kubernetes Service (AKS)
Manage an AKS cluster

Azure Container > az aks list


Instances (ACI)

> az aks upgrade


Azure Container
Registry
> kubectl get nodes

> az aks scale


Azure Kubernetes
Service (AKS)
Azure Kubernetes Service (AKS)
Azure Portal Experience

Azure Container
Instances (ACI)

Azure Container
Registry
Azure Kubernetes
Service (AKS)

Azure Container
Instances (ACI)

Azure Container
Registry
Who is using Kubernetes?

You might also like