SlideShare uma empresa Scribd logo
1 de 22
SQL Server in DevOps
Travis Wright
Principal Program Manager
SQL Server Engineering Team
Microsoft
@radtravis
Agenda
• Background on SQL Server, DevOps, Containers, and Container
Management Platforms
• Demos
• Lessons Learned
• What’s Next
• Get Involved
DevOps Principles in Focus
• 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?
Container Benefits
All the benefits of VMs 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
This is not a fad!
…but wait…
• “Containers are emphemeral”
• “Containers aren’t for databases”
Docker Databases
• Many 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 250K+ pulls in the first two months
Persisting Storage
• 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
• 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
• 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
Use for demo today
Real World Example
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 port
Key Docker Terminology and Commands
• 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
SQL Server
App 1 App 2
SQL Server
App 1
SQL Server
+
App 1
Centralized SQL Server Docker Compose Monolithic App
Methods for Deployment
• 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.
Demos #1,2 today
Demo #3 today
Demo #1
Simple Example + Voting App
Demo #2
ASP.Net Docker-Compose App
Demo #3
Node Monolithic App
Lessons Learned
• Tools aren’t in image. See examples for how to install them.
• 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 required
• 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.
• 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
• Few experts
What’s Next
• 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
• 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!
Thank you!!
twright@microsoft.com
twitter.com/radtravis
linkedin.com/in/radtravis

Mais conteúdo relacionado

Mais procurados

Microservices Runtimes
Microservices RuntimesMicroservices Runtimes
Microservices RuntimesFrank Munz
 
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.1Etsuji Nakai
 
CloudStack Day Japan 2015 - Hypervisor Selection in CloudStack 4.5
CloudStack Day Japan 2015 - Hypervisor Selection in CloudStack 4.5CloudStack Day Japan 2015 - Hypervisor Selection in CloudStack 4.5
CloudStack Day Japan 2015 - Hypervisor Selection in CloudStack 4.5Tim Mackey
 
Counting image views using redis cluster
Counting image views using redis clusterCounting image views using redis cluster
Counting image views using redis clusterRedis Labs
 
Apache Bookkeeper and Apache Zookeeper for Apache Pulsar
Apache Bookkeeper and Apache Zookeeper for Apache PulsarApache Bookkeeper and Apache Zookeeper for Apache Pulsar
Apache Bookkeeper and Apache Zookeeper for Apache PulsarEnrico Olivelli
 
Monitoring Docker containers - Docker NYC Feb 2015
Monitoring Docker containers - Docker NYC Feb 2015Monitoring Docker containers - Docker NYC Feb 2015
Monitoring Docker containers - Docker NYC Feb 2015Datadog
 
Best Practices for Running Kafka on Docker Containers
Best Practices for Running Kafka on Docker ContainersBest Practices for Running Kafka on Docker Containers
Best Practices for Running Kafka on Docker ContainersBlueData, Inc.
 
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 MicroservicesFrank Munz
 
The Mushroom Cloud Effect or What Happens When Containers Fail? by Alois Mayr...
The Mushroom Cloud Effect or What Happens When Containers Fail? by Alois Mayr...The Mushroom Cloud Effect or What Happens When Containers Fail? by Alois Mayr...
The Mushroom Cloud Effect or What Happens When Containers Fail? by Alois Mayr...Docker, Inc.
 
Docker Meetup 08 03-2016
Docker Meetup 08 03-2016Docker Meetup 08 03-2016
Docker Meetup 08 03-2016Docker
 
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 SlidesDocker, Inc.
 
Structured Container Delivery by Oscar Renalias, Accenture
Structured Container Delivery by Oscar Renalias, AccentureStructured Container Delivery by Oscar Renalias, Accenture
Structured Container Delivery by Oscar Renalias, AccentureDocker, Inc.
 
Containerizing legacy applications - OSCON 2016
Containerizing legacy applications - OSCON 2016Containerizing legacy applications - OSCON 2016
Containerizing legacy applications - OSCON 2016Jose De La Rosa
 
