Docker for DBAs SQL Saturday 8/17/2019.

Slides:



Advertisements
Similar presentations
“It’s going to take a month to get a proof of concept going.” “I know VMM, but don’t know how it works with SPF and the Portal” “I know Azure, but.
Advertisements

Windows Azure Conference 2014 Running Docker on Windows Azure.
Migrating Business Apps to Windows Azure Marc Müller Principal Consultant, 4tecture GmbH
Windows Azure Conference 2014 Deploy your Java workloads on Windows Azure.
Enabling the Cloud OS Today  New high-density Web Sites with elastic cloud scaling and complete dev-ops experiences  New rich IaaS experience for self-service.
Technology Drill Down: Windows Azure Platform Eric Nelson | ISV Application Architect | Microsoft UK |
#msitconf. Damien Caro Technical Evangelist Manager, Что будет, если приложение поместить в контейнер? What happens if the application.
Amazon Web Services. Amazon Web Services (AWS) - robust, scalable and affordable infrastructure for cloud computing. This session is about:
Docker for Ops: Operationalize Your Apps in Production Vivek Saraswat Sr. Product Evan Hazlett Sr. Software
Building ARM IaaS Application Environment
Let's talk about Linux and Virtualization in 'vLAMP'
Fundamentals Sunny Sharma Microsoft
Netscape Application Server
N-Tier Architecture.
Docker and Azure Container Service
Docker Birthday #3.
In-Depth Introduction to Docker
Deploying Dockerized Apps to the Azure Container Service
Microservices, Docker, .NET, Windows, Linux, Azure. Oh, My!
Dmytro Mykhailov How HashiCorp platform tools can make the difference in development and deployment Target and goal of HashiCorp.
Building and Running an Enterprise-grade Serverless Platform on Kubernetes Quinton Hoole, Technical VP Ying Huang, Sr. Architect US R&D, Huawei.
ASP.NET in Linux and Windows containers
Andrew Pruski SQL Server & Containers
Serverless Architecture in Azure
9/13/2018 © 2014 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks.
Microsoft Azure Service Fabric Overview
Windows Server & Hyper-V Containers Vaggelis Kappas
Microsoft Connect /18/ :32 PM
9/20/ :55 PM © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN.
Build /21/2018 © 2015 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION.
Azhagappan Arunachalam
Introduction to Docker
Using docker containers
Azure Container Instances
Oracle DB and Docker Get Your Dockerized Oracle Sandbox Running in the Cloud or On- Premises Martin Knazovicky Dbvisit Software.
Dev Test on Windows Azure Solution in a Box
Microsoft Ignite NZ October 2016 SKYCITY, Auckland.
Intro to Docker Containers and Orchestration in the Cloud
Microsoft Ignite NZ October 2016 SKYCITY, Auckland.
Data Security for Microsoft Azure
Developing for the cloud with Visual Studio
Intro about Contanier and Docker Technology
12/7/2018 2:05 AM © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN.
Learn. Imagine. Build. .NET Conf
Microsoft Virtual Academy
From Source to Production: The Latest in Container Dev
Technical Capabilities
Serverless Architecture in the Cloud
MDC-B203 Deploying Applications in Microsoft System Center Virtual Machine Manager Using Services John Messec Program Manager Microsoft.
MIROSLAV POPOVIĆ Docker i ASP.NET Core
Windows Azure Overview
5 Azure Services Every .NET Developer Needs to Know
Introduction to Docker
TechEd /23/2019 9:23 AM © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks.
OpenStack Summit Berlin – November 14, 2018
SQL Server using Amazon Web Services EC2 Instances
Azure Container Service
PerformanceBridge Application Suite and Practice 2.0 IT Specifications
Microsoft Virtual Academy
Deploying machine learning models at scale
Azure App Service Web App for Containers
SQL Server on Amazon Web Services
Containers on Azure Peter Lasne Sr. Software Development Engineer
SSDT, Docker, and (Azure) DevOps
SQL Server 2019 Bringing Apache Spark to SQL Server
06 | SQL Server and the Cloud
The Future of Database Development (with containers)
SQL Server on Containers
The Database World of Azure
Presentation transcript:

Docker for DBAs SQL Saturday 8/17/2019

About Me –Brad(ley) Nielsen 11+ years development experience Masters in Human Computer Interaction IU Graduate Certificate in Data Science MCSE in Business Intelligence Microsoft Professional Program for Data Science 1+ Years working with Docker

Contents Docker What is it? How to use it? Manage State in Docker SQL Server + Docker Docker benefits Big topic. Try to smooth over nuances where possible. Look at a narrow slice of the ecosystem. Most Docker documentation is shrouded in app dev talk

What is Docker? Open platform for developing, shipping, and running applications. Main Benefits Write once deploy anywhere Improved security Fast deployment Efficient resource utilization https://opensource.com/resources/what-docker https://www.docker.com/resources/what-container Start vague and get more detailed as we go Understand whole to understand the pieces.

Container Analogy Container imagery is everywhere. Why are they called containers? Analogy to shipping containers. Before moving stuff was hard. Different shapes and sizes. Containers standardized that.

Container Analogy Docker containers aim to do the same with applications

Docker Components Image Container Registry Host Binary “executable” Running “executable” Registry Versioned image storage and sharing Host Resource that spawns and manages containers Rough analogy of an “executable” Container = double click and run “executable”

Image Overview Images are layered, read-only, snapshots of applications Contains Application Dependencies (DLLs, Jars, libraries, etc.) Any other file specified by build (Config files, etc.) Does not include Operating system files Unit of deployment in Docker Relying on the operating system is why Docker is so much faster.

Image Overview Images are built in layers to save space and provide reusability. Union File system Take note of the R/W layer R/W goes away when container reboots Note the R/O layers

Container Overview Container = Image + R/W Layer + Process(es) Images may be used to create one to many containers Processes within container are isolated Much less resource usage vs VM From a processes point of view they appear to be alone. (Various OS tricks.) Containers don’t recreate OS resources

Container Overview Containers are to applications as virtual machines are to operating systems Don’t lean too heavily in VM analogy. Light weight VM good analogy but not much in common technically Container Virtual Machine

Registry Overview Stores, shares, and versions Docker images. Repository = 1 type of image Registry = many repositories Types Local Private Public Private = usually a corporate registry Repository = Table Registry = DB

Host Overview Docker Daemon Azure Other Orchestrators Azure App Service Azure Kubernetes Service Azure Container Instance Other Orchestrators Docker Swarm Elastic Container Service HashiCorp Nomad Docker Daemon = single machine Orchestrator = advanced multi container deployments. Usually cluster based

Azure Host Overview Azure Container Instances Azure App Service Container equivalent to Azure Functions Per second billing Azure App Service Allows you to run any web stack in App Service One to many containers Same frills as other App Service Azure Kubernetes Service For complicated multi container services ACI = Serverless App Service = Web apps Azure K S = Heavy duty enterprise cluster Couple others, but those are the main ways

Put It All Together We’ll go through these steps in a demo

How to use it? DEMO Build Push to Repository Deploy to Azure Container Instances Deploy to Azure App Service

Let’s talk about state in Docker Containers are stateless Most apps need some sort of state management Databases are very much stateful What is state? Things you need to save if the app reboots

Option 0: Use a database Most Docker apps are stateless Rely on a database that lives outside the cluster Obviously not going to work when your app is a database

Option 1: Embrace stateless Useful for testing Fast spin up and tear down Changes to data do not persist through reboots Great for QA and Testing

Option 2: Volumes Conceptually like network drives for containers Stored in host file system, but managed by Docker Can also mount remote storage such as Azure Files Default is folder on the host system

Option 3: StatefulSets Kubernetes only Uses Volume claims (Docker Volumes for clusters) Other advanced features for stateful applications Other orchestrators have similar features

SQL Server on Docker Linux SQL Server 2017 or 2019 Windows SQL Server Express (limited support) Operate identically to their VM counterparts

SQL Server on Docker DEMO Deploy to Azure App Service

SQL Server Kubernetes HA Groups Easy deployment… if you know Kubernetes

SQL Server 2019 Big Data Cluster •A compute pool is a group of SQL Server pods used for parallel ingestion of data from an external source–such as Oracle, HDFS, or another SQL Server–and for cross-partition aggregation and shuffling of the dataas part of a query. •A storage pool is a group of pods containing SQL Serverengine, HDFS data node, and Spark containers. This provides the scalable storage tier along with the collocated compute for SQL Server and Spark right next to the data. •A data pool is a group of SQL Serverenginepods that is used either to cache data from an external source or to store an incoming stream of append-only data. In either case,the data is partitioned and distributed across all of the SQL Server instances in the pool Beware version 1

Docker Benefits Higher server density over VMs Reduce errors moving from development to production Easy app scaling Easy deployment Security DevOps integration Worked on my machine

Docker Drawbacks Large learning curve Orchestrators (Kubernetes, etc.) make this curve worse May be overkill for smaller applications Caution is recommended for production DB deployments