DevOps: What it is & why you should care

Slides:



Advertisements
Similar presentations
Keith McMillan Principal, Adept Technologies Copyright (C) 2008, Adept Technologies llc.
Advertisements

Colin Weaver The Eleven Essential Behaviours of Successful Agile Project Teams.
Chapter: 3 Agile Development
E X treme Programming & Agile Modeling Copyright © 2003 Patrick McDermott UC Berkeley Extension
Software Development Methodologies 1. A methodology is: A collection of procedures, techniques, principles, and tools that help developers build a computer.
Slide Set to accompany Web Engineering: A Practitioner’s Approach
Agile Project Management with Scrum
Agile development By Sam Chamberlain. First a bit of history..
Agile Architecture? Paul Lund 24 th Nov Agile Manifesto We are uncovering better ways of developing software by doing it and helping others do it.
Agile Methods.
Agile Principles Suradet Jitprapaikulsarn 1. What is Agility? Effective (rapid and adaptive) response to change Effective communication among all stakeholders.
Does it work with Data Warehouses?. “We are uncovering better ways of developing software by doing it and helping others do it. Through this work we.
Introduction to Agile.
Software engineering Process models Pavel Agejkin.
1 Agile Methodology & Programming Ric Holt July 2009.
Software Engineering Modern Approaches
Agile Programming Principles.
The Agile Primer July 2008 © ThoughtWorks 2008.
Agile Web Development C. Daniel Chase University of Colorado at Boulder.
Chapter 4 Agile Development
AgileCamp Presents: Agile 101. Good luck in your presentation! This slide deck has been shared by AgileCamp Kit under the Creative Commons Attribution.
Project Workflow. How do you do it? -Discussion-
AGILE COTS Václav Pergl We are uncovering better ways of developing software by doing it and helping others do it. Through this work.
2  Examine effects of using agile methods for creating Internet products on customer satisfaction and firm performance  Agile methods are informal,
Why (or When) Agile Fails Creating high performance software delivery teams.
Jeff Briggs Senior Consultant Capstone Consulting.
#2-What is Agile? Why Agile? Subtopics 1- Agile motivation for software / systems 2- Agile tenets and principles 3- Agile as a risk mitigation strategy.
- Discussion of Chapter 1 in Martin and Martin.  We are uncovering better ways of developing software by doing it and helping others do it. Through this.
Module 2: What is Agile? Why use it? TLO: Given a DoD program involved in software development, the student will recognize situations where applying agile.
The Agile Manifesto Some thought starters for Ogilvy on how to work with Agile and SCRUM approaches to managing projects.
Agile Introduction Emerson Murphy-Hill. Agile Manifesto/Alliance XP, SCRUM, DSDM, Adaptive Software Development, Crystal, FDD February 2001 (Snowbird,
By: Isuru Abeysekera AGILE DEVELOPMENT. WHAT IS AGILE DEVELOPMENT? Broad term used to describe several methods for a development process Introduced in.
Agile Center of Excellence. Richard K Cheng Agile is just a high level concept.
© 2014 IBM Corporation “Leaders Guide to Radical Management” for DevOps with Steve Denning Chapters 6 and 7: From Bureaucracy to Dynamic Linking by Delivering.
Baby Steps to Agility How to Grow Into Agile. A little about me A little about Agile Growing into Agile Questions Goals.
Project Workflow.
Digital Transformation with DevOps
AGILE METHODS Curtis Cook CS 569 Spring 2003.
Embedded Systems Software Engineering
Agile Project Management
Agile Project Management and the yin & yang of
Bringing DevOps to the Database
© Disciplined Agile Consortium
Introduction to Agile Software Development
Principles for Agile Development
Continuous Delivery- Complete Guide
The Agile/Non-Agile Debate
Agile Training Day 2 November 17, 2015.
Software & Software Engineering Pertemuan-4 Dosen :Kundang K Juman
Project Workflow.
Bringing DevOps to the Database
Владимир Гусаров Директор R&D, Dell Visual Studio ALM MVP ALM Ranger
Building the foundations for innovation
#2-What is Agile? Why Agile?
8/8/ :43 PM THR3079 Moving from application automation to true DevOps by including the database Tom Austin Head of Pre Sales Engineering © Microsoft.
Script-less Automation: An Approach to Shift-Left.
Bringing DevOps to the Database
Project Management and the Agile Manifesto
Agile Software Development Paradigms
How to Successfully Implement an Agile Project
Winter 2016 (c) Ian Davis.
Introduction to DevOps
Introduction to Agile Blue Ocean Workshops.
How Strong is Your Agile Foundation
Adjective: Able to move quickly and easily. Principles and Values
Chapter 3: Agile Software Processes
Projects, Assignments, and other Assessments
DevOps System Analysis & Design Course Sharif University of Technology
Agile Development.
Presentation transcript:

DevOps: What it is & why you should care Stephanie Herr DevOps: What it is & why you should care

Agenda DevOps Why DevOps? DevOps Practices DevOps and Databases Demo

Stephanie Herr Redgate, Database DevOps Product Manager Stephanie.Herr@redgate.com @SQLStephanie @Redgate

Our Production Deployments Stop IIS Check db sessions Change db to single-user mode Take a full backup Open my T-SQL script in SSMS and run it Copy over the app files Restart IIS Click around on a few things Turn db back to multi-user

DevOps

Agile Manifesto Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan That is, while there is value in the items on the right, we value the items on the left more. http://agilemanifesto.org

12 Principles behind the Agile Manifesto Our highest priority is to satisfy the customer through early and continuous delivery of valuable software. Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage. Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale. Business people and developers must work together daily throughout the project. Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done. The most efficient and effective method of conveying information to and within a development team is face-to-face conversation. Working software is the primary measure of progress. Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely. Continuous attention to technical excellence and good design enhances agility. Simplicity--the art of maximizing the amount of work not done--is essential. The best architectures, requirements, and designs emerge from self-organizing teams. At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly. http://agilemanifesto.org/principles.html

Agile Principles Our highest priority is to satisfy the customer through early and continuous delivery of valuable software. 1. Continuous Delivery of value to the customer http://agilemanifesto.org/principles.html

Agile Principles Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale. Agile - thinking in weeks/months; DevOps – thinking in minutes http://agilemanifesto.org/principles.html

Agile Principles Business people and developers must work together daily throughout the project. 4. No mention of Ops; DevOps extends this to break down the ops silo and have ops team members working with business people and devs http://agilemanifesto.org/principles.html

Scrum https://www.scrum.org/Resources/What-is-Scrum Scrum is an Agile framework. Very clear roles too: Product Owner Scrum Master Dev Team Certifications https://www.scrum.org/Resources/What-is-Scrum

http://www. cardinalsolutions http://www.cardinalsolutions.com/blog/2015/05/assuring-quality-in-the-new-agile-world

http://www.agilemodeling.com/essays/costOfChange.htm

Background DevOps Agile 2007-2008 Patrick Debois  Agile Sys Admin GG Cloud and PaaS Infrastruct as code 2007 Ops = comp advantage 2009 Velocity: 10+ deploys / day 2007 – 2010 Lean DevOps 2013 The Phoenix Project 2009 DevOpsDays 2010 – 2011 Tools / Gartner / Vendors #DevOps Agile software development 2007 – Patrick Dubois, Consultant in Belgium, wanted to know about all areas of the sw dev lifecycle; working on project to upgrade data center = Dev very agile, Ops very structured 2007 - posts about Operations being a competitive advantage * 2008 – Agile Conf – Andrew Shafer BOF for “Agile Infrastructure”  Agile System Administration Google Group - bridge between dev & sys admin Velocity 2009 – “10+ Deploys Per Day: Dev and Ops Cooperation” by John Allspaw and Paul Hammond, Flicker * Oct 2009 – Patrick Dubois started DevOpsDays in Belgium for devs and sys admins  #DevOps on twitter 2010 – Continuous Delivery book published by Jez Humble and Dave Farley 2010/11 – Tools like Chef, Puppet, Logstach, Vagrant, SaltStack, Hudson, etc. 2011 – Gartner and Vendors started picking up on it 2013 – The Phoenix Project by Gene Kim, Kevin Behr, George Spafford Practices: Lean, CI/CD * , Infrastructure as code **, Availability of cloud and platform as a service (PaaS) technologies ** Rhythm of agile dev; firefighting and unpredictability of traditional opps Competitive advantage, especially for startups 2010 – DevOps Days, Sydney (Lindsay Holmwood) 2010 – DevOps Days, Mountain View, CA (Damon Edwards, Andrew Shafer, John Willis) 98 to date across the world 2007 – 2010 - Eric Reis blogged about lessons learned in his startup http://www.information-age.com/devops-will-become-mainstream-among-global-2000-2016-gartner-123459119/ By 2016, DevOps will evolve from a niche strategy employed by large cloud providers to a mainstream strategy employed by 25% of Global 2000 organisations, analyst firm Gartner has predicted. Although DevOps emphasises people and culture over tools and processes, implementation utilises technology. As a result, Gartner expects the total for DevOps tool sets to reach $2.3 billion in 2015, up 21.1% from $1.9 billion in 2014. Gartner said that rather than being a market per se, DevOps is a philosophy; a cultural shift that merges operations with development and demands a linked tool chain of technologies to facilitate collaborative change. 2010 Continuous Integration / Continuous Delivery http://itrevolution.com/the-convergence-of-devops https://www.ibm.com/developerworks/library/se-devops/part1 http://itrevolution.com/the-history-of-devops

What is DevOps? http://www.devopsdigest.com/17-ways-to-define-devops-4 No agreed definition Word itself is a combination of Development and Operations That’s not what is important

Ch9 – Microsoft – Introduction to DevOps https://channel9.msdn.com/Series/DevOps-Fundamentals/Introduction-to-DevOps

Ch9 – Microsoft – Introduction to DevOps https://channel9.msdn.com/Series/DevOps-Fundamentals/Introduction-to-DevOps

Ch9 – Microsoft – Introduction to DevOps https://channel9.msdn.com/Series/DevOps-Fundamentals/Introduction-to-DevOps

http://www. slideshare http://www.slideshare.net/GrantFritchey/building-an-automated-database-deployment-pipeline https://commons.wikimedia.org/wiki/File:Mocking_Bird_Argument.jpg

http://www. slideshare http://www.slideshare.net/GrantFritchey/building-an-automated-database-deployment-pipeline https://commons.wikimedia.org/wiki/File:Mocking_Bird_Argument.jpg

http://www. slideshare http://www.slideshare.net/GrantFritchey/building-an-automated-database-deployment-pipeline https://commons.wikimedia.org/wiki/File:Mocking_Bird_Argument.jpg

https://medium.com/point-nine-news/do-you-speak-devtools-73237550bf4f

https://www. javacodegeeks. com/2015/12/devops-myth-efficiency-part https://www.javacodegeeks.com/2015/12/devops-myth-efficiency-part.html

Surprise! Broad Agreement on the Definition of DevOps “DevOps exists to help the business win Broad scope, but centered on IT Foundations in Agile and Lean Culture is very important Feedback is fuel for innovation Automation helps” While everyone supplies slightly different words, the same working understanding of DevOps is nearly universal. Analysts, authors, industry, and community leaders all agree. The ideas are big and mutually supportive. In short: https://www.infoq.com/news/2015/06/devops-definition https://devops.com/2015/05/13/surprise-broad-agreement-on-the-definition-of-devops

DevOps by Patrick Debois – Feb 2011 http://www.slideshare.net/jedi4ever/devops-paris-jug-2011

DevOps by Patrick Debois – Feb 2011 http://www.slideshare.net/jedi4ever/devops-paris-jug-2011

DevOps in the right perspective devops : collaboration, optimization across the whole organisation. Even beyond IT (HR, Finance...) and company borders (Suppliers) devops 'lite' : when people zoom in on 'just' dev and ops 1) dev and ops collaborate to improve anything on delivering the project to production 2) all information from production is radiated back to the project 3) co-ownership of everything that happens in production 4) when operations are involved from the beginning of the project http://www.jedi.be/blog/2012/05/12/codifying-devops-area-practices