Containers orchestrators: Docker vs. Kubernetes
Containers orchestrators: Docker vs. KubernetesContainers orchestrators: Docker vs. Kubernetes
Containers orchestrators: Docker vs. KubernetesDmitry Lazarenko
 
Application Deployment and Management at Scale with 1&1 by Matt Baldwin
Application Deployment and Management at Scale with 1&1 by Matt BaldwinApplication Deployment and Management at Scale with 1&1 by Matt Baldwin
Application Deployment and Management at Scale with 1&1 by Matt BaldwinDocker, Inc.
 
Take an Analytics-driven Approach to Container Performance with Splunk for Co...
Take an Analytics-driven Approach to Container Performance with Splunk for Co...Take an Analytics-driven Approach to Container Performance with Splunk for Co...
Take an Analytics-driven Approach to Container Performance with Splunk for Co...Docker, Inc.
 
Kubernetes - Sailing a Sea of Containers
Kubernetes - Sailing a Sea of ContainersKubernetes - Sailing a Sea of Containers
Kubernetes - Sailing a Sea of ContainersKel Cecil
 

Mais procurados (20)

Microservices Runtimes
Microservices RuntimesMicroservices Runtimes
Microservices Runtimes
 
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
 
JEEconf 2017
JEEconf 2017JEEconf 2017
JEEconf 2017
 
CloudStack Day Japan 2015 - Hypervisor Selection in CloudStack 4.5
CloudStack Day Japan 2015 - Hypervisor Selection in CloudStack 4.5CloudStack Day Japan 2015 - Hypervisor Selection in CloudStack 4.5
CloudStack Day Japan 2015 - Hypervisor Selection in CloudStack 4.5
 
OpenStack Icehouse Overview
OpenStack Icehouse OverviewOpenStack Icehouse Overview
OpenStack Icehouse Overview
 
Counting image views using redis cluster
Counting image views using redis clusterCounting image views using redis cluster
Counting image views using redis cluster
 
Apache Bookkeeper and Apache Zookeeper for Apache Pulsar
Apache Bookkeeper and Apache Zookeeper for Apache PulsarApache Bookkeeper and Apache Zookeeper for Apache Pulsar
Apache Bookkeeper and Apache Zookeeper for Apache Pulsar
 
Monitoring Docker containers - Docker NYC Feb 2015
Monitoring Docker containers - Docker NYC Feb 2015Monitoring Docker containers - Docker NYC Feb 2015
Monitoring Docker containers - Docker NYC Feb 2015
 
Best Practices for Running Kafka on Docker Containers
Best Practices for Running Kafka on Docker ContainersBest Practices for Running Kafka on Docker Containers
Best Practices for Running Kafka on Docker Containers
 
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
 
Fully automated kubernetes deployment and management
Fully automated kubernetes deployment and managementFully automated kubernetes deployment and management
Fully automated kubernetes deployment and management
 
The Mushroom Cloud Effect or What Happens When Containers Fail? by Alois Mayr...
The Mushroom Cloud Effect or What Happens When Containers Fail? by Alois Mayr...The Mushroom Cloud Effect or What Happens When Containers Fail? by Alois Mayr...
The Mushroom Cloud Effect or What Happens When Containers Fail? by Alois Mayr...
 
Docker Meetup 08 03-2016
Docker Meetup 08 03-2016Docker Meetup 08 03-2016
Docker Meetup 08 03-2016
 
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
 
Structured Container Delivery by Oscar Renalias, Accenture
Structured Container Delivery by Oscar Renalias, AccentureStructured Container Delivery by Oscar Renalias, Accenture
Structured Container Delivery by Oscar Renalias, Accenture
 
Containerizing legacy applications - OSCON 2016
Containerizing legacy applications - OSCON 2016Containerizing legacy applications - OSCON 2016
Containerizing legacy applications - OSCON 2016
 
