SlideShare ist ein Scribd-Unternehmen logo
1 von 56
Downloaden Sie, um offline zu lesen
Using Redgate, AKS and Azure
to bring DevOps to your
Database
By Rob Sewell & Hamish Watson
Hi there, we’re…
Hamish Watson
Rob Sewell
https://sqldbawithabeard.com/
@sqldbawithbeard
https://hybriddbablog.com/
@theHybridDBA
Rob = Somerset, UK
Hamish = Christchurch, NZ
https://devops.pass.org/default.aspx
Agenda
• How was life before DevOps?
• What is this DevOps thing you talk of?
• Why use Redgate tools?
• Why use Azure?
• Why use containers
• Why use Azure Kubernetes Services
Database Development Cycle:
• Manual
• Inconsistently tested
• Plagued with poor or NO source control
• Slowed down by lengthy processes and daunting deployments
• Application code breaks our database!!
“….never say the word DevOps”
The first rule of DevOps…….
Hamish Watson, circa 2013
“Let’s use our tools and create a process
that allows us to automate the reliable
deployment of business value to our
clients.”
Hamish Watson, circa 2016
#MakeStuffGo
Culture
Automation
Lean
Measurement
Sharing
What is DevOps?
#Only The Name Is New
#Common business goal
#Everyone working together
Tools
The four pillars of DevOps
Process People Culture
https://www.red-gate.com/blog/database-devops/the-four-pillars-of-devops
Enhanced customer
experience
DevOps Benefits
Increased capacity
to innovate
Faster time to value
DevOps tools – yours might differ
Issue, bug and task tracking
Source control
Integrated Development Environment
Automated build server
Automated testing
Automated release
Ways you can start your DevOps journey
1. Source Control
2. Unit Testing
3. Infrastructure as Code
4. Continuous Integration
5. Continuous Delivery
6. Continuous Monitoring & Testing
Storing our database in source control
The what now…?
Ways to get our database into Source Control
(SQL Source Control)
Ways to get our database into Source Control
(SQL Source Control)
Ways to get our database into Source Control
(SQL Source Control)
Unit Testing for Databases
Yeah, nah…
…..that’s kinda non-existent.
Why we need to do unit testing
The client actually wanted a ‘g’
Consider this application developer
Skills: C#, .NET, java, PowerShell
Experience: 8 years
Platforms: Windows Server, Azure, AWS, docker
Databases: Microsoft SQL Server, MySQL, Oracle
Unit Testing: Nah, don’t really believe in it mate….
X
Consider this database developer
Skills: T-SQL, Entity Framework, PowerShell
Experience: 8 years
Platforms: Windows Server, Azure, RDS
Databases: Microsoft SQL Server 2000 - 2017
Unit Testing: I write beautiful stored procs mate….
P
Introducing tSQLt
https://tsqlt.org/
22
Introducing tSQLt
Open Source Database Unit Testing Framework (free!!)
http://tsqlt.org/
Write unit tests in TSQL and can be written/run in SSMS
Very similar to NUnit & JUnit
There are a lot of methods for asserts
23
Introducing tSQLt
Use of fake tables/views isolates code while testing
Self Contained tests – isolated transactions
We can choose to run all, some or one test
Tests grouped in their own schema
Does require CLR – this is OK for DEV and some TEST
24
tSQLt is easy as to run…
EXEC tsqlt.runall
SQL Test makes it even easier and standard..
Infrastructure as Code
Getting what you want, how you want it, when you
want it….
…with code that is.
Infrastructure as Code – solving inertia
More of this
LESS of this
Learn how to write in YAML…
Continuous, Continuous, Continuous!!
Let’s do all the things…
….continuously
Continuous Integration
“Continuous Integration (CI) is a development practice that requires developers to
integrate code into a shared repository several times a day.
Each check-in is then verified by an automated build, allowing teams to detect problems
early.
By integrating regularly, you can detect errors quickly, and fix them more easily.”
https://www.thoughtworks.com/continuous-integration
http://workingwithdevs.com/t-sql-tuesday-90-you-are-doing-continuous-integration-wrong
Continuous Integration
TDD DEVELOPER – Steve Jones
WRITES CODE
COMMIT SOURCE CONTROL
SYSTEM
O.S DEVELOPER – Rob WatsonWRITES CODE
POLLING
NOTIFICATIONS
CONTINUOUS
INTEGRATION &
TESTING
TEST
FAILURE
TEST AGAIN PACKAGE &
DEPLOY
1
2
3 4
56
7
8
910
11
12
NOTIFY
13
14
15 16
Unit
testing
Unit
testing
CI isn’t the whole story for reliable deployments
Dev
Dev BUILD
SERVER
Build
testing
UAT
User
testing
PRODUCTION EXPLOSION
Continuous
integration
1
2
3
4
5
6
3 Months of
changes
Feedback on 3 Months of changes7
Wasteful rework & manual intervention8
Unit
testing
Continuous Delivery – shifting everything left
Feedback
Dev
Dev Build
server
Build
tests
Continuous integration
Build
Continuous testing
Integration tests Functional tests
User acceptance
tests
Feedback
Integration
Feedback
Functional
Feedback
UAT
Final
test
Feedback
Pre prod
Small iterative changes
CONTINUOUS DELIVERY
Feedback
‘SHIFT LEFT’ OPERATIONAL FEEDBACK
PROD
Continuous
monitoring
Unit
testing
CONTINUOUS MONITORING
Containers, Azure and AKS
The Data Platform has evolved….
… have you?
Why move to the Cloud?
• Elasticity
• Pay for
what you
need
• Fail fast
• Fast time to
market
• Secure
• Reliable
• Business
SLA
Less of this
More of this
My datacentre in the cloudMy datacentre in the cloud – all via this:
SQL Server 2017
• SQL Server 2017 and above can run on Linux
• Which means it can now run in a container
• This is quite a game changer for our industry..
SQL Server in containers
Container Container Container
Portable
Run anywhere Docker is supported
Lightweight
Reduced disk, CPU, and memory footprint
Consistent
Consistent image of SQL Server, scripts, and
tools
Efficient
Faster deployment, reduced patching, and
less downtime
Container configuration
Database
Persisted storage
Switch for
simple
upgrades
Bare Metal Server
Infrastructure Layer
Operating System (OS)
Physical
Hypervisor (VMs)
Containers
Hypervisor
Applications Guest 1 OS
Guest 1
Applications
Guest 2 OS
Guest 2
Applications
Orchestration Platform
Container 1 Container 2
SAN Storage
Operating System (OS)
Worker Node 1 Worker Node 2
Container 1 Container 2
Orchestrated
Containers
Networking
The cake layers of Kubernetes
Persistent Volume Storage
Kubernetes
Built-in HADR orchestration with no clustering required
User
Shared storage HA in Kubernetes
Node
Pod
SQL Server
Node
Load Balancer Service
Node
Pod
SQL Server
Pod
SQL Server
Managed Kubernetes means less stress…
Making Kubernetes easier for the masses
This is almost too easy…
Bringing it all together – DevOps/Redgate/AKS
Bringing it all together – Continuous Integration
Bringing it all together – Continuous Delivery
Bringing it all together – Continuous Delivery
Summary
• You need to look at DevOps for your database
• Redgate make some fantastically ingenious and simple
solutions to help you #MakeStuffGo
• We love Azure and we love containers
• Azure Kubernetes Services lets you scale out and protect your
applications and database
• You can use the same methods and TOOLS to play with AKS
https://datamindsconnect.be/
Questions?
Thank you for tuning in for our webinar!!
Hamish Watson
@theHybridDBA
hamish@morphit.co.nz
Rob Sewell
@sqldbawithbeard
mrrobsewell@outlook.com