My favorite definition of DevOps “DevOps is the union of people, process, and products to enable continuous delivery of value to our end users.” Donovan Brown Principal DevOps Manager Microsoft “to our end users” People come first http://donovanbrown.com/post/what-is-devops

DevOps Values – CALMS Culture Automation Lean Measurement Sharing Damon Edwards and John Willis described DevOps in 2010 in the first US based DevOpsDays in Mountain View, CA http://devopsdictionary.com/wiki/CAMS Culture DevOps is mostly about breaking down barriers between teams. An enormous amount of time is wasted with tickets sitting in queues, or individuals writing handoff documentation for the person sitting right next to them. In pathological organizations it is unsafe to ask other people questions or to look for help outside of official channels. In healthy organizations, such behavior is rewarded and supported with inquiry into why existing processes fail. Fostering a safe environment for innovation and productivity is a key challenge for leadership and directly opposes our tribal managerial instincts. Automation Perhaps the most visible aspect of DevOps. Many people focus on the productivity gains (output per worker per hour) as the main reason to adopt DevOps. But automation is used not just to save time, but also prevent defects, create consistency, and enable self-service. Measurement How can you have continuous improvement without the ability to measure improvement? How do you know if an automation task is worthwhile? Basing decisions on data, rather than instinct, leads to an objective, blameless path of improvement. Data should be transparent, accessible to all, meaningful, and able to be visualized in an ad hoc manner. Sharing Key the success of DevOps at any organization is sharing the tools, discoveries, and lessons. By finding people with similar needs across the organization, new opportunities to collaborate can be discovered, duplicate work can be eliminated, and a powerful sense of engagement can be created among the staff. Outside the organization, sharing tools and code with people in the community helps get new features implemented in open source software quickly. Conference participation leaves staff feeling energized and informed about new ways to innovate. https://www.infoq.com/news/2015/06/devops-definition Culture – Own the change to drive collaboration and communication Automation – Take manual steps out of your value chain Lean – Use lean principles to enable higher cycle frequency Metrics – Measure everything and use data to refine cycles Sharing – Share experiences, successful or not, to enable others to learn Culture DevOps is a cultural undertaking, so it's about more than acquiring new tools and taking on new practices. It’s about setting expectations and priorities, and the fundamental beliefs that guide them. Our 2015 State of DevOps Report showed there's a strong link between culture and successful management practices, much of it coming out of lean management principles and a collaborative approach to problem solving. For DevOps to succeed, that collaboration has to take place both within and between teams. Automation Automation is a given in any team that has embraced DevOps; it’s just the way everything is done. Automating common and repetitive processes frees up time for higher-level work and opens up opportunities for innovations that wouldn’t be possible otherwise. Measurement Integrating feedback into the work is a fundamental part of agile and lean practices. For mature organizations, this means measuring everything that moves in production, and sharing those measurements with everyone involved in software development and delivery — not just the ops team, or just the devs. Measuring and reporting everything can seem overwhelming, though. So start with just the crucial measurements, one or two things that everyone agrees really matter. It could be deployment frequency, lead time to changes, mean time to recovery, change fail rate — whichever seems the most important to where your team is right now. Gathering and sharing these metrics will show you where you've got opportunities for quick wins — and these boost everyone's morale. Sharing Today’s organizations and software require teams of people with different skills and specialized knowledge. To work efficiently, it’s important to work well together, and sharing is how you get there. Expose metrics to everyone within your organization who might be interested. Keep things simple and clear — explain how these metrics affect software delivery and overall company performance. Sharing progress data will also help foster a more effective DevOps culture. When identifying and making changes to how you and your team work, it’s useful to think about those changes in terms of culture, automation, measurement and sharing. Base your choices on maximizing opportunities in these areas, and you should find yourself well on your way to breaking down silos and improving your organization. There's a lot more to DevOps thinking, planning and execution, and Gareth Rushgrove covers how to work with your operations team, the development team and higher-up managers in his paper, Get Started with DevOps: A Guide for IT Managers. Check it out for practical guidance, as well as DevOps philosophy. http://blogs.forrester.com/eveline_oehrlich/15-03-02-devops_now_with_calmss L – Lean – Jez Humble S – Sourcing https://www.diazhilterscheid.de/en/ready-for-cams-the-foundation-of-devops/ Also described as four pillars https://puppet.com/blog/devops-principles-for-it-managers