Containers orchestrators: Docker vs. Kubernetes
Containers orchestrators: Docker vs. KubernetesContainers orchestrators: Docker vs. Kubernetes
Containers orchestrators: Docker vs. Kubernetes
 
Application Deployment and Management at Scale with 1&1 by Matt Baldwin
Application Deployment and Management at Scale with 1&1 by Matt BaldwinApplication Deployment and Management at Scale with 1&1 by Matt Baldwin
Application Deployment and Management at Scale with 1&1 by Matt Baldwin
 
Take an Analytics-driven Approach to Container Performance with Splunk for Co...
Take an Analytics-driven Approach to Container Performance with Splunk for Co...Take an Analytics-driven Approach to Container Performance with Splunk for Co...
Take an Analytics-driven Approach to Container Performance with Splunk for Co...
 
Kubernetes - Sailing a Sea of Containers
Kubernetes - Sailing a Sea of ContainersKubernetes - Sailing a Sea of Containers
Kubernetes - Sailing a Sea of Containers
 

Semelhante a Nordic infrastructure Conference 2017 - SQL Server in DevOps

Building Efficient Parallel Testing Platforms with Docker
Building Efficient Parallel Testing Platforms with DockerBuilding Efficient Parallel Testing Platforms with Docker
Building Efficient Parallel Testing Platforms with DockerLaura Frank Tacho
 
Containers docker-docker hub-azureacr-azure aci
Containers docker-docker hub-azureacr-azure aciContainers docker-docker hub-azureacr-azure aci
Containers docker-docker hub-azureacr-azure aciRajesh Kolla
 
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 DockerChris Taylor
 
AWS re:Invent 2016: Development Workflow with Docker and Amazon ECS (CON302)
AWS re:Invent 2016: Development Workflow with Docker and Amazon ECS (CON302)AWS re:Invent 2016: Development Workflow with Docker and Amazon ECS (CON302)
AWS re:Invent 2016: Development Workflow with Docker and Amazon ECS (CON302)Amazon Web Services
 
To Build My Own Cloud with Blackjack…
To Build My Own Cloud with Blackjack…To Build My Own Cloud with Blackjack…
To Build My Own Cloud with Blackjack…Sergey Dzyuban
 
An introduction to configuring Domino for Docker
An introduction to configuring Domino for DockerAn introduction to configuring Domino for Docker
An introduction to configuring Domino for DockerGabriella Davis
 
Verifying your Ansible Roles using Docker, Test Kitchen and Serverspec
Verifying your Ansible Roles using Docker, Test Kitchen and ServerspecVerifying your Ansible Roles using Docker, Test Kitchen and Serverspec
Verifying your Ansible Roles using Docker, Test Kitchen and ServerspecEdmund Dipple
 
Using Docker in production: Get started today!
Using Docker in production: Get started today!Using Docker in production: Get started today!
Using Docker in production: Get started today!Clarence Bakirtzidis
 
Containers, microservices and serverless for realists
Containers, microservices and serverless for realistsContainers, microservices and serverless for realists
Containers, microservices and serverless for realistsKarthik Gaekwad
 
Rami Sayar - Node microservices with Docker
Rami Sayar - Node microservices with DockerRami Sayar - Node microservices with Docker
Rami Sayar - Node microservices with DockerWeb à Québec
 
Docker for the enterprise
Docker for the enterpriseDocker for the enterprise
Docker for the enterpriseBert Poller
 
(DVO305) Turbocharge YContinuous Deployment Pipeline with Containers
(DVO305) Turbocharge YContinuous Deployment Pipeline with Containers(DVO305) Turbocharge YContinuous Deployment Pipeline with Containers
(DVO305) Turbocharge YContinuous Deployment Pipeline with ContainersAmazon Web Services
 
LASUG Online: Introduction to Docker and Docker Tools
LASUG Online: Introduction to Docker and Docker ToolsLASUG Online: Introduction to Docker and Docker Tools
LASUG Online: Introduction to Docker and Docker ToolsVasiliy Fomichev
 
