SlideShare a Scribd company logo
SQL Server on Linux Engineering Town Hall Webinar Series
SQL Server in DevOps
SQL Server v.Next CTP 1.4
April 6, 2017
Travis Wright, Luis Bosquez Gonzalez
Program Managers
SQL Server Engineering Team
@radtravis, @_lbosq
Announcing vNext CTP 1.4!
2
Release date: March 17, 2017
Version number: 14.0.405.198
What’s new?
• SQL Server Agent
• Mssql-tools (sqlcmd, bcp) now included in the mssql-server-linux Docker image
• VDI interface for backups
• Performance improvements
• Bug fixes
Agenda
3
• Background on SQL Server, DevOps, Containers, and Container Management
Platforms
• Demos
• Lessons Learned
• What’s Next
• Get Involved
The New Reality
4
Data and Agility are the only hope of survival
5
https://www.innosight.com/insight/corporate-longevity-turbulence-ahead-for-large-organizations/
https://www2.deloitte.com/us/en/pages/mergers-and-acquisitions/articles/ma-trends-report.html
Longevity is not a given anymore
Disruption happens practically
overnight
6
Nature of Software Delivery Has
Changed
DevOps Principles in Focus
8
• Embrace emerging technology and patterns
• Challenge the status quo
• Agility, efficiency, and speed
• DevOps is a partnership between Dev and Ops
• Ops enables and controls
• Devs build and maintain apps and services
• Both provide support
Containers:
Fad
or
Fundamental Transformation?
9
Container Benefits
10
All the benefits of VMs – isolation, portability, duplicatable, shareable, packaging -
plus…
• Reduced size on disk – better hardware utilization
• Reduced CPU/memory consumption – better hardware utilization
• Reduced deployment size – faster deployments and scale up/down
• Reduced patching – less effort, less vulnerability, less down time
• Better composability – Images of layers, applications defined as multiple
containers
• Easier sharing – Docker Hub and Registry
This is not a fad!
…but wait…
11
• “Containers are emphemeral”
• “Containers aren’t for anything critical”
• “Containers aren’t for databases”
Docker Databases
12
Most of the most popular images are databases
Postgres: 10M+ pulls
Mysql: 10M+ pulls
Redis: 10M+ pulls
Mongo: 10M+ pulls
SQL Server on Linux has had ~1M pulls in the first 5 months
Persisting Storage
13
Mount a volume to the host
Local storage
Remote storage
Mount a container volume
docker run … -v /my/host/dir:/my/container/dir …
docker create -v /mydata --name mydatacontainer …
docker run --volumes-from mydatacontainer …
Read this!
https://docs.docker.com/engine/tutorials/dockervolumes/
Build & Test Locally in Dev Environment
14
Build locally on Windows, Linux, or macOS
Windows
Linux Docker containers using Docker for Windows
Windows containers on Windows 10 Anniversary Edition+
macOS
Linux Docker containers using Docker for Mac
Linux
Use Docker Engine natively
There are other container engines like LXC
Use for demo today
Testing & Release
15
Use Docker Engine natively
Use a container management platform (aka “orchestrator”)
Kubernetes
Red Hat OpenShift (based on Kubernetes)
Docker Swarm
Mesosphere DC/OS
Use a cloud service
Azure Container Service (ACS)
AWS EC2 Container Service (ECS)
Use for demo today
Real World Example
16
SQL Server Engineering Team uses Kubernetes in Azure VMs for
automated testing of SQL Server on Linux
Automated build process creates the container image
Extended existing test system to handle provisioning and test
execution/targeting
~700 containers per test run, usually once per day
150 VM hosts in Azure; 128 GB/8 cores
20+ containers/VM in some cases
High density, each SQL Server container listens on a different
Key Docker Terminology and
Commands
17
Image – A definition. Defines what software is included and how it
runs.
Container – A running instance based on the image.
docker pull – download an image from a Docker respository
docker run – create a container from an image
docker ps – list all locally running containers
docker images – list all locally cached images
You do not “install” a Docker container! 
Application Deployment
Patterns Using Containers
18
SQL Server
App 1 App 2
SQL Server
App 1
SQL Server
+
App 1
Centralized SQL Server Docker Compose Monolithic App or
Microservice
Methods for Deployment
19
Deploy standard SQL Server container image.
App deploys the DB at start up.
Use standard SQL Server image as a base layer. Include DB inside of
image.
At run time the CMD in the Dockerfile attaches/restores the DB.
Use standard SQL Server image as base layer.
At run time the DB is created by the CMD in the Dockerfile.
Demo #1 today
Demo #2 today
Demo #1 Docker-Compose App
9
Demo #2 Deploy a Microservice App to
OpenShift
9
Lessons Learned
• Tools aren’t in image. Resolved
• Can't connect directly to the SQL Server from outside OpenShift network - no access to port 1433
• No way to create a DB simply at docker run time
• Need to code around delays to start, SQL Server takes too long to start
• SQL Server currently requires 3.25 GB of RAM – more than should be minimum
• Make sure you are running on latest Docker-Engine version (demo built using Docker 1.12.5) -
ASP.Net container will have issues if not. Current OpenShift-All-In-One Vagrant box has older
version of Docker Engine. Resolved
• Issue with the fact that the container runs as root. Open Shift doesn’t allow that by default. You
can change the perms, but it requires cluster administrator privs.
• Docker, OpenShift/Kubernetes, and SQL Server on Linux is still relatively new, especially to ops
teams.
‐ No established best practices
‐ Minimal documentation
What’s Next?
23
• High availability in container management platforms
• Performance testing and tuning
• Reduce minimum RAM requirement and start up time
• Docker image improvements
‐ https://github.com/Microsoft/mssql-docker/issues
• More testing of SQL Server on Windows containers  officially support
• General Availability later this year of SQL Server v.Next including
support for SQL Server on Linux containers
• Make SQL Server container images available everywhere
Get Involved
24
• Get the SQL Server container images
‐ hub.docker.com/r/microsoft/mssql-server-linux (v.Next)
‐ hub.docker.com/r/microsoft/mssql-server-windows (v.Next)
‐ https://hub.docker.com/r/microsoft/mssql-server-windows-express/ (2016 SP1)
‐ Mesosphere DC/OS Universe image
• Provide feedback
‐ https://github.com/Microsoft/mssql-docker/issues
• Get samples from today
‐ https://github.com/twright-msft/mssql-node-docker-demo-app
‐ https://github.com/twright-msft/mssql-aspnet-docker-demo-app
• Contact me if you want to work on cool stuff together!
Questions?
Thank you!
9
twright@microsoft.com
twitter.com/radtravis
linkedin.com/in/radtravis