The Three Ways: The Principles Underpinning DevOps by Gene Kim Breaking down silos We’re all in the same boat; think about the business value streams that are enabled by IT - Requirements id-ed; Built in Dev, transitioned to Ops, deliver value to cust RESULTS in BUILD QUALITY IN (never pass known defect downstream, never optimize only for local, understand entire system, it’s not just ops problem now) CI and auto testing = bug found in Prod is 100xs more expensive to fix - Systems feedback, monitoring - Customer feedback continual experimentation, taking risks and learning from failure; and understanding that repetition and practice is the prerequisite to mastery. - Allocating time for the improvement of daily work - Creating rituals that reward the team for taking risks - Introducing faults into the system to increase resilience http://itrevolution.com/the-three-ways-principles-underpinning-devops

The Three Ways: The Principles Underpinning DevOps by Gene Kim Breaking down silos We’re all in the same boat; think about the business value streams that are enabled by IT - Requirements id-ed; Built in Dev, transitioned to Ops, deliver value to cust RESULTS in BUILD QUALITY IN (never pass known defect downstream, never optimize only for local, understand entire system, it’s not just ops problem now) CI and auto testing = bug found in Prod is 100xs more expensive to fix - Systems feedback, monitoring - Customer feedback continual experimentation, taking risks and learning from failure; and understanding that repetition and practice is the prerequisite to mastery. - Allocating time for the improvement of daily work - Creating rituals that reward the team for taking risks - Introducing faults into the system to increase resilience http://itrevolution.com/the-three-ways-principles-underpinning-devops

