INDIAN GCP GUIDELINE. for Regulatory affair 1st sem CRR
Techdays SE 2016 - Micros.. err Microcosmos
1.
2.
3. Mike Martin
Who Am I
View more tips on my blog
http://techmike2kx.wordpress.com
Crosspoint Solutions (part of Cronos)
Where I Work
Architect, Windows Azure MVP,
MEET, Insider
What I Do
@Techmike2kx
Mike.Martin@csps.be
Where To Find Me
6. Containers
Isolated runtime environment for hosted applications
Dependencies
Every application has its own
dependencies which includes both
software (services, libraries) and
hardware (CPU, memory, storage)
Virtualization
Container engine is a light weight
virtualization mechanism which
isolates these dependencies per
each application by packaging
them into virtual containers
Shared host OS
Container runs as an isolated
process in user space on the
host OS, sharing the kernel
with other containers
Flexible
Differences in underlying OS
and infrastructure are abstracted
away, streamlining “deploy
anywhere” approach
Fast
Containers can be created almost
instantly, enabling rapid scale-up
and scale-down in response to
changes in demand
12. • Nano Server: A new headless, 64-bit only,
deployment option for Windows Server
• Deep refactoring with cloud emphasis
• Cloud fabric & infrastructure (clustering, storage, networking)
• Born-in-the-cloud applications (PaaS v2, ASP.NET v5)
• VMs & Containers (Hyper-V & Docker)
• Extend the Server Core pattern
• Roles & features live outside of Nano Server
• No Binaries or metadata in OS image
• Standalone packages install like apps
• Full driver support
• Antimalware
It’s one small step from/for Cloud…
13. Nano Server Quick Start
Scripts included in Nano Server folder to make it easy
to build a customized Nano Server image
• NanoServerImageGenerator.psm1
• Convert-WindowsImage.ps1
Use scripts to generate a Nano Server image for
PHYSICAL
MACHINE
VIRTUAL
MACHINE
New-NanoServerImage
-MediaPath F:
-BasePath .Base
-TargetPath .NanoVMSRV-Nano.vhd
-ComputerName SRV-Nano
-GuestDrivers
–Storage
-Clustering
35. Docker integration
An open source engine that
automates the deployment
of any application as a portable, self-
sufficient container that can run
almost anywhere
Enable the Docker toolset
to manage multi-container applications
using both Linux and Windows containers,
regardless of the hosting environment or
cloud provider
36. Docker integration
Huge collection of open and
curated applications available for download
Huge collection of open and curated
applications available for download. https://hub.docker.com
Bring Windows Server containers
to the Docker ecosystem to expand the reach of both developer
communities
Docker Engine for Windows Server
containers will be developed under the aegis of the Docker
open source project
Windows customers will be able to use the
same standard Docker client and interface on multiple
development environments
52. The right tools for you
Container management
Container technologies
Microsoft Cloud
Development
environments
Development
frameworks
and languages
Service
Fabric
53. • Scales by cloning the app on multiple
servers/VMs/Containers
Monolithic application approach Microservices application approach
• A microservice application
separates functionality into
separate smaller services.
• Scales out by deploying each service
independently creating instances of these services
across servers/VMs/containers
• A monolith app contains domain
specific functionality and is
normally divided by functional
layers such as web, business and
data
App 1 App 2App 1
55. Datacenter (Azure, On Premises, Other Clouds )
Load
Balancer
PC/VM #1
Service Fabric
Your code, etc.
PC/VM #2
Service Fabric
Your code, etc. PC/VM #3
Service Fabric
Your code, etc.
PC/VM #4
Service Fabric
Your code, etc.
PC/VM #5
Service Fabric
Your code, etc.
Service Fabric Cluster
Management to deploy
your code, etc.
(Port: 19080)
App Web Request
(Port: 80/443/?)
57. Docker Tooling Status
• Docker 1.0 -> Azure CLI
- azure create vm docker …
- docker … (Linux Only)
• Windows port
- docker … (on windows)
• Docker Machine
- docker-machine create –d hyper-v …
- docker-machine create –d azure …
• Compose and Swarm
58. Microsoft Specific Status
• Windows Server Containers at //build in April
• Multi-Platform Containerized application at DockerCon
• Docker VM Extension for Linux on Azure
• Hyper-V Containers
• Visual Studio tooling
• Visual Studio Online for CI across multiple containers using Docker Compose
• Docker Trusted Registry support in Visual Studio Online
• Azure Marketplace integration of containerized applications
• Docker Marketplace VM for Docker Trusted Registries
59. Are Containers Used?
• Customers are very interested
• Many in testing and Proof of Concept
• Microsoft uses containers internally
• E.g. Azure Linux Compute team for build
• Python Notebook Service
• Machine Learning Service in test
• Push 1000 containers in about 6 seconds
• Start notebook server, bring up a notebook & print in 42 seconds
60. Microsoft’s Value Add for Containers
• Only Microsoft can deliver Windows Containers
• Docker VM Extension
• Hyper-V Containers
• Visual Studio tooling
• Continuous Integration with Visual Studio online
• Docker Trusted Registry support in VSO
• Marketplace integration of containerized applications
62. Architecture In Linux
Containerd + runC
REST Interface
libcontainerd graphlibnetwork plugins
Control Groups
cgroups
Namespaces
Pid, net, ipc, mnt, uts
Layer Capabilities
Union Filesystems AUFS,
btrfs, vfs, zfs*,
DeviceMapper
Other OS
Functionality
Docker Client Docker RegistryDocker Compose Docker Swarm
63. Architecture In Windows
REST Interface
libcontainerd graphlibnetwork plugins
Control Groups
Job objects
Namespaces
Object Namespace,
Process Table,
Networking
Layer Capabilities
Registry, Union like
filesystem extensions
Other OS
Functionality
Compute Services
Docker Client
Docker
Registry
Docker Compose Docker Swarm
64. Comparing OS Architectures
Control Groups
cgroups
Namespaces
Pid, net, ipc, mnt, uts
Layer Capabilities
Union Filesystems: AUFS,
btrfs, vfs, zfs*,DeviceMapper
Other OS
Functionality
Containerd + runC
REST Interface
libcontainerd graphlibnetwork plugins
Control Groups
Job objects
Namespaces
Object Namespace, Process
Table, Networking
Layer Capabilities
Registry, Union like
filesystem extensions
Other OS
Functionality
Compute Services
Docker Client Docker SwarmDocker Compose Docker Registry
68. Same Container Images, Same API
Container
Management
Docker
Windows Container
Images
Hyper-V Container
Windows Server
Container
69. Docker Universal Control Plane
Web Based UI
Manages
>Container hosts
>Container based applications
>Container registries/images
Role Based Access Control (AD and LDAP support)
Microsoft Operations Management Suite
Monitoring Solution for Docker
Monitors
>Syslog events
>Performance metrics
>Container data
Management and Monitoring Tools
70. Useful Information
Docker Introduction
https://msopentech.com/opentech-projects/docker/
Docker on Microsoft Azure
https://msopentech.com/blog/2014/06/09/docker-on-microsoft-azure/
The Docker Virtual Machine Extension for Linux on Azure
https://azure.microsoft.com/en-us/documentation/articles/virtual-machines-docker-vm-
extension/
How to use the Docker VM Extension from Azure CLI
http://azure.microsoft.com/documentation/articles/virtual-machines-docker-with-xplat-cli/
How to use the Docker VM Extension with the Azure Portal
http://azure.microsoft.com/documentation/articles/virtual-machines-docker-with-portal/
Azure Virtual Machine Extension for Docker
https://github.com/Azure/azure-docker-extension/blob/master/README.md