Weitere ähnliche Inhalte

Was ist angesagt?

Was ist angesagt? (20)

Taking Database Development to the 21st Century
Taking Database Development to the 21st CenturyTaking Database Development to the 21st Century
Taking Database Development to the 21st Century
 
Unlocking the Potential of Database Automation
Unlocking the Potential of Database AutomationUnlocking the Potential of Database Automation
Unlocking the Potential of Database Automation
 
Iltam database version control
Iltam database version controlIltam database version control
Iltam database version control
 
CI/CD with Azure DevOps and Azure Databricks
CI/CD with Azure DevOps and Azure DatabricksCI/CD with Azure DevOps and Azure Databricks
CI/CD with Azure DevOps and Azure Databricks
 
Continuous Delivery & the Database- The Final Frontier
Continuous Delivery & the Database- The Final FrontierContinuous Delivery & the Database- The Final Frontier
Continuous Delivery & the Database- The Final Frontier
 
Continuous Delivery & the Database - the Final Frontier
Continuous Delivery & the Database - the Final FrontierContinuous Delivery & the Database - the Final Frontier
Continuous Delivery & the Database - the Final Frontier
 
Challenges and Best Practices of Database Continuous Delivery
Challenges and Best Practices of Database Continuous DeliveryChallenges and Best Practices of Database Continuous Delivery
Challenges and Best Practices of Database Continuous Delivery
 