The Three Ways: The Principles Underpinning DevOps by Gene Kim Breaking down silos We’re all in the same boat; think about the business value streams that are enabled by IT - Requirements id-ed; Built in Dev, transitioned to Ops, deliver value to cust RESULTS in BUILD QUALITY IN (never pass known defect downstream, never optimize only for local, understand entire system, it’s not just ops problem now) CI and auto testing = bug found in Prod is 100xs more expensive to fix - Systems feedback, monitoring - Customer feedback continual experimentation, taking risks and learning from failure; and understanding that repetition and practice is the prerequisite to mastery. - Allocating time for the improvement of daily work - Creating rituals that reward the team for taking risks - Introducing faults into the system to increase resilience http://itrevolution.com/the-three-ways-principles-underpinning-devops

The Three Ways: The Principles Underpinning DevOps by Gene Kim Breaking down silos We’re all in the same boat; think about the business value streams that are enabled by IT - Requirements id-ed; Built in Dev, transitioned to Ops, deliver value to cust RESULTS in BUILD QUALITY IN (never pass known defect downstream, never optimize only for local, understand entire system, it’s not just ops problem now) CI and auto testing = bug found in Prod is 100xs more expensive to fix - Systems feedback, monitoring - Customer feedback continual experimentation, taking risks and learning from failure; and understanding that repetition and practice is the prerequisite to mastery. - Allocating time for the improvement of daily work - Creating rituals that reward the team for taking risks - Introducing faults into the system to increase resilience http://itrevolution.com/the-three-ways-principles-underpinning-devops

