3. Say Thank you to Volunteers:
They spend their FREE time to give you this event.
Because they are crazy.
Because they want YOU
to learn from the BEST IN THE WORLD.
João Sarmento
Eduardo Piairo Diamantino Falcão
Nuno Rafael
Filipe Coelho
4. Sponsor Sessions at 15:05
Don’t miss them, they might be getting
distributing some awesome prizes!
Auditório Magno
Auditório 1
Exciting certification changes with SQL
Server 2016
Culto de BI
Successful projects
5. Pedro Sousa
Who Am I
DevScope
Where I Work
Systems Engineer, Insider, Azure Advisor
What I Do
@psousa75
pedro.sousa@devscope.net
Where To Find Me
10. Containers
are cool…
What, Why,
How of
Containers
Docker
overview
Taking the first
step on your
path to
containerization
Tooling to
make you
more efficient
BRK3146
11. Agenda
Docker and
Container adoption
Docker & MSFT
Evolution
Full Stack
Basics…
SQL Server
Backend options
Play time
17. Comparison: Containers vs. VMs
App
A
Hypervisor (Type 2)
Host OS
Server
Guest
OS
Bins/
Libs
App
A’
Guest
OS
Bins/
Libs
App
B
Guest
OS
Bins/
Libs
AppA’
Host OS
Server
Bins/Libs
AppA
Bins/Libs
AppB
AppB’
AppB’
AppB’
VM
Container
Containers are isolated,
but share OS kernel and, where
appropriate, bins/libraries
Guest
OS
Guest
OS
…result is significantly faster
deployment, much less overhead,
easier migration, faster restart
18. What is a container?
Containers = Operating system virtualization
Traditional virtual machines = hardware virtualization
CONTAINER CONTAINER CONTAINER
Windows Server Containers
Maximum speed and density
Kernel
CONTAINER
Kernel
CONTAINER
Kernel
CONTAINER
Hyper-V Containers
Isolation plus performance
Applications
Kernel
CONTAINER CONTAINER CONTAINER
VM VM VM
19. Layer Supported Technologies
Configuration as
Code
ARM, Dockerfile, Docker
Compose, Marathon.json
Host cluster
management
VM Scale Sets
Container
orchestration
Docker Swarm, Chronos,
Marathon, Apache Mesos
Monitoring OMS, Statsd
Layered for flexibility and agility
Containers
Container ToolingService Tooling Layer Supported Technologies
Configuration as
Code
ARM, Dockerfile, Docker
Compose, Marathon.json
Host cluster
management
VM Scale Sets
Container
orchestration
Docker Swarm, Chronos,
Marathon, Apache Mesos
Monitoring OMS, Statsd
Networking IP per container
Storage Persistent storage
???
22. Active Directory Identity for Containers
Credential Spec
DefaultAccount:
DomainMyWebApp1$
Service: IIS
User:
LocalSystem
DomainMyWebApp1$
1) Use default accounts for services &
tasks (LocalSystem, Network Service)
2) Provide default service account to
use when starting container
3) Container
connects using
service account
BRK3146
25. Getting Started (continued)
2. Install Docker (continued)
2. # For quick use, does not require shell to be restarted.
$env:path += ";c:program filesdocker“
# For persistent use, will apply even after a reboot.
[Environment]::SetEnvironmentVariable("Path", $env:Path + ";C:Program
FilesDocker", [EnvironmentVariableTarget]::Machine)
3. .dockerd --register-service
4. Start-Service docker
https://msdn.microsoft.com/en-us/virtualization/windowscontainers/quick_start/quick_start_windows_server
26. Getting Started (continued)
2. Install Base Container Images
1. docker pull microsoft/windowsservercore
2. docker images
3. Test your install
1. docker pull microsoft/iis
2. docker run -d -p 80:80 microsoft/iis ping -t localhost
https://msdn.microsoft.com/en-us/virtualization/windowscontainers/quick_start/quick_start_windows_server
Benefits of containers include: Density and agility, enabling agile application development and deployment
Don’t mistake Hyper-V container with a VM – containers are much more agile (deploy with a flip of the bits, etc.)