Microsoft SQL Server Continuous Integration
Microsoft SQL Server Continuous IntegrationMicrosoft SQL Server Continuous Integration
Microsoft SQL Server Continuous Integration
 
Hexagonal architecture for java applications
Hexagonal architecture for java applicationsHexagonal architecture for java applications
Hexagonal architecture for java applications
 
Database automated build and test - SQL In The City Cambridge
Database automated build and test - SQL In The City CambridgeDatabase automated build and test - SQL In The City Cambridge
Database automated build and test - SQL In The City Cambridge
 
Contract-based Testing Approach as a Tool for Shift Lef
Contract-based Testing Approach as a Tool for Shift LefContract-based Testing Approach as a Tool for Shift Lef
Contract-based Testing Approach as a Tool for Shift Lef
 
Infrastructure as Code
Infrastructure as CodeInfrastructure as Code
Infrastructure as Code
 
Database deployment: still hard after all these years - Data Saturday #1
Database deployment: still hard after all these years - Data Saturday #1Database deployment: still hard after all these years - Data Saturday #1
Database deployment: still hard after all these years - Data Saturday #1
 
Flyway
FlywayFlyway
Flyway
 
Breaking the Monolith: Organizing Your Team to Embrace Microservices
Breaking the Monolith: Organizing Your Team to Embrace MicroservicesBreaking the Monolith: Organizing Your Team to Embrace Microservices
Breaking the Monolith: Organizing Your Team to Embrace Microservices
 
DevOps Moves To Production (Lori MacVittie)
DevOps Moves To Production (Lori MacVittie)DevOps Moves To Production (Lori MacVittie)
DevOps Moves To Production (Lori MacVittie)
 
Surati Tech Talks 2022 / Build reliable Svelte applications using Cypress
Surati Tech Talks 2022 / Build reliable Svelte applications using CypressSurati Tech Talks 2022 / Build reliable Svelte applications using Cypress
Surati Tech Talks 2022 / Build reliable Svelte applications using Cypress
 
THEFT-PROOF JAVA EE - SECURING YOUR JAVA EE APPLICATIONS
 THEFT-PROOF JAVA EE - SECURING YOUR JAVA EE APPLICATIONS THEFT-PROOF JAVA EE - SECURING YOUR JAVA EE APPLICATIONS
THEFT-PROOF JAVA EE - SECURING YOUR JAVA EE APPLICATIONS
 
Software Testing in a Distributed Environment
Software Testing in a Distributed EnvironmentSoftware Testing in a Distributed Environment
Software Testing in a Distributed Environment
 
Introduction to developing modern web apps
Introduction to developing modern web appsIntroduction to developing modern web apps
Introduction to developing modern web apps
 

Ähnlich wie Using Redgate, AKS and Azure to bring DevOps to your Database

Databases in the Cloud - DevDay Austin 2017 Day 2
Databases in the Cloud - DevDay Austin 2017 Day 2Databases in the Cloud - DevDay Austin 2017 Day 2
Databases in the Cloud - DevDay Austin 2017 Day 2
Amazon Web Services
 