Why DevOps?

Benefits Faster time-to-market/delivery times that improves ROI Engaged, empowered cross-discipline teams Stable/reliable operating environments Early detection and faster correction of defects Improved quality HTTP://WWW.GALLOP.NET/BLOG/6-COMPELLING-BUSINESS-BENEFITS-OF-DEVOPS/#XRG3WFQGGBX9LY5L.99 Ensure faster time-to-market/delivery times that improves ROI. DevOps is basically the application of Agile principles, and thus the end result is faster development of software, ensuring more frequent delivery. Improve collaboration between teams (Business / Dev / Ops) – aptly labelled the ‘War Room’– by improving the transparency required for effective decision making. Today, more than ever before, development teams need to break down their inter-departmental silos, and collaborate and communicate in a dynamic, round the clock environment. DevOps paves the way to improve business agility by providing the much need atmosphere of mutual collaboration, communication, and integration across globally collocated teams in an IT organization. The earlier set boundaries based on roles are getting blurred in such an encouraging DevOps atmosphere. All team members, together, are responsible for the quality and timelines of deliverables image: http://www.gallop.net/blog/wp-content/uploads/2016/02/devops-img.jpg Stable/reliable operating environments. Early detection and faster correction of defects that helps provide the best services and robust features that must be delivered to customers Continuous Release and Deployment, Continuous Testing, and Continuous Monitoring – Today’s software development practices require teams to continuously deliver quality software, reduced go-to-market timelines, and adaptation of shorter release cycles. DevOps, using its practices of Continuous Release and Deployment, Continuous Testing, and Continuous Monitoring, provides just that. Time to focus – thus improving quality http://www.gallop.net/blog/6-compelling-business-benefits-of-devops https://www.infoq.com/articles/devops-lessons-microsoft

“Technology Is Wiping Out Companies Faster than Ever” “creative destruction” - the process by which large companies eventually get crushed by innovations made elsewhere. Life expectancy of a firm in the Fortune 500 1955 - ~60 years 2015 - <20 years and declining “Milking the cash cow” no longer works http://www.forbes.com/sites/stevedenning/2011/11/19/peggy-noonan-on-steve-jobs-and-why-big-companies-die/#18dcfce23e57 “Fifty years ago, “milking the cash cow” could go on for many decades. What’s different today is that globalization and the shift in power in the marketplace from buyer to seller is dramatically shortening the life expectancy of firms that are merely milking their cash cows. Half a century ago, the life expectancy of a firm in the Fortune 500 was around 75 years. Now it’s less than 15 years and declining even further.” https://www.technologyreview.com/s/519226/technology-is-wiping-out-companies-faster-than-ever

2016 State of DevOps Report 5th annual report 4,600 technical professionals High IT Performers = deploy on demand, < 1 hr lead time, < 1 hr MTTR, < 15% change failure rate lead time - how long does it take to go from code commit to code successfully running in production https://puppet.com/ resources/white-paper/ 2016-state-of-devops-report

https://puppet.com/resources/white-paper/2016-state-of-devops-report 2016 State of DevOps Report (cont.) Employees in high-performing teams were 2.2 times more likely to recommend their organization as a great place to work. Taking a lean approach to product development (for example, splitting work into small batches and implementing customer feedback) predicts higher IT performance and less deployment pain. 5th annual report 4,600 technical professionals High IT Performers = deploy on demand, < 1 hr lead time, < 1 hr MTTR, < 15% change failure rate lead time - how long does it take to go from code commit to code successfully running in production https://puppet.com/resources/white-paper/2016-state-of-devops-report

9 Ways IT Automation Makes You More Successful Business Needs Avoiding downtime Easy policy enforcement Visibility, auditability and accountability Predictability Consistency Better code quality Quicker recovery Agility & Confidence Fast response to software vulnerability announcements Scalability The confidence to level up Avoiding downtime Technical debt. Uncoordinated, uncontrolled changes Absence of reproducible server setup Absence of automated testing and validation Easier policy enforcement – auto testing (version control, who to talk to) Visibility, auditability and accountability Consistency Better code quality (CI, stop the line, code reviews, build quality in) Quicker recovery https://puppet.com/resources/white-paper/9-ways-it-automation-makes-you-more-successful

https://twitter.com/way0utwest/status/758705924592668672 < 3 days / release 2 working days / release

https://twitter.com/ThomasRushton/status/744900868286386176

DevOps Practices

DevOps Practices Automated Provisioning, Infrastructure as Code Small frequent changes Version Control Continuous Integration (including automated testing) Continuous Delivery / Release Management Measuring metrics Feature flags (develop on trunk), Canary Releases, Dark Launches DevOps = DevOps Principles + DevOps Practices - DZone DevOps https://www.youtube.com/watch?v=LdOe18KhtT4 10+ deploys a day at Etsy – Velocity 2009 https://dzone.com/articles/devops-devops-principles https://www.youtube.com/watch?v=LdOe18KhtT4