More Related Content

What's hot

Docker on Docker
Docker on DockerDocker on Docker
Docker on Docker
Docker, Inc.
 
Architecture Overview: Kubernetes with Red Hat Enterprise Linux 7.1
Architecture Overview: Kubernetes with Red Hat Enterprise Linux 7.1Architecture Overview: Kubernetes with Red Hat Enterprise Linux 7.1
Architecture Overview: Kubernetes with Red Hat Enterprise Linux 7.1
Etsuji Nakai
 
DockerCon EU 2015: The Latest in Docker Engine
DockerCon EU 2015: The Latest in Docker EngineDockerCon EU 2015: The Latest in Docker Engine
DockerCon EU 2015: The Latest in Docker Engine
Docker, Inc.
 
OpenStack Icehouse Overview
OpenStack Icehouse OverviewOpenStack Icehouse Overview
OpenStack Icehouse Overview
OpenStack Foundation
 
Oracle Java Cloud Service JCS (and WebLogic 12c) - What you Should Know
Oracle Java Cloud Service JCS (and WebLogic 12c) - What you Should KnowOracle Java Cloud Service JCS (and WebLogic 12c) - What you Should Know
Oracle Java Cloud Service JCS (and WebLogic 12c) - What you Should Know
Frank Munz
 
Docker and Microsoft - Windows Server 2016 Technical Deep Dive
Docker and Microsoft - Windows Server 2016 Technical Deep DiveDocker and Microsoft - Windows Server 2016 Technical Deep Dive
Docker and Microsoft - Windows Server 2016 Technical Deep Dive
Docker, Inc.
 
Production Ready Containers from IBM and Docker
Production Ready Containers from IBM and DockerProduction Ready Containers from IBM and Docker
Production Ready Containers from IBM and Docker
Docker, Inc.
 
Microservices Runtimes
Microservices RuntimesMicroservices Runtimes
Microservices Runtimes
Frank Munz
 
Oracle database on Docker Container
Oracle database on Docker ContainerOracle database on Docker Container
Oracle database on Docker Container
Jesus Guzman
 
Serverless / FaaS / Lambda and how it relates to Microservices
Serverless / FaaS / Lambda and how it relates to MicroservicesServerless / FaaS / Lambda and how it relates to Microservices
Serverless / FaaS / Lambda and how it relates to Microservices
Frank Munz
 
Docker Meetup 08 03-2016
Docker Meetup 08 03-2016Docker Meetup 08 03-2016
Docker Meetup 08 03-2016
Docker
 
Moving Legacy Applications to Docker by Josh Ellithorpe, Apcera
Moving Legacy Applications to Docker by Josh Ellithorpe, Apcera Moving Legacy Applications to Docker by Josh Ellithorpe, Apcera
Moving Legacy Applications to Docker by Josh Ellithorpe, Apcera
Docker, Inc.
 
AWS ECS Quick Introduction
AWS ECS Quick IntroductionAWS ECS Quick Introduction
AWS ECS Quick Introduction
Vinothini Raju
 