Ähnlich wie Using Redgate, AKS and Azure to bring DevOps to your Database (20)

DevOps, Continuous Integration and Deployment on AWS: Putting Money Back into...
DevOps, Continuous Integration and Deployment on AWS: Putting Money Back into...DevOps, Continuous Integration and Deployment on AWS: Putting Money Back into...
DevOps, Continuous Integration and Deployment on AWS: Putting Money Back into...
 
Devops continuousintegration and deployment onaws puttingmoneybackintoyourmis...
Devops continuousintegration and deployment onaws puttingmoneybackintoyourmis...Devops continuousintegration and deployment onaws puttingmoneybackintoyourmis...
Devops continuousintegration and deployment onaws puttingmoneybackintoyourmis...
 
Managing Your Cloud Assets
Managing Your Cloud AssetsManaging Your Cloud Assets
Managing Your Cloud Assets
 
Windows Azure introduction
Windows Azure introductionWindows Azure introduction
Windows Azure introduction
 
AWS Webcast - Build Agile Applications in AWS Cloud for Government
AWS Webcast - Build Agile Applications in AWS Cloud for GovernmentAWS Webcast - Build Agile Applications in AWS Cloud for Government
AWS Webcast - Build Agile Applications in AWS Cloud for Government
 
Experiences using CouchDB inside Microsoft's Azure team
Experiences using CouchDB inside Microsoft's Azure teamExperiences using CouchDB inside Microsoft's Azure team
Experiences using CouchDB inside Microsoft's Azure team
 
Integration in the age of DevOps
Integration in the age of DevOpsIntegration in the age of DevOps
Integration in the age of DevOps
 
AWS Webcast - Build Agile Applications in AWS Cloud for Government
AWS Webcast - Build Agile Applications in AWS Cloud for GovernmentAWS Webcast - Build Agile Applications in AWS Cloud for Government
AWS Webcast - Build Agile Applications in AWS Cloud for Government
 
Migrating to Amazon RDS with Database Migration Service
Migrating to Amazon RDS with Database Migration ServiceMigrating to Amazon RDS with Database Migration Service
Migrating to Amazon RDS with Database Migration Service
 
9 - Making Sense of Containers in the Microsoft Cloud
9 - Making Sense of Containers in the Microsoft Cloud9 - Making Sense of Containers in the Microsoft Cloud
9 - Making Sense of Containers in the Microsoft Cloud
 
Increase Speed and Agility with Amazon Web Services
Increase Speed and Agility with Amazon Web ServicesIncrease Speed and Agility with Amazon Web Services
Increase Speed and Agility with Amazon Web Services
 
Increase Speed and Agility with Amazon Web Services
Increase Speed and Agility with Amazon Web ServicesIncrease Speed and Agility with Amazon Web Services
Increase Speed and Agility with Amazon Web Services
 
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)
 
2014.10.22 Building Azure Solutions with Office 365
2014.10.22 Building Azure Solutions with Office 3652014.10.22 Building Azure Solutions with Office 365
2014.10.22 Building Azure Solutions with Office 365
 
The Best of re:invent 2016
The Best of re:invent 2016The Best of re:invent 2016
The Best of re:invent 2016
 
Aws-What You Need to Know_Simon Elisha
Aws-What You Need to Know_Simon ElishaAws-What You Need to Know_Simon Elisha
Aws-What You Need to Know_Simon Elisha
 
Best of re:Invent
Best of re:InventBest of re:Invent
Best of re:Invent
 
What’s new in SQL Server 2017
What’s new in SQL Server 2017What’s new in SQL Server 2017
What’s new in SQL Server 2017
 
Gs08 modernize your data platform with sql technologies wash dc
Gs08 modernize your data platform with sql technologies   wash dcGs08 modernize your data platform with sql technologies   wash dc
Gs08 modernize your data platform with sql technologies wash dc
 
Databases in the Cloud - DevDay Austin 2017 Day 2
Databases in the Cloud - DevDay Austin 2017 Day 2Databases in the Cloud - DevDay Austin 2017 Day 2
Databases in the Cloud - DevDay Austin 2017 Day 2
 