DevOps Measurements Deployment frequency Lead time for changes Change failure rate Mean time to recover (MTTR) Deployment frequency For the primary application or service you work on, how often does your organization deploy code? Lead time for changes For the primary application or service you work on, what is your lead time for changes (i.e., how long does it take to go from code commit to code successfully running in production)? Mean time to recover (MTTR) For the primary application or service you work on, how long does it generally take to restore service when a service incident occurs (e.g., unplanned outage, service impairment)? Change failure rate For the primary application or service you work on, what percentage of the changes either result in degraded service or subsequently require remediation (e.g., lead to service impairment, service outage, require a hotfix, rollback, fix forward, patch)? https://puppet.com/resources/white-paper/2016-state-of-devops-report

https://puppet.com/resources/white-paper/2016-state-of-devops-report

What DevOps Taught Me About Agile Agile needs automation to really boost velocity The gap between “potentially releasable” and “actually released” can be vast Product Owner and stakeholder feedback is great but real customer feedback is the true test of value delivered Application architecture matters Small batch size is really important for fast feedback cycles and reducing release risk Agile teams need DevOps practices, and DevOps needs Agile’s teaming model and connection to business value to drive better results https://blog.scrum.org/devops-taught-agile-vice-versa

Anti-patterns Management just saying we’re doing DevOps Just changing job titles to DevOps Just merging dev and ops teams or creating a separate DevOps team Committing is done My responsibility ends here Devs blaming Ops; Ops blaming Devs Ops not involved early DevOps means Developers Managing Production It’s not just automation or a tool (or set of tools) https://theagileadmin.com/what-is-devops https://dzone.com/articles/devops-anti-patterns-warning https://blog.devopsguys.com/2013/02/20/twelve-devops-anti-patterns

DevOps and Databases

The State of Database DevOps Report 9/11/2018 2:02 AM The State of Database DevOps Report Has your organization already adopted, or do you plan to adopt, a DevOps approach? Describe your team Consider to be the greatest drawback in traditional siloed db development practices? 80% Within 2 years, 80% of companies will adopt DevOps The biggest driver for including the database is to increase the speed of delivery of database changes  75% of respondents have developers in their team who work across both applications and databases The greatest challenge with integrating database changes into a DevOps process is synchronizing application and database changes, and overcoming different development approaches. The biggest driver for including the database is to increase the speed of delivery of database changes http://www.red-gate.com/solutions/database-devops/report © 2014 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

9/11/2018 2:02 AM Database is lagging behind http://www.red-gate.com/solutions/database-devops/report © 2014 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Database Challenges Secure and protect Production data (change is risky) Production data vs reference data Test data The DBA (unfamiliar with tools) Environment differences Dependencies Multiple applications may access the same db Database drift (aka – Hot fixes directly to Prod) Maintaining backwards compatibility How will you rollback (roll forward)? 7 - (your changes and your release could impact other teams and apps)