Innovating faster with SBT, Continuous Delivery, and LXC
Innovating faster with SBT, Continuous Delivery, and LXCInnovating faster with SBT, Continuous Delivery, and LXC
Innovating faster with SBT, Continuous Delivery, and LXCkscaldef
 
Docker crash course
Docker crash courseDocker crash course
Docker crash coursenispas
 
Cloudsolutionday 2016: DevOps workflow with Docker on AWS
Cloudsolutionday 2016: DevOps workflow with Docker on AWSCloudsolutionday 2016: DevOps workflow with Docker on AWS
Cloudsolutionday 2016: DevOps workflow with Docker on AWSAWS Vietnam Community
 

Semelhante a Nordic infrastructure Conference 2017 - SQL Server in DevOps (20)

Building Efficient Parallel Testing Platforms with Docker
Building Efficient Parallel Testing Platforms with DockerBuilding Efficient Parallel Testing Platforms with Docker
Building Efficient Parallel Testing Platforms with Docker
 
Containers docker-docker hub-azureacr-azure aci
Containers docker-docker hub-azureacr-azure aciContainers docker-docker hub-azureacr-azure aci
Containers docker-docker hub-azureacr-azure aci
 
Power of Azure Devops
Power of Azure DevopsPower of Azure Devops
Power of Azure Devops
 
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
 
AWS re:Invent 2016: Development Workflow with Docker and Amazon ECS (CON302)
AWS re:Invent 2016: Development Workflow with Docker and Amazon ECS (CON302)AWS re:Invent 2016: Development Workflow with Docker and Amazon ECS (CON302)
AWS re:Invent 2016: Development Workflow with Docker and Amazon ECS (CON302)
 
To Build My Own Cloud with Blackjack…
To Build My Own Cloud with Blackjack…To Build My Own Cloud with Blackjack…
To Build My Own Cloud with Blackjack…
 
Containers and Docker
Containers and DockerContainers and Docker
Containers and Docker
 
An introduction to configuring Domino for Docker
An introduction to configuring Domino for DockerAn introduction to configuring Domino for Docker
An introduction to configuring Domino for Docker
 
Verifying your Ansible Roles using Docker, Test Kitchen and Serverspec
Verifying your Ansible Roles using Docker, Test Kitchen and ServerspecVerifying your Ansible Roles using Docker, Test Kitchen and Serverspec
Verifying your Ansible Roles using Docker, Test Kitchen and Serverspec
 
Using Docker in production: Get started today!
Using Docker in production: Get started today!Using Docker in production: Get started today!
Using Docker in production: Get started today!
 
Containers, microservices and serverless for realists
Containers, microservices and serverless for realistsContainers, microservices and serverless for realists
Containers, microservices and serverless for realists
 
Rami Sayar - Node microservices with Docker
Rami Sayar - Node microservices with DockerRami Sayar - Node microservices with Docker
Rami Sayar - Node microservices with Docker
 
Docker for the enterprise
Docker for the enterpriseDocker for the enterprise
Docker for the enterprise
 
(DVO305) Turbocharge YContinuous Deployment Pipeline with Containers
(DVO305) Turbocharge YContinuous Deployment Pipeline with Containers(DVO305) Turbocharge YContinuous Deployment Pipeline with Containers
(DVO305) Turbocharge YContinuous Deployment Pipeline with Containers
 
LASUG Online: Introduction to Docker and Docker Tools
LASUG Online: Introduction to Docker and Docker ToolsLASUG Online: Introduction to Docker and Docker Tools
LASUG Online: Introduction to Docker and Docker Tools
 
Innovating faster with SBT, Continuous Delivery, and LXC
Innovating faster with SBT, Continuous Delivery, and LXCInnovating faster with SBT, Continuous Delivery, and LXC
Innovating faster with SBT, Continuous Delivery, and LXC
 
Docker crash course
Docker crash courseDocker crash course
Docker crash course
 