Mehr von Red Gate Software

Key findings from the 2020 state of database dev ops report
Key findings from the 2020 state of database dev ops reportKey findings from the 2020 state of database dev ops report
Key findings from the 2020 state of database dev ops report
Red Gate Software
 

Mehr von Red Gate Software (20)

Database DevOps for Managed Service Providers
Database DevOps for Managed Service ProvidersDatabase DevOps for Managed Service Providers
Database DevOps for Managed Service Providers
 
Mizuho Financial: Launching our Database DevOps journey
Mizuho Financial: Launching our Database DevOps journeyMizuho Financial: Launching our Database DevOps journey
Mizuho Financial: Launching our Database DevOps journey
 
7 steps to effective SQL Server monitoring
7 steps to effective SQL Server monitoring7 steps to effective SQL Server monitoring
7 steps to effective SQL Server monitoring
 
Level up your deployments for SQL Source Control
Level up your deployments for SQL Source Control Level up your deployments for SQL Source Control
Level up your deployments for SQL Source Control
 
Key findings from the 2020 state of database dev ops report
Key findings from the 2020 state of database dev ops reportKey findings from the 2020 state of database dev ops report
Key findings from the 2020 state of database dev ops report
 
Extend DevOps to Your SQL Server Databases
Extend DevOps to Your SQL Server DatabasesExtend DevOps to Your SQL Server Databases
Extend DevOps to Your SQL Server Databases
 
2019 year in review slides
2019 year in review slides2019 year in review slides
2019 year in review slides
 
What we learned at PASS Summit in 2019
What we learned at PASS Summit in 2019What we learned at PASS Summit in 2019
What we learned at PASS Summit in 2019
 
Quality in Software Development: Anglia Ruskin University
Quality in Software Development: Anglia Ruskin UniversityQuality in Software Development: Anglia Ruskin University
Quality in Software Development: Anglia Ruskin University
 
How SQL Change Automation helps you deliver value faster
How SQL Change Automation helps you deliver value fasterHow SQL Change Automation helps you deliver value faster
How SQL Change Automation helps you deliver value faster
 
DevOps essentials from Abel Wang and Steve Jones
DevOps essentials from Abel Wang and Steve JonesDevOps essentials from Abel Wang and Steve Jones
DevOps essentials from Abel Wang and Steve Jones
 
The Ultimate Guide to Choosing and Implementing the Right Monitoring Tool
The Ultimate Guide to Choosing and Implementing the Right Monitoring ToolThe Ultimate Guide to Choosing and Implementing the Right Monitoring Tool
The Ultimate Guide to Choosing and Implementing the Right Monitoring Tool
 
Everything You Need to Know About the 2019 DORA Accelerate State of DevOps Re...
Everything You Need to Know About the 2019 DORA Accelerate State of DevOps Re...Everything You Need to Know About the 2019 DORA Accelerate State of DevOps Re...
Everything You Need to Know About the 2019 DORA Accelerate State of DevOps Re...
 
Using Redgate, AKS and Azure to bring DevOps to your database
Using Redgate, AKS and Azure to bring DevOps to your databaseUsing Redgate, AKS and Azure to bring DevOps to your database
Using Redgate, AKS and Azure to bring DevOps to your database
 
How to Pitch a Software Development Initiative and Ignite Culture Change
How to Pitch a Software Development Initiative and Ignite Culture ChangeHow to Pitch a Software Development Initiative and Ignite Culture Change
How to Pitch a Software Development Initiative and Ignite Culture Change
 
Taming the Wild West
Taming the Wild West Taming the Wild West
Taming the Wild West
 
Standardize Database Development Across your Organization in 4 Key Steps
Standardize Database Development Across your Organization in 4 Key StepsStandardize Database Development Across your Organization in 4 Key Steps
Standardize Database Development Across your Organization in 4 Key Steps
 
Data Privacy Next Steps -Compliant Database DevOps
Data Privacy Next Steps -Compliant Database DevOpsData Privacy Next Steps -Compliant Database DevOps
Data Privacy Next Steps -Compliant Database DevOps
 