Delivery Pipeline Dev Application code usually goes to a VCS Development Create table Orders ( OrderID int , OrderDate datetime , salesrep int , customerid int , status tnyint ) Dev Create procedure GetOrders @o datetime As Begin Select * from orders Where orderdate > @o using System; using System.Collections.Generic; using System.Text; using eBay.Service.Core.Sdk; using eBay.Service.Core.Soap; namespace Trading_Samples {     class Program     {         static void Main(string[] args)         {             MakeGetOrders();             Console.ReadLine(); Application code usually goes to a VCS

Continuous Integration Delivery Pipeline Development Continuous Integration Create table Orders ( OrderID int , OrderDate datetime , salesrep int , customerid int , status tnyint ) Dev Create procedure GetOrders @o datetime As Begin Select * from orders Where orderdate > @o using System; using System.Collections.Generic; using System.Text; using eBay.Service.Core.Sdk; using eBay.Service.Core.Soap; namespace Trading_Samples {     class Program     {         static void Main(string[] args)         {             MakeGetOrders();             Console.ReadLine(); Here the application usually kicks off a CI process Build Test Commit Publish

Continuous Integration Delivery Pipeline Development Continuous Integration Testing Create table Orders ( OrderID int , OrderDate datetime , salesrep int , customerid int , status tnyint ) Alter table Orders Add status tinyint; Create procedure GetOrders ….. Dev QA Create procedure GetOrders @o datetime As Begin Select * from orders Where orderdate > @o using System; using System.Collections.Generic; using System.Text; using eBay.Service.Core.Sdk; using eBay.Service.Core.Soap; namespace Trading_Samples {     class Program     {         static void Main(string[] args)         {             MakeGetOrders();             Console.ReadLine(); Here the application usually kicks off a CI process Build Test Commit Publish

Continuous Integration Delivery Pipeline Development Continuous Integration Testing Production Create table Orders ( OrderID int , OrderDate datetime , salesrep int , customerid int , status tnyint ) Alter table Orders Add status tinyint; Create procedure GetOrders ….. Alter table Orders Add status tinyint; Create procedure GetOrders ….. Dev QA Prod Create procedure GetOrders @o datetime As Begin Select * from orders Where orderdate > @o using System; using System.Collections.Generic; using System.Text; using eBay.Service.Core.Sdk; using eBay.Service.Core.Soap; namespace Trading_Samples {     class Program     {         static void Main(string[] args)         {             MakeGetOrders();             Console.ReadLine(); Here the application usually kicks off a CI process Build Test Commit Publish

Delivery Pipeline Development Create table Orders ( OrderID int , OrderDate datetime , salesrep int , customerid int , status tnyint ) Dev Create procedure GetOrders @o datetime As Begin Select * from orders Where orderdate > @o using System; using System.Collections.Generic; using System.Text; using eBay.Service.Core.Sdk; using eBay.Service.Core.Soap; namespace Trading_Samples {     class Program     {         static void Main(string[] args)         {             MakeGetOrders();             Console.ReadLine(); Here the application usually kicks off a CI process

Delivery Pipeline Development Create table Orders ( OrderID int , OrderDate datetime , salesrep int , customerid int , status tnyint ) Dev Create procedure GetOrders @o datetime As Begin Select * from orders Where orderdate > @o using System; using System.Collections.Generic; using System.Text; using eBay.Service.Core.Sdk; using eBay.Service.Core.Soap; namespace Trading_Samples {     class Program     {         static void Main(string[] args)         {             MakeGetOrders();             Console.ReadLine(); Here the application usually kicks off a CI process

Continuous Integration Delivery Pipeline Development Continuous Integration Create table Orders ( OrderID int , OrderDate datetime , salesrep int , customerid int , status tnyint ) Dev Create procedure GetOrders @o datetime As Begin Select * from orders Where orderdate > @o Build Test using System; using System.Collections.Generic; using System.Text; using eBay.Service.Core.Sdk; using eBay.Service.Core.Soap; namespace Trading_Samples {     class Program     {         static void Main(string[] args)         {             MakeGetOrders();             Console.ReadLine(); Commit Publish Here the application usually kicks off a CI process

Continuous Integration Delivery Pipeline Development Continuous Integration Testing Create table Orders ( OrderID int , OrderDate datetime , salesrep int , customerid int , status tnyint ) Dev Alter table Orders Add status tinyint; Create procedure GetOrders ….. Create procedure GetOrders @o datetime As Begin Select * from orders Where orderdate > @o QA Build Test using System; using System.Collections.Generic; using System.Text; using eBay.Service.Core.Sdk; using eBay.Service.Core.Soap; namespace Trading_Samples {     class Program     {         static void Main(string[] args)         {             MakeGetOrders();             Console.ReadLine(); Commit Publish Here the application usually kicks off a CI process

Continuous Integration Delivery Pipeline Development Continuous Integration Testing Production Create table Orders ( OrderID int , OrderDate datetime , salesrep int , customerid int , status tnyint ) Alter table Orders Add status tinyint; Create procedure GetOrders ….. Alter table Orders Add status tinyint; Create procedure GetOrders ….. Dev Create procedure GetOrders @o datetime As Begin Select * from orders Where orderdate > @o QA Prod Build Test using System; using System.Collections.Generic; using System.Text; using eBay.Service.Core.Sdk; using eBay.Service.Core.Soap; namespace Trading_Samples {     class Program     {         static void Main(string[] args)         {             MakeGetOrders();             Console.ReadLine(); Commit Publish Here the application usually kicks off a CI process

2 approaches to database versioning and deployment State-based Migrations-based

V1 V2 State-based approach CREATE TABLE Orders ( CREATE TABLE Orders ( 9/11/2018 2:02 AM State-based approach V1 V2 CREATE TABLE Orders ( OrderId int, CustomerID int, LastEdited datetime2 ) CREATE TABLE Orders ( OrderId int, CustomerID int ) CREATE PROC GetOrders AS SELECT OrderId, CustomerID FROM Orders CREATE PROC GetOrders AS SELECT OrderId, CustomerID, LastEdited FROM Orders © 2014 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

State-based approach – Deployments 9/11/2018 2:02 AM State-based approach – Deployments V1 V2 </> Compare and dynamically generate the deployment script © 2014 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Migrations-based approach V1 V2 ALTER PROC GetOrders AS SELECT CustomerID, LastEdited FROM Orders ALTER TABLE Orders ADD COLUMN LastEdited datetime2

Migrations-based – Deployments V1 V2 Concatenate migration scripts

State vs Migrations State-based When it comes to production deployments, however, there's nothing more reliable than keeping track of exactly the scripts you intend to run, and running them, without trying to compare state and guess.  Paul Stovell, Creator of Octopus Deploy https://octopus.com/docs/deploying-applications/sql-server-databases Migrations-based As soon as you have multiple changes on a single aspect of an object, ordering and the ability to detect which change needs to be made gets very complicated. Gerg Drapers, Microsoft, Data Dude https://blogs.msdn.microsoft.com/gertd/2009/06/05/declarative-database-development

Demo Automating database deployments

“Database releases should be boring” Jonathan Hickford Redgate DLM Product Manager

Conclusion

It won’t happen overnight Changing your culture is hard Five things your operations team doesn’t tell you about DevOps - https://dzone.com/articles/five-things-your-operations-team-doesnt-tell-you-a GOTO 2016: DevOps - The Good, The Bad, The Ugly - Jeff Smith - https://www.youtube.com/watch?v=qLUt6bwNnks Why DevOps is burning out Developers - http://www.infoworld.com/article/3009004/devops/why-devops-is-burning-out-developers.html 1. DevOps Is More for Dev Than for Ops 2. Ops Can Be More Agile Without Starting From Scratch  3. DevOps Isn’t Well Suited to Complex Production Environments 4. Implementing DevOps Can Make Things Worse Before Making Them Better 5. Open Source Isn’t Always as Important as Battle-tested Containers https://ondigitalmarketing.com/learn/odm/foundations/5-customer-segments-technology-adoption Innovators (2.5%) – Innovators are the first individuals to adopt an innovation. Innovators are willing to take risks, youngest in age, have the highest social class, have great financial lucidity, very social and have closest contact to scientific sources and interaction with other innovators. Risk tolerance has them adopting technologies which may ultimately fail. Financial resources help absorb these failures. (Rogers 1962 5th ed, p. 282) Early Adopters (13.5%) – This is the second fastest category of individuals who adopt an innovation. These individuals have the highest degree of opinion leadership among the other adopter categories. Early adopters are typically younger in age, have a higher social status, have more financial lucidity, advanced education, and are more socially forward than late adopters. More discrete in adoption choices than innovators. Realize judicious choice of adoption will help them maintain central communication position (Rogers 1962 5th ed, p. 283). Early Majority (34%) – Individuals in this category adopt an innovation after a varying degree of time. This time of adoption is significantly longer than the innovators and early adopters. Early Majority tend to be slower in the adoption process, have above average social status, contact with early adopters, and seldom hold positions of opinion leadership in a system (Rogers 1962 5th ed, p. 283) Late Majority (34%) – Individuals in this category will adopt an innovation after the average member of the society. These individuals approach an innovation with a high degree of skepticism and after the majority of society has adopted the innovation. Late Majority are typically skeptical about an innovation, have below average social status, very little financial lucidity, in contact with others in late majority and early majority, very little opinion leadership. Laggards (16%) – Individuals in this category are the last to adopt an innovation. Unlike some of the previous categories, individuals in this category show little to no opinion leadership. These individuals typically have an aversion to change-agents and tend to be advanced in age. Laggards typically tend to be focused on “traditions”, likely to have lowest social status, lowest financial fluidity, be oldest of all other adopters, in contact with only family and close friends, very little to no opinion leadership.

Velocity 09: John Allspaw and Paul Hammond, "10+ Deploys Per Day at Flickr” Velocity 2009 - John Allspaw and Paul Hammond, "10+ Deploys Per Day: Dev and Ops Coordination”

How to get started Learn more Why do you want to do DevOps? Velocity 2009: 10+ Deploys Per Day: Dev & Ops Cooperation at Flicker Puppet – Get started with DevOps: A Guide for IT Managers (registration) IBM DevOps distilled by Gene Kim (resources at end) Redgate Database DevOps Why do you want to do DevOps? Start to think about your business DBAs talk to Devs & Devs talk to DBAs/Ops https://devops.com/2016/01/18/big-devops-question-get-started If you’re a DBA, talk to your devs If you’re a dev, talk to your DBAs/Ops people

Thank you! Any questions? Stephanie.Herr@red-gate.com @SQLStephanie @Redgate

What is DevOps? – Microsoft DevOps is more than a technology or a tool set. It’s a mindset that requires cultural evolution. It is people, process and the right tools to make your application lifecycle faster and more predictable. https://www.microsoft.com/en/server-cloud/solutions/development-operations.aspx

At the highest level: People Collaborate more Share common goals (adding value to business, making customer happy) Focus on improvement BRINGING PEOPLE TOGETHER (remove silos, remove us vs them) PROCESS Eliminate waste Increase efficiency (enable experiments to learn) Streamline feedback DELIVERING VALUE FASTER TOOLS (it’s not a tool, you can’t buy the “DevOps”) Enhance productivity Enable collaboration Facilitate experimentation EXECUTING A DEVOPS STRATEGY ** THE ORDER IS IMPORTANT ** https://channel9.msdn.com/Series/DevOps-Fundamentals/Introduction-to-DevOps#time=04m30s