Docker and CloudStack
Docker and CloudStackDocker and CloudStack
Docker and CloudStack
 
141204 upload
141204 upload141204 upload
141204 upload
 
Cloudsolutionday 2016: DevOps workflow with Docker on AWS
Cloudsolutionday 2016: DevOps workflow with Docker on AWSCloudsolutionday 2016: DevOps workflow with Docker on AWS
Cloudsolutionday 2016: DevOps workflow with Docker on AWS
 

Mais de 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 sessionTravis 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 sessionTravis 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 DiveTravis 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 2017Travis 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 ShiftTravis Wright
 
SQL Server 2017 on Linux Introduction
SQL Server 2017 on Linux IntroductionSQL Server 2017 on Linux Introduction
SQL Server 2017 on Linux IntroductionTravis Wright
 
SQL Server 2017 on Linux Introduction
SQL Server 2017 on Linux IntroductionSQL Server 2017 on Linux Introduction
SQL Server 2017 on Linux IntroductionTravis 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 OpportunitiesTravis Wright
 
Data Amp South Africa - Keynote
Data Amp South Africa - KeynoteData Amp South Africa - Keynote
Data Amp South Africa - KeynoteTravis 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 2017Travis Wright
 
NYC Data Amp - SQL Server 2017
NYC Data Amp - SQL Server 2017NYC Data Amp - SQL Server 2017
NYC Data Amp - SQL Server 2017Travis 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 OverviewTravis Wright
 
Red Hat Summit 2017 - Intro to SQL Server on RHEL and Open Shift
Red Hat Summit 2017 - Intro to SQL Server on RHEL and Open ShiftRed Hat Summit 2017 - Intro to SQL Server on RHEL and Open Shift
Red Hat Summit 2017 - Intro to SQL Server on RHEL and Open ShiftTravis Wright
 
SQL Server vNext on Linux
SQL Server vNext on LinuxSQL Server vNext on Linux
SQL Server vNext on LinuxTravis 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 LinuxTravis 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 OverviewTravis Wright
 

Mais de 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
 
Red Hat Summit 2017 - Intro to SQL Server on RHEL and Open Shift
Red Hat Summit 2017 - Intro to SQL Server on RHEL and Open ShiftRed Hat Summit 2017 - Intro to SQL Server on RHEL and Open Shift
Red Hat Summit 2017 - Intro to SQL Server on RHEL and Open Shift
 
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
 

Último

Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Principled Technologies
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024The Digital Insurer
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 

Último (20)

Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 

Nordic infrastructure Conference 2017 - SQL Server in DevOps

  • 1.
  • 2. SQL Server in DevOps Travis Wright Principal Program Manager SQL Server Engineering Team Microsoft @radtravis
  • 3. Agenda • Background on SQL Server, DevOps, Containers, and Container Management Platforms • Demos • Lessons Learned • What’s Next • Get Involved
  • 4. DevOps Principles in Focus • 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
  • 5. Containers • Fad or fundamental transformation?
  • 6. Container Benefits All the benefits of VMs 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 This is not a fad!
  • 7. …but wait… • “Containers are emphemeral” • “Containers aren’t for databases”
  • 8. Docker Databases • Many 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 250K+ pulls in the first two months
  • 9. Persisting Storage • 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/
  • 10. Build & Test Locally in Dev Environment • 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
  • 11. Testing & Release • 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 Use for demo today
  • 12. Real World Example 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 port
  • 13. Key Docker Terminology and Commands • 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! 
  • 14. Application Deployment Patterns Using Containers SQL Server App 1 App 2 SQL Server App 1 SQL Server + App 1 Centralized SQL Server Docker Compose Monolithic App
  • 15. Methods for Deployment • 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. Demos #1,2 today Demo #3 today
  • 16. Demo #1 Simple Example + Voting App
  • 19. Lessons Learned • Tools aren’t in image. See examples for how to install them. • 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 required • 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. • 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 • Few experts
  • 20. What’s Next • 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
  • 21. Get Involved • 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!