Easing the transition from shared to dedicated database development
Easing the transition from shared to dedicated database developmentEasing the transition from shared to dedicated database development
Easing the transition from shared to dedicated database development
 
Scaling compliant database dev ops at the enterprise level
Scaling compliant database dev ops at the enterprise levelScaling compliant database dev ops at the enterprise level
Scaling compliant database dev ops at the enterprise level
 

Kürzlich hochgeladen

introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
VishalKumarJha10
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
mohitmore19
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
VictorSzoltysek
 

Kürzlich hochgeladen (20)

A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
 

Using Redgate, AKS and Azure to bring DevOps to your Database

  • 1. Using Redgate, AKS and Azure to bring DevOps to your Database By Rob Sewell & Hamish Watson
  • 2. Hi there, we’re… Hamish Watson Rob Sewell https://sqldbawithabeard.com/ @sqldbawithbeard https://hybriddbablog.com/ @theHybridDBA
  • 3. Rob = Somerset, UK Hamish = Christchurch, NZ
  • 5. Agenda • How was life before DevOps? • What is this DevOps thing you talk of? • Why use Redgate tools? • Why use Azure? • Why use containers • Why use Azure Kubernetes Services
  • 6. Database Development Cycle: • Manual • Inconsistently tested • Plagued with poor or NO source control • Slowed down by lengthy processes and daunting deployments • Application code breaks our database!!
  • 7. “….never say the word DevOps” The first rule of DevOps……. Hamish Watson, circa 2013
  • 8. “Let’s use our tools and create a process that allows us to automate the reliable deployment of business value to our clients.” Hamish Watson, circa 2016 #MakeStuffGo
  • 9. Culture Automation Lean Measurement Sharing What is DevOps? #Only The Name Is New #Common business goal #Everyone working together
  • 10. Tools The four pillars of DevOps Process People Culture https://www.red-gate.com/blog/database-devops/the-four-pillars-of-devops
  • 11. Enhanced customer experience DevOps Benefits Increased capacity to innovate Faster time to value
  • 12. DevOps tools – yours might differ Issue, bug and task tracking Source control Integrated Development Environment Automated build server Automated testing Automated release
  • 13. Ways you can start your DevOps journey 1. Source Control 2. Unit Testing 3. Infrastructure as Code 4. Continuous Integration 5. Continuous Delivery 6. Continuous Monitoring & Testing
  • 14. Storing our database in source control The what now…?
  • 15. Ways to get our database into Source Control (SQL Source Control)
  • 16. Ways to get our database into Source Control (SQL Source Control)
  • 17. Ways to get our database into Source Control (SQL Source Control)
  • 18. Unit Testing for Databases Yeah, nah… …..that’s kinda non-existent.
  • 19. Why we need to do unit testing The client actually wanted a ‘g’
  • 20. Consider this application developer Skills: C#, .NET, java, PowerShell Experience: 8 years Platforms: Windows Server, Azure, AWS, docker Databases: Microsoft SQL Server, MySQL, Oracle Unit Testing: Nah, don’t really believe in it mate…. X
  • 21. Consider this database developer Skills: T-SQL, Entity Framework, PowerShell Experience: 8 years Platforms: Windows Server, Azure, RDS Databases: Microsoft SQL Server 2000 - 2017 Unit Testing: I write beautiful stored procs mate…. P
  • 23. Introducing tSQLt Open Source Database Unit Testing Framework (free!!) http://tsqlt.org/ Write unit tests in TSQL and can be written/run in SSMS Very similar to NUnit & JUnit There are a lot of methods for asserts 23
  • 24. Introducing tSQLt Use of fake tables/views isolates code while testing Self Contained tests – isolated transactions We can choose to run all, some or one test Tests grouped in their own schema Does require CLR – this is OK for DEV and some TEST 24
  • 25. tSQLt is easy as to run… EXEC tsqlt.runall
  • 26. SQL Test makes it even easier and standard..
  • 27. Infrastructure as Code Getting what you want, how you want it, when you want it…. …with code that is.
  • 28. Infrastructure as Code – solving inertia More of this LESS of this
  • 29. Learn how to write in YAML…
  • 30. Continuous, Continuous, Continuous!! Let’s do all the things… ….continuously
  • 31. Continuous Integration “Continuous Integration (CI) is a development practice that requires developers to integrate code into a shared repository several times a day. Each check-in is then verified by an automated build, allowing teams to detect problems early. By integrating regularly, you can detect errors quickly, and fix them more easily.” https://www.thoughtworks.com/continuous-integration http://workingwithdevs.com/t-sql-tuesday-90-you-are-doing-continuous-integration-wrong
  • 32. Continuous Integration TDD DEVELOPER – Steve Jones WRITES CODE COMMIT SOURCE CONTROL SYSTEM O.S DEVELOPER – Rob WatsonWRITES CODE POLLING NOTIFICATIONS CONTINUOUS INTEGRATION & TESTING TEST FAILURE TEST AGAIN PACKAGE & DEPLOY 1 2 3 4 56 7 8 910 11 12 NOTIFY 13 14 15 16 Unit testing Unit testing
  • 33. CI isn’t the whole story for reliable deployments Dev Dev BUILD SERVER Build testing UAT User testing PRODUCTION EXPLOSION Continuous integration 1 2 3 4 5 6 3 Months of changes Feedback on 3 Months of changes7 Wasteful rework & manual intervention8 Unit testing
  • 34. Continuous Delivery – shifting everything left Feedback Dev Dev Build server Build tests Continuous integration Build Continuous testing Integration tests Functional tests User acceptance tests Feedback Integration Feedback Functional Feedback UAT Final test Feedback Pre prod Small iterative changes CONTINUOUS DELIVERY Feedback ‘SHIFT LEFT’ OPERATIONAL FEEDBACK PROD Continuous monitoring Unit testing CONTINUOUS MONITORING
  • 35. Containers, Azure and AKS The Data Platform has evolved…. … have you?
  • 36. Why move to the Cloud? • Elasticity • Pay for what you need • Fail fast • Fast time to market • Secure • Reliable • Business SLA
  • 39. My datacentre in the cloudMy datacentre in the cloud – all via this:
  • 40. SQL Server 2017 • SQL Server 2017 and above can run on Linux • Which means it can now run in a container • This is quite a game changer for our industry..
  • 41. SQL Server in containers Container Container Container Portable Run anywhere Docker is supported Lightweight Reduced disk, CPU, and memory footprint Consistent Consistent image of SQL Server, scripts, and tools Efficient Faster deployment, reduced patching, and less downtime Container configuration Database Persisted storage Switch for simple upgrades
  • 42. Bare Metal Server Infrastructure Layer Operating System (OS) Physical Hypervisor (VMs) Containers Hypervisor Applications Guest 1 OS Guest 1 Applications Guest 2 OS Guest 2 Applications Orchestration Platform Container 1 Container 2 SAN Storage Operating System (OS) Worker Node 1 Worker Node 2 Container 1 Container 2 Orchestrated Containers Networking
  • 43. The cake layers of Kubernetes
  • 44.
  • 45. Persistent Volume Storage Kubernetes Built-in HADR orchestration with no clustering required User Shared storage HA in Kubernetes Node Pod SQL Server Node Load Balancer Service Node Pod SQL Server Pod SQL Server
  • 46. Managed Kubernetes means less stress…
  • 47. Making Kubernetes easier for the masses
  • 48. This is almost too easy…
  • 49. Bringing it all together – DevOps/Redgate/AKS
  • 50. Bringing it all together – Continuous Integration
  • 51. Bringing it all together – Continuous Delivery
  • 52. Bringing it all together – Continuous Delivery
  • 53. Summary • You need to look at DevOps for your database • Redgate make some fantastically ingenious and simple solutions to help you #MakeStuffGo • We love Azure and we love containers • Azure Kubernetes Services lets you scale out and protect your applications and database • You can use the same methods and TOOLS to play with AKS
  • 56. Thank you for tuning in for our webinar!! Hamish Watson @theHybridDBA hamish@morphit.co.nz Rob Sewell @sqldbawithbeard mrrobsewell@outlook.com