Mongo db world 2014 nyc mongodb on azure - tips tricks and examples
Mongo db world 2014 nyc   mongodb on azure - tips tricks and examplesMongo db world 2014 nyc   mongodb on azure - tips tricks and examples
Mongo db world 2014 nyc mongodb on azure - tips tricks and examples
Brian Benz
 
vSphere Integrated Containers 101 and End-User Workflow
vSphere Integrated Containers 101 and End-User WorkflowvSphere Integrated Containers 101 and End-User Workflow
vSphere Integrated Containers 101 and End-User Workflow
Simone Morellato
 
Docker Datacenter Overview and Production Setup Slides
Docker Datacenter Overview and Production Setup SlidesDocker Datacenter Overview and Production Setup Slides
Docker Datacenter Overview and Production Setup Slides
Docker, Inc.
 
Containers orchestrators: Docker vs. Kubernetes
Containers orchestrators: Docker vs. KubernetesContainers orchestrators: Docker vs. Kubernetes
Containers orchestrators: Docker vs. Kubernetes
Dmitry Lazarenko
 
Practical Container Security by Mrunal Patel and Thomas Cameron, Red Hat
Practical Container Security by Mrunal Patel and Thomas Cameron, Red HatPractical Container Security by Mrunal Patel and Thomas Cameron, Red Hat
Practical Container Security by Mrunal Patel and Thomas Cameron, Red Hat
Docker, Inc.
 
Android Meets Docker
Android Meets DockerAndroid Meets Docker
Android Meets Docker
Docker, Inc.
 

What's hot (20)

Docker on Docker
Docker on DockerDocker on Docker
Docker on Docker
 
Architecture Overview: Kubernetes with Red Hat Enterprise Linux 7.1
Architecture Overview: Kubernetes with Red Hat Enterprise Linux 7.1Architecture Overview: Kubernetes with Red Hat Enterprise Linux 7.1
Architecture Overview: Kubernetes with Red Hat Enterprise Linux 7.1
 
DockerCon EU 2015: The Latest in Docker Engine
DockerCon EU 2015: The Latest in Docker EngineDockerCon EU 2015: The Latest in Docker Engine
DockerCon EU 2015: The Latest in Docker Engine
 
OpenStack Icehouse Overview
OpenStack Icehouse OverviewOpenStack Icehouse Overview
OpenStack Icehouse Overview
 
Oracle Java Cloud Service JCS (and WebLogic 12c) - What you Should Know
Oracle Java Cloud Service JCS (and WebLogic 12c) - What you Should KnowOracle Java Cloud Service JCS (and WebLogic 12c) - What you Should Know
Oracle Java Cloud Service JCS (and WebLogic 12c) - What you Should Know
 
Docker and Microsoft - Windows Server 2016 Technical Deep Dive
Docker and Microsoft - Windows Server 2016 Technical Deep DiveDocker and Microsoft - Windows Server 2016 Technical Deep Dive
Docker and Microsoft - Windows Server 2016 Technical Deep Dive
 
Production Ready Containers from IBM and Docker
Production Ready Containers from IBM and DockerProduction Ready Containers from IBM and Docker
Production Ready Containers from IBM and Docker
 
Microservices Runtimes
Microservices RuntimesMicroservices Runtimes
Microservices Runtimes
 
Oracle database on Docker Container
Oracle database on Docker ContainerOracle database on Docker Container
Oracle database on Docker Container
 
Serverless / FaaS / Lambda and how it relates to Microservices
Serverless / FaaS / Lambda and how it relates to MicroservicesServerless / FaaS / Lambda and how it relates to Microservices
Serverless / FaaS / Lambda and how it relates to Microservices
 
Docker Meetup 08 03-2016
Docker Meetup 08 03-2016Docker Meetup 08 03-2016
Docker Meetup 08 03-2016
 
Moving Legacy Applications to Docker by Josh Ellithorpe, Apcera
Moving Legacy Applications to Docker by Josh Ellithorpe, Apcera Moving Legacy Applications to Docker by Josh Ellithorpe, Apcera
Moving Legacy Applications to Docker by Josh Ellithorpe, Apcera
 
AWS ECS Quick Introduction
AWS ECS Quick IntroductionAWS ECS Quick Introduction
AWS ECS Quick Introduction
 
Mongo db world 2014 nyc mongodb on azure - tips tricks and examples
Mongo db world 2014 nyc   mongodb on azure - tips tricks and examplesMongo db world 2014 nyc   mongodb on azure - tips tricks and examples
Mongo db world 2014 nyc mongodb on azure - tips tricks and examples
 
vSphere Integrated Containers 101 and End-User Workflow
vSphere Integrated Containers 101 and End-User WorkflowvSphere Integrated Containers 101 and End-User Workflow
vSphere Integrated Containers 101 and End-User Workflow
 
Data control
Data controlData control
Data control
 
Docker Datacenter Overview and Production Setup Slides
Docker Datacenter Overview and Production Setup SlidesDocker Datacenter Overview and Production Setup Slides
Docker Datacenter Overview and Production Setup Slides
 
Containers orchestrators: Docker vs. Kubernetes
Containers orchestrators: Docker vs. KubernetesContainers orchestrators: Docker vs. Kubernetes
Containers orchestrators: Docker vs. Kubernetes
 
Practical Container Security by Mrunal Patel and Thomas Cameron, Red Hat
Practical Container Security by Mrunal Patel and Thomas Cameron, Red HatPractical Container Security by Mrunal Patel and Thomas Cameron, Red Hat
Practical Container Security by Mrunal Patel and Thomas Cameron, Red Hat
 
Android Meets Docker
Android Meets DockerAndroid Meets Docker
Android Meets Docker
 

Similar to SQL Server in DevOps Town Hall Webinar

Docker 101 - Nov 2016
Docker 101 - Nov 2016Docker 101 - Nov 2016
Docker 101 - Nov 2016
Docker, Inc.
 
Docker
DockerDocker
Docker
Vu Duc Du
 
Oracle WebLogic Server 12c with Docker
Oracle WebLogic Server 12c with DockerOracle WebLogic Server 12c with Docker
Oracle WebLogic Server 12c with Docker
Guatemala User Group
 
Going Production with Docker and Swarm
Going Production with Docker and SwarmGoing Production with Docker and Swarm
Going Production with Docker and Swarm
C4Media
 
IBM Bluemix Paris Meetup #14 - Le Village by CA - 20160413 - Introduction à D...
IBM Bluemix Paris Meetup #14 - Le Village by CA - 20160413 - Introduction à D...IBM Bluemix Paris Meetup #14 - Le Village by CA - 20160413 - Introduction à D...
IBM Bluemix Paris Meetup #14 - Le Village by CA - 20160413 - Introduction à D...
IBM France Lab
 
Introduction to Containers - SQL Server and Docker
Introduction to Containers - SQL Server and DockerIntroduction to Containers - SQL Server and Docker
Introduction to Containers - SQL Server and Docker
Chris Taylor
 
Docker from A to Z, including Swarm and OCCS
Docker from A to Z, including Swarm and OCCSDocker from A to Z, including Swarm and OCCS
Docker from A to Z, including Swarm and OCCS
Frank Munz
 
Getting Started with Docker
Getting Started with DockerGetting Started with Docker
Getting Started with Docker
Geeta Vinnakota
 
Docker dev ops for cd meetup 12-14
Docker dev ops for cd meetup 12-14Docker dev ops for cd meetup 12-14
Docker dev ops for cd meetup 12-14
Simon Storm
 
Michigan IT Symposium 2017 - Container BOF
Michigan IT Symposium 2017 - Container BOFMichigan IT Symposium 2017 - Container BOF
Michigan IT Symposium 2017 - Container BOF
Jeffrey Sica
 
Developer workflow with docker
Developer workflow with dockerDeveloper workflow with docker
Developer workflow with docker
Wyn B. Van Devanter
 
Introduction to Docker Containers - Docker Captain
Introduction to Docker Containers - Docker CaptainIntroduction to Docker Containers - Docker Captain
Introduction to Docker Containers - Docker Captain
Ajeet Singh Raina
 
Introduction to Docker - IndiaOpsUG
Introduction to Docker - IndiaOpsUGIntroduction to Docker - IndiaOpsUG
Introduction to Docker - IndiaOpsUG
Ajeet Singh Raina
 
Introduction to Containers & Diving a little deeper into the benefits of Con...
 Introduction to Containers & Diving a little deeper into the benefits of Con... Introduction to Containers & Diving a little deeper into the benefits of Con...
Introduction to Containers & Diving a little deeper into the benefits of Con...
Synergetics Learning and Cloud Consulting
 
Docker - Portable Deployment
Docker - Portable DeploymentDocker - Portable Deployment
Docker - Portable Deploymentjavaonfly
 
Docker in the Oracle Universe / WebLogic 12c / OFM 12c
Docker in the Oracle Universe / WebLogic 12c / OFM 12cDocker in the Oracle Universe / WebLogic 12c / OFM 12c
Docker in the Oracle Universe / WebLogic 12c / OFM 12c
Frank Munz
 
Practical guide to Oracle Virtual environments
Practical guide to Oracle Virtual environmentsPractical guide to Oracle Virtual environments
Practical guide to Oracle Virtual environments
Nelson Calero
 
Containerization using docker and its applications
Containerization using docker and its applicationsContainerization using docker and its applications
Containerization using docker and its applications
Puneet Kumar Bhatia (MBA, ITIL V3 Certified)
 
Containers and Docker
Containers and DockerContainers and Docker
Containers and Docker
Damian T. Gordon
 

Similar to SQL Server in DevOps Town Hall Webinar (20)

Docker 101 - Nov 2016
Docker 101 - Nov 2016Docker 101 - Nov 2016
Docker 101 - Nov 2016
 
Docker
DockerDocker
Docker
 
Oracle WebLogic Server 12c with Docker
Oracle WebLogic Server 12c with DockerOracle WebLogic Server 12c with Docker
Oracle WebLogic Server 12c with Docker
 
Going Production with Docker and Swarm
Going Production with Docker and SwarmGoing Production with Docker and Swarm
Going Production with Docker and Swarm
 
IBM Bluemix Paris Meetup #14 - Le Village by CA - 20160413 - Introduction à D...
IBM Bluemix Paris Meetup #14 - Le Village by CA - 20160413 - Introduction à D...IBM Bluemix Paris Meetup #14 - Le Village by CA - 20160413 - Introduction à D...
IBM Bluemix Paris Meetup #14 - Le Village by CA - 20160413 - Introduction à D...
 
Introduction to Containers - SQL Server and Docker
Introduction to Containers - SQL Server and DockerIntroduction to Containers - SQL Server and Docker
Introduction to Containers - SQL Server and Docker
 
Docker from A to Z, including Swarm and OCCS
Docker from A to Z, including Swarm and OCCSDocker from A to Z, including Swarm and OCCS
Docker from A to Z, including Swarm and OCCS
 
Getting Started with Docker
Getting Started with DockerGetting Started with Docker
Getting Started with Docker
 
Docker dev ops for cd meetup 12-14
Docker dev ops for cd meetup 12-14Docker dev ops for cd meetup 12-14
Docker dev ops for cd meetup 12-14
 
Michigan IT Symposium 2017 - Container BOF
Michigan IT Symposium 2017 - Container BOFMichigan IT Symposium 2017 - Container BOF
Michigan IT Symposium 2017 - Container BOF
 
Developer workflow with docker
Developer workflow with dockerDeveloper workflow with docker
Developer workflow with docker
 
Introduction to Docker Containers - Docker Captain
Introduction to Docker Containers - Docker CaptainIntroduction to Docker Containers - Docker Captain
Introduction to Docker Containers - Docker Captain
 
Introduction to Docker - IndiaOpsUG
Introduction to Docker - IndiaOpsUGIntroduction to Docker - IndiaOpsUG
Introduction to Docker - IndiaOpsUG
 
Introduction to Containers & Diving a little deeper into the benefits of Con...
 Introduction to Containers & Diving a little deeper into the benefits of Con... Introduction to Containers & Diving a little deeper into the benefits of Con...
Introduction to Containers & Diving a little deeper into the benefits of Con...
 
Docker - Portable Deployment
Docker - Portable DeploymentDocker - Portable Deployment
Docker - Portable Deployment
 
Docker in the Oracle Universe / WebLogic 12c / OFM 12c
Docker in the Oracle Universe / WebLogic 12c / OFM 12cDocker in the Oracle Universe / WebLogic 12c / OFM 12c
Docker in the Oracle Universe / WebLogic 12c / OFM 12c
 
Practical guide to Oracle Virtual environments
Practical guide to Oracle Virtual environmentsPractical guide to Oracle Virtual environments
Practical guide to Oracle Virtual environments
 
Containerization using docker and its applications
Containerization using docker and its applicationsContainerization using docker and its applications
Containerization using docker and its applications
 
Containerization using docker and its applications
Containerization using docker and its applicationsContainerization using docker and its applications
Containerization using docker and its applications
 
Containers and Docker
Containers and DockerContainers and Docker
Containers and Docker
 

More from Travis Wright

Microsoft ignite 2018 SQL server 2019 big data clusters - deep dive session
Microsoft ignite 2018 SQL server 2019 big data clusters - deep dive sessionMicrosoft ignite 2018 SQL server 2019 big data clusters - deep dive session
Microsoft ignite 2018 SQL server 2019 big data clusters - deep dive session
Travis Wright
 
Microsoft ignite 2018 SQL Server 2019 big data clusters - intro session
Microsoft ignite 2018  SQL Server 2019 big data clusters - intro sessionMicrosoft ignite 2018  SQL Server 2019 big data clusters - intro session
Microsoft ignite 2018 SQL Server 2019 big data clusters - intro session
Travis Wright
 
PASS Summit - SQL Server 2017 Deep Dive
PASS Summit - SQL Server 2017 Deep DivePASS Summit - SQL Server 2017 Deep Dive
PASS Summit - SQL Server 2017 Deep Dive
Travis Wright
 
SQL Server 2017 Deep Dive - @Ignite 2017
SQL Server 2017 Deep Dive - @Ignite 2017SQL Server 2017 Deep Dive - @Ignite 2017
SQL Server 2017 Deep Dive - @Ignite 2017
Travis Wright
 
Microsoft Ignite 2017 - SQL Server on Kubernetes, Swarm, and Open Shift
Microsoft Ignite 2017 - SQL Server on Kubernetes, Swarm, and Open ShiftMicrosoft Ignite 2017 - SQL Server on Kubernetes, Swarm, and Open Shift
Microsoft Ignite 2017 - SQL Server on Kubernetes, Swarm, and Open Shift
Travis Wright
 
SQL Server 2017 on Linux Introduction
SQL Server 2017 on Linux IntroductionSQL Server 2017 on Linux Introduction
SQL Server 2017 on Linux Introduction
Travis Wright
 
SQL Server 2017 on Linux Introduction
SQL Server 2017 on Linux IntroductionSQL Server 2017 on Linux Introduction
SQL Server 2017 on Linux Introduction
Travis Wright
 
SQL Server 2017 Overview and Partner Opportunities
SQL Server 2017 Overview and Partner OpportunitiesSQL Server 2017 Overview and Partner Opportunities
SQL Server 2017 Overview and Partner Opportunities
Travis Wright
 
Data Amp South Africa - Keynote
Data Amp South Africa - KeynoteData Amp South Africa - Keynote
Data Amp South Africa - Keynote
Travis Wright
 
Data Amp South Africa - SQL Server 2017
Data Amp South Africa - SQL Server 2017Data Amp South Africa - SQL Server 2017
Data Amp South Africa - SQL Server 2017
Travis Wright
 
NYC Data Amp - SQL Server 2017
NYC Data Amp - SQL Server 2017NYC Data Amp - SQL Server 2017
NYC Data Amp - SQL Server 2017
Travis Wright
 
NYC Data Amp - Microsoft Azure and Data Services Overview
NYC Data Amp - Microsoft Azure and Data Services OverviewNYC Data Amp - Microsoft Azure and Data Services Overview
NYC Data Amp - Microsoft Azure and Data Services Overview
Travis Wright
 
Build 2017 SQL Server in Dev Ops
Build 2017 SQL Server in Dev OpsBuild 2017 SQL Server in Dev Ops
Build 2017 SQL Server in Dev Ops
Travis Wright
 
SQL Server vNext on Linux
SQL Server vNext on LinuxSQL Server vNext on Linux
SQL Server vNext on Linux
Travis Wright
 
SUSE Webinar - Introduction to SQL Server on Linux
SUSE Webinar - Introduction to SQL Server on LinuxSUSE Webinar - Introduction to SQL Server on Linux
SUSE Webinar - Introduction to SQL Server on Linux
Travis Wright
 
Nordic infrastructure Conference 2017 - SQL Server on Linux Overview
Nordic infrastructure Conference 2017 - SQL Server on Linux OverviewNordic infrastructure Conference 2017 - SQL Server on Linux Overview
Nordic infrastructure Conference 2017 - SQL Server on Linux Overview
Travis Wright
 

More from Travis Wright (16)

Microsoft ignite 2018 SQL server 2019 big data clusters - deep dive session
Microsoft ignite 2018 SQL server 2019 big data clusters - deep dive sessionMicrosoft ignite 2018 SQL server 2019 big data clusters - deep dive session
Microsoft ignite 2018 SQL server 2019 big data clusters - deep dive session
 
Microsoft ignite 2018 SQL Server 2019 big data clusters - intro session
Microsoft ignite 2018  SQL Server 2019 big data clusters - intro sessionMicrosoft ignite 2018  SQL Server 2019 big data clusters - intro session
Microsoft ignite 2018 SQL Server 2019 big data clusters - intro session
 
PASS Summit - SQL Server 2017 Deep Dive
PASS Summit - SQL Server 2017 Deep DivePASS Summit - SQL Server 2017 Deep Dive
PASS Summit - SQL Server 2017 Deep Dive
 
SQL Server 2017 Deep Dive - @Ignite 2017
SQL Server 2017 Deep Dive - @Ignite 2017SQL Server 2017 Deep Dive - @Ignite 2017
SQL Server 2017 Deep Dive - @Ignite 2017
 
Microsoft Ignite 2017 - SQL Server on Kubernetes, Swarm, and Open Shift
Microsoft Ignite 2017 - SQL Server on Kubernetes, Swarm, and Open ShiftMicrosoft Ignite 2017 - SQL Server on Kubernetes, Swarm, and Open Shift
Microsoft Ignite 2017 - SQL Server on Kubernetes, Swarm, and Open Shift
 
SQL Server 2017 on Linux Introduction
SQL Server 2017 on Linux IntroductionSQL Server 2017 on Linux Introduction
SQL Server 2017 on Linux Introduction
 
SQL Server 2017 on Linux Introduction
SQL Server 2017 on Linux IntroductionSQL Server 2017 on Linux Introduction
SQL Server 2017 on Linux Introduction
 
SQL Server 2017 Overview and Partner Opportunities
SQL Server 2017 Overview and Partner OpportunitiesSQL Server 2017 Overview and Partner Opportunities
SQL Server 2017 Overview and Partner Opportunities
 
Data Amp South Africa - Keynote
Data Amp South Africa - KeynoteData Amp South Africa - Keynote
Data Amp South Africa - Keynote
 
Data Amp South Africa - SQL Server 2017
Data Amp South Africa - SQL Server 2017Data Amp South Africa - SQL Server 2017
Data Amp South Africa - SQL Server 2017
 
NYC Data Amp - SQL Server 2017
NYC Data Amp - SQL Server 2017NYC Data Amp - SQL Server 2017
NYC Data Amp - SQL Server 2017
 
NYC Data Amp - Microsoft Azure and Data Services Overview
NYC Data Amp - Microsoft Azure and Data Services OverviewNYC Data Amp - Microsoft Azure and Data Services Overview
NYC Data Amp - Microsoft Azure and Data Services Overview
 
Build 2017 SQL Server in Dev Ops
Build 2017 SQL Server in Dev OpsBuild 2017 SQL Server in Dev Ops
Build 2017 SQL Server in Dev Ops
 
SQL Server vNext on Linux
SQL Server vNext on LinuxSQL Server vNext on Linux
SQL Server vNext on Linux
 
SUSE Webinar - Introduction to SQL Server on Linux
SUSE Webinar - Introduction to SQL Server on LinuxSUSE Webinar - Introduction to SQL Server on Linux
SUSE Webinar - Introduction to SQL Server on Linux
 
Nordic infrastructure Conference 2017 - SQL Server on Linux Overview
Nordic infrastructure Conference 2017 - SQL Server on Linux OverviewNordic infrastructure Conference 2017 - SQL Server on Linux Overview
Nordic infrastructure Conference 2017 - SQL Server on Linux Overview
 

Recently uploaded

FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
Adtran
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
Kumud Singh
 
Full-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalizationFull-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalization
Zilliz
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Aggregage
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
Aftab Hussain
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
Building RAG with self-deployed Milvus vector database and Snowpark Container...
Building RAG with self-deployed Milvus vector database and Snowpark Container...Building RAG with self-deployed Milvus vector database and Snowpark Container...
Building RAG with self-deployed Milvus vector database and Snowpark Container...
Zilliz
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
danishmna97
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Nexer Digital
 
20 Comprehensive Checklist of Designing and Developing a Website
20 Comprehensive Checklist of Designing and Developing a Website20 Comprehensive Checklist of Designing and Developing a Website
20 Comprehensive Checklist of Designing and Developing a Website
Pixlogix Infotech
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems S.M.S.A.
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
DianaGray10
 
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofszkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
Alex Pruden
 
GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...
ThomasParaiso2
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
mikeeftimakis1
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
Neo4j
 

Recently uploaded (20)

FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
 
Full-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalizationFull-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalization
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
Building RAG with self-deployed Milvus vector database and Snowpark Container...
Building RAG with self-deployed Milvus vector database and Snowpark Container...Building RAG with self-deployed Milvus vector database and Snowpark Container...
Building RAG with self-deployed Milvus vector database and Snowpark Container...
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
 
20 Comprehensive Checklist of Designing and Developing a Website
20 Comprehensive Checklist of Designing and Developing a Website20 Comprehensive Checklist of Designing and Developing a Website
20 Comprehensive Checklist of Designing and Developing a Website
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
 
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofszkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
 
GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
 

SQL Server in DevOps Town Hall Webinar

  • 1. SQL Server on Linux Engineering Town Hall Webinar Series SQL Server in DevOps SQL Server v.Next CTP 1.4 April 6, 2017 Travis Wright, Luis Bosquez Gonzalez Program Managers SQL Server Engineering Team @radtravis, @_lbosq
  • 2. Announcing vNext CTP 1.4! 2 Release date: March 17, 2017 Version number: 14.0.405.198 What’s new? • SQL Server Agent • Mssql-tools (sqlcmd, bcp) now included in the mssql-server-linux Docker image • VDI interface for backups • Performance improvements • Bug fixes
  • 3. Agenda 3 • Background on SQL Server, DevOps, Containers, and Container Management Platforms • Demos • Lessons Learned • What’s Next • Get Involved
  • 4. The New Reality 4 Data and Agility are the only hope of survival
  • 7. Nature of Software Delivery Has Changed
  • 8. DevOps Principles in Focus 8 • Embrace emerging technology and patterns • Challenge the status quo • Agility, efficiency, and speed • DevOps is a partnership between Dev and Ops • Ops enables and controls • Devs build and maintain apps and services • Both provide support
  • 10. Container Benefits 10 All the benefits of VMs – isolation, portability, duplicatable, shareable, packaging - plus… • Reduced size on disk – better hardware utilization • Reduced CPU/memory consumption – better hardware utilization • Reduced deployment size – faster deployments and scale up/down • Reduced patching – less effort, less vulnerability, less down time • Better composability – Images of layers, applications defined as multiple containers • Easier sharing – Docker Hub and Registry This is not a fad!
  • 11. …but wait… 11 • “Containers are emphemeral” • “Containers aren’t for anything critical” • “Containers aren’t for databases”
  • 12. Docker Databases 12 Most of the most popular images are databases Postgres: 10M+ pulls Mysql: 10M+ pulls Redis: 10M+ pulls Mongo: 10M+ pulls SQL Server on Linux has had ~1M pulls in the first 5 months
  • 13. Persisting Storage 13 Mount a volume to the host Local storage Remote storage Mount a container volume docker run … -v /my/host/dir:/my/container/dir … docker create -v /mydata --name mydatacontainer … docker run --volumes-from mydatacontainer … Read this! https://docs.docker.com/engine/tutorials/dockervolumes/
  • 14. Build & Test Locally in Dev Environment 14 Build locally on Windows, Linux, or macOS Windows Linux Docker containers using Docker for Windows Windows containers on Windows 10 Anniversary Edition+ macOS Linux Docker containers using Docker for Mac Linux Use Docker Engine natively There are other container engines like LXC Use for demo today
  • 15. Testing & Release 15 Use Docker Engine natively Use a container management platform (aka “orchestrator”) Kubernetes Red Hat OpenShift (based on Kubernetes) Docker Swarm Mesosphere DC/OS Use a cloud service Azure Container Service (ACS) AWS EC2 Container Service (ECS) Use for demo today
  • 16. Real World Example 16 SQL Server Engineering Team uses Kubernetes in Azure VMs for automated testing of SQL Server on Linux Automated build process creates the container image Extended existing test system to handle provisioning and test execution/targeting ~700 containers per test run, usually once per day 150 VM hosts in Azure; 128 GB/8 cores 20+ containers/VM in some cases High density, each SQL Server container listens on a different
  • 17. Key Docker Terminology and Commands 17 Image – A definition. Defines what software is included and how it runs. Container – A running instance based on the image. docker pull – download an image from a Docker respository docker run – create a container from an image docker ps – list all locally running containers docker images – list all locally cached images You do not “install” a Docker container! 
  • 18. Application Deployment Patterns Using Containers 18 SQL Server App 1 App 2 SQL Server App 1 SQL Server + App 1 Centralized SQL Server Docker Compose Monolithic App or Microservice
  • 19. Methods for Deployment 19 Deploy standard SQL Server container image. App deploys the DB at start up. Use standard SQL Server image as a base layer. Include DB inside of image. At run time the CMD in the Dockerfile attaches/restores the DB. Use standard SQL Server image as base layer. At run time the DB is created by the CMD in the Dockerfile. Demo #1 today Demo #2 today
  • 21. Demo #2 Deploy a Microservice App to OpenShift 9
  • 22. Lessons Learned • Tools aren’t in image. Resolved • Can't connect directly to the SQL Server from outside OpenShift network - no access to port 1433 • No way to create a DB simply at docker run time • Need to code around delays to start, SQL Server takes too long to start • SQL Server currently requires 3.25 GB of RAM – more than should be minimum • Make sure you are running on latest Docker-Engine version (demo built using Docker 1.12.5) - ASP.Net container will have issues if not. Current OpenShift-All-In-One Vagrant box has older version of Docker Engine. Resolved • Issue with the fact that the container runs as root. Open Shift doesn’t allow that by default. You can change the perms, but it requires cluster administrator privs. • Docker, OpenShift/Kubernetes, and SQL Server on Linux is still relatively new, especially to ops teams. ‐ No established best practices ‐ Minimal documentation
  • 23. What’s Next? 23 • High availability in container management platforms • Performance testing and tuning • Reduce minimum RAM requirement and start up time • Docker image improvements ‐ https://github.com/Microsoft/mssql-docker/issues • More testing of SQL Server on Windows containers  officially support • General Availability later this year of SQL Server v.Next including support for SQL Server on Linux containers • Make SQL Server container images available everywhere
  • 24. Get Involved 24 • Get the SQL Server container images ‐ hub.docker.com/r/microsoft/mssql-server-linux (v.Next) ‐ hub.docker.com/r/microsoft/mssql-server-windows (v.Next) ‐ https://hub.docker.com/r/microsoft/mssql-server-windows-express/ (2016 SP1) ‐ Mesosphere DC/OS Universe image • Provide feedback ‐ https://github.com/Microsoft/mssql-docker/issues • Get samples from today ‐ https://github.com/twright-msft/mssql-node-docker-demo-app ‐ https://github.com/twright-msft/mssql-aspnet-docker-demo-app • Contact me if you want to work on cool stuff together!