Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Microsoft Ignite 2017 - SQL Server on Kubernetes, Swarm, and Open Shift

818 views

Published on

Presentation on using SQL Server on container platforms such as Kubernetes, Swarm, and OpenShift.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Microsoft Ignite 2017 - SQL Server on Kubernetes, Swarm, and Open Shift

  1. 1. The New Reality 3 Data and Agility are the only hope of survival
  2. 2. 4 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
  3. 3. Disruption happens practically overnight 5
  4. 4. Nature of Software Delivery Has Changed
  5. 5. DevOps Principles in Focus 7
  6. 6. 9
  7. 7. Container Benefits 9 This is not a fad!
  8. 8. …but wait… 10
  9. 9. Docker Databases 11 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 ~2M+ pulls in the first 10 months
  10. 10. Persisting Storage 12 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/
  11. 11. Build & Test Locally in Dev Environment 13 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
  12. 12. Application Deployment Patterns Using Containers 14 SQL Server App 1 App 2 SQL Server App 1 SQL Server + App 1 Centralized SQL Server Docker Compose Monolithic App or Microservice
  13. 13. Real World Example – SQL Server Team 18 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
  14. 14. Real World Example – DV01 https://customers.microsoft.com/en-us/story/dv01
  15. 15. NETWORKING
  16. 16. Container to Container on the Same Host 2 4 OVS PACKET FLOW NODE POD 1 veth0 10.1.15.2/24 br0 10.1.15.1/24 192.168.0.100 eth0 POD 2 veth1 10.1.15.3/24 vxlan0
  17. 17. NODE 2 NODE 1 2 5 OVS PACKET FLOW POD 1 veth0 10.1.15.2/24 br0 10.1.15.1/24 vxlan0 POD 2 veth0 10.1.20.2/24 br0 10.1.20.1/24 vxlan0 192.168.0.100 eth0 192.168.0.200 eth0 Container to Container on the Different Hosts
  18. 18. Container Connects to External Host Container to Container on Different Hosts 2 6 OVS PACKET FLOW NODE 1 POD 1 veth0 10.1.15.2/24 br0 10.1.15.1/24 tun0 192.168.0.100 External Host eth0
  19. 19. SERVICE POD POD ROUTER POD EXTERNAL TRAFFIC INTERNAL TRAFFIC ROUTE EXPOSES SERVICES EXTERNALLY
  20. 20. ROUTE SPLIT TRAFFIC SERVICE A App A App A SERVICE B App B App B ROUTE 10% traffic 90% traffic Split Traffic Between Multiple Services For A/B Testing, Blue/Green and Canary Deployments
  21. 21. “For which workloads or application use caseshave you used/do you anticipate touse containers?” DataApps 77% CloudApps 71% Systems of Engagement 62% Systems of Record 62% Web andCommerce Software 57% MobileApps 52% SocialApps 46% Scalable, Cost Effective, Distributed Storage for Containers
  22. 22. ● Persistent Volume are tied to a piece of network storage ● Provisioned by an administrator either statically or dynamically ● Allows admins to describe storage and users to request storage PERSISTENT STORAGE NFS GlusterFS OpenStack Cinder Ceph RBD Azure Blob Fibre Channel Azure File Azure Disk iSCSI
  23. 23. PROJECT POOL OF PERSISTENT VOLUMES PERSISTENT STORAGE NFS PV iSCS I PV NFS PV Admin User register PV create claim NFS PV GlusterFS PV Pod claim Pod claim Pod claim Ceph RBD PV
  24. 24. 3 3 DYNAMIC VOLUME PROVISIONING Admin User define StorageClass create claim: Fastest Slow Azure-Disk Fast AWS-SSD Fastest NetApp-Flash NetApp Provisioner AWS Provisioner Pod claim PV OpenShift PV Controller provision Azure Provisioner bound
  25. 25. NODENODENODE CONTAINER-NATIVE STORAGE NODE POD POD POD POD POD POD POD POD POD POD RHG S RHG S RHG S POD POD POD MASTER
  26. 26. NODE MASTER ● Secure mechanism for holding sensitive data e.g. ○ Passwords and credentials ○ SSH Keys ○ Certificates ● Secrets are made available as ○ Environment variables ○ Volume mounts ○ Interaction with external systems ● Encrypted in transit ● Never rest on the nodes 3 6 SECRET MANAGEMENT Container Distributed Store Container
  27. 27. Secret Example
  28. 28. https://hub.docker.com/r/microsoft/mssql-server-linux/ https://www.openshift.com/dedicated/test-drive.html https://github.com/twright-msft/example-voting-app https://github.com/twright-msft/mssql-server-rhel https://github.com/twright-msft/contoso-u https://github.com/twright-msft/contoso-u DevOps: CI/CD with Microsoft SQL Server 2017 Tomorrow at 12:30 – 1:45, Hyatt International
  29. 29. Key Docker Terminology and Commands 45 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! 
  30. 30. Master.mdf ContosoUniversity.ldf ContosoUniversity.mdf db-prod:latest

×