Presented at Richmond SQL Server Users group, this presentation provides an introduction to Continuous Delivery principles, practices, tools and how to apply these to SQL Server Database. It also presents a case study and lessons learned from adopting these practices on a real project.
Presentation of the tool Db2 DevOps Experience - a tool to help organizations become more agile in their mainframe development. Allows Db2 for z/OS to participate in existing DevOps pipelines
Excalibur: best practices for virtual desktop operations leveraging Citrix Di...Citrix
Project Avalon Excalibur delivers a powerful new unified architecture for simple, streamlined deployment of Windows apps and desktops across multiple server and desktop OS platforms. But we haven't stopped there. A successful deployment requires tools to monitor virtual desktops and applications. This session will cover streamlining of support functions, new analytics for performance management and capacity planning and best practices for aligning IT admin roles.
Jenkins (formerly known as Hudson) is one of the most used tool in Java (non exclusive) to support continuous integration. Created as a hobby project, it quickly became a strategic tool for most development teams. Designed for extensibility, it also choosed from beginning an incremental development model, applying literally the 'release early, release often' principle. It focussed on building a large, active community, with the lowest contribution barrier I ever seen on opensource project and a complete transparency on project management, making Jenkins something uncommon in opensource world. During this session, I'll explain the Jenkins management & technical model, how it promotes contribution and how it allow CloudBees to both support the opensource community-driven project and deliver business value with proprietary extensions.
A discussion of deployment options for IBM Collaborative Life Cycle Management. The IBM Rational CLM products consist of Rational Team Concert, Rational Requirement Composer and Rational Quality Manager. This presentation covers the different options of integrating them into an existing software development environment.
Presentation of the tool Db2 DevOps Experience - a tool to help organizations become more agile in their mainframe development. Allows Db2 for z/OS to participate in existing DevOps pipelines
Excalibur: best practices for virtual desktop operations leveraging Citrix Di...Citrix
Project Avalon Excalibur delivers a powerful new unified architecture for simple, streamlined deployment of Windows apps and desktops across multiple server and desktop OS platforms. But we haven't stopped there. A successful deployment requires tools to monitor virtual desktops and applications. This session will cover streamlining of support functions, new analytics for performance management and capacity planning and best practices for aligning IT admin roles.
Jenkins (formerly known as Hudson) is one of the most used tool in Java (non exclusive) to support continuous integration. Created as a hobby project, it quickly became a strategic tool for most development teams. Designed for extensibility, it also choosed from beginning an incremental development model, applying literally the 'release early, release often' principle. It focussed on building a large, active community, with the lowest contribution barrier I ever seen on opensource project and a complete transparency on project management, making Jenkins something uncommon in opensource world. During this session, I'll explain the Jenkins management & technical model, how it promotes contribution and how it allow CloudBees to both support the opensource community-driven project and deliver business value with proprietary extensions.
A discussion of deployment options for IBM Collaborative Life Cycle Management. The IBM Rational CLM products consist of Rational Team Concert, Rational Requirement Composer and Rational Quality Manager. This presentation covers the different options of integrating them into an existing software development environment.
VMworld 2013: Building the Management Stack for Your Software Defined Data Ce...VMworld
VMworld 2013
Bernd Harzog, The Virtualization Practice
Mark Leake, VMware
Learn more about VMworld and register at http://www.vmworld.com/index.jspa?src=socmed-vmworld-slideshare
Are you planning to move existing applications to the cloud and want to avoid setbacks? These slides are from a webinar jointly presented by Atmosera and iTrellis, LLC. The webinar can help you find out how to assess your needs, plan out a migration and successfully operate your applications in a modern cloud environment. The webinar will provide the following answers:
* What re-platforming means and why you need to think about it
* How to take full advantage of a cloud such as Azure: agility, flexibility, and cost savings
* Lessons learned and best practices for planning a successful move to a modern cloud.
The full webinar playback URL is at https://www.atmosera.com/webinar-replatforming-application-cloud/
Præsentation fra Jazz Roadshow 2011.
The value of integrated software delivery with
IBM Rational solution for
Collaborative Lifecycle Management.
Se mere fra IBM Softwaregroup på:
http://www.smarterbusiness.dk
Migrating to Cloud: Inhouse Hadoop to Databricks (3)Knoldus Inc.
Modernize your Enterprise Data Lake to Serverless Data Lake, where data, workloads, and orchestrations can be automatically migrated to the cloud-native infrastructure.
This complete deck can be used to present to your team. It has PPT slides on various topics highlighting all the core areas of your business needs. This complete deck focuses on Deployment Strategy PowerPoint Presentation Slides and has professionally designed templates with suitable visuals and appropriate content. This deck consists of total of thirty one slides. All the slides are completely customizable for your convenience. You can change the colour, text and font size of these templates. You can add or delete the content if needed. Get access to this professionally designed complete presentation by clicking the download button below. http://bit.ly/2xs626S
Virtualizing Mission-critical Workloads: The PlateSpin StoryNovell
Explore the key roadblocks to virtualizing mission-critical workloads. Discuss the potential benefits, in terms of performance and service-level delivery, in migrating these workloads to an internal cloud. Learn how PlateSpin solutions pave the way to migrating mission-critical workloads with little or no downtime, integrate non-disruptive testing in the virtual environment, and provide real-time workload protection and recovery.
Docker's value for Development Teams in a DevOps ProcessLaurent Goujon
This flash study exposes how Docker technology can be considered as a lever for digital transformations and DevOps deployments, and used as an industrial tool to transform the way we manufacture and run applications and software.
Application schema changes are incremental, cumulative, and painful - often reaping havoc on the Application Release Lifecycle. Using manual processes with SQL scripts are error-prone, as well as hard to track and troubleshoot. Learn release and deploy best practices for automating schema management using Datical and IBM UrbanCode Deploy. See how Datical extends the popular Liquibase Open Source project for enterprise use with a data model approach for previewing impact of change in production.
What’s new in Rational collaborative lifecycle management 2011?IBM Danmark
Jan Ekstrøm, Rational Solution Architect - What’s new in Rational Collaborative Lifecycle Management 2011?
Præsentationen er fra Jazz Roadshow 2011.
Se mere på: http://www.smarterbusiness.dk
Developing and delivering applications in a repeatable way, with the expected quality is a great challenge these days. In order to maximize business value at-the-speed-of-business, initiatives are being driven both by the development or delivery teams and by operations. They each have their own focus and specifics, but in essence they are both centered around: Collaboration and integration, automation, standardization and governance.
VMworld 2013: Building the Management Stack for Your Software Defined Data Ce...VMworld
VMworld 2013
Bernd Harzog, The Virtualization Practice
Mark Leake, VMware
Learn more about VMworld and register at http://www.vmworld.com/index.jspa?src=socmed-vmworld-slideshare
Are you planning to move existing applications to the cloud and want to avoid setbacks? These slides are from a webinar jointly presented by Atmosera and iTrellis, LLC. The webinar can help you find out how to assess your needs, plan out a migration and successfully operate your applications in a modern cloud environment. The webinar will provide the following answers:
* What re-platforming means and why you need to think about it
* How to take full advantage of a cloud such as Azure: agility, flexibility, and cost savings
* Lessons learned and best practices for planning a successful move to a modern cloud.
The full webinar playback URL is at https://www.atmosera.com/webinar-replatforming-application-cloud/
Præsentation fra Jazz Roadshow 2011.
The value of integrated software delivery with
IBM Rational solution for
Collaborative Lifecycle Management.
Se mere fra IBM Softwaregroup på:
http://www.smarterbusiness.dk
Migrating to Cloud: Inhouse Hadoop to Databricks (3)Knoldus Inc.
Modernize your Enterprise Data Lake to Serverless Data Lake, where data, workloads, and orchestrations can be automatically migrated to the cloud-native infrastructure.
This complete deck can be used to present to your team. It has PPT slides on various topics highlighting all the core areas of your business needs. This complete deck focuses on Deployment Strategy PowerPoint Presentation Slides and has professionally designed templates with suitable visuals and appropriate content. This deck consists of total of thirty one slides. All the slides are completely customizable for your convenience. You can change the colour, text and font size of these templates. You can add or delete the content if needed. Get access to this professionally designed complete presentation by clicking the download button below. http://bit.ly/2xs626S
Virtualizing Mission-critical Workloads: The PlateSpin StoryNovell
Explore the key roadblocks to virtualizing mission-critical workloads. Discuss the potential benefits, in terms of performance and service-level delivery, in migrating these workloads to an internal cloud. Learn how PlateSpin solutions pave the way to migrating mission-critical workloads with little or no downtime, integrate non-disruptive testing in the virtual environment, and provide real-time workload protection and recovery.
Docker's value for Development Teams in a DevOps ProcessLaurent Goujon
This flash study exposes how Docker technology can be considered as a lever for digital transformations and DevOps deployments, and used as an industrial tool to transform the way we manufacture and run applications and software.
Application schema changes are incremental, cumulative, and painful - often reaping havoc on the Application Release Lifecycle. Using manual processes with SQL scripts are error-prone, as well as hard to track and troubleshoot. Learn release and deploy best practices for automating schema management using Datical and IBM UrbanCode Deploy. See how Datical extends the popular Liquibase Open Source project for enterprise use with a data model approach for previewing impact of change in production.
What’s new in Rational collaborative lifecycle management 2011?IBM Danmark
Jan Ekstrøm, Rational Solution Architect - What’s new in Rational Collaborative Lifecycle Management 2011?
Præsentationen er fra Jazz Roadshow 2011.
Se mere på: http://www.smarterbusiness.dk
Developing and delivering applications in a repeatable way, with the expected quality is a great challenge these days. In order to maximize business value at-the-speed-of-business, initiatives are being driven both by the development or delivery teams and by operations. They each have their own focus and specifics, but in essence they are both centered around: Collaboration and integration, automation, standardization and governance.
Enterprise DevOps and the Modern Mainframe Webcast PresentationCompuware
Compuware and CloudBees demonstrate how you can apply modern DevOps practices to your mainframe applications using Compuware ISPW and Topaz for Total Test with CloudBees Jenkins. Compuware Product Manager Steve Kansa and CloudBees DevOps Evangelist Brian Dawson will:
- Position the mainframe as part of your DevOps and CI/CD journey
- Explain how Jenkins automates mainframe source code management and testing
- Demo a CI/CD workflow on a COBOL application
Watch the full presentation on YouTube: https://www.youtube.com/watch?v=x4MWrPy3bKM.
DevOps for absolute beginners (2022 edition)Ahmed Misbah
Are you planning to pursue a career in DevOps?
Already working with DevOps but want to know what’s new in 2022?
This session is for you!
Join us in the 2022 edition of “DevOps for absolute beginners” session, where you will learn all about DevOps from the perspective of People, Process, and Technology. We will be talking about topics like Automation, Continous Integration, Continous Delivery, Infrastructure as Code, etc. We will also be talking about the latest trends in DevOps, including Chaos Engineering, MLOps, and eBPF.
The session will conclude with great bonus material for software professional enthusiastic about DevOps, one of them being a carefully crafted learning path for DevOps from years of experience in the industry. Don’t miss out on the rest of the material.
Bridging the Gap: from Data Science to ProductionFlorian Wilhelm
A recent but quite common observation in industry is that although there is an overall high adoption of data science, many companies struggle to get it into production. Huge teams of well-payed data scientists often present one fancy model after the other to their managers but their proof of concepts never manifest into something business relevant. The frustration grows on both sides, managers and data scientists.
In my talk I elaborate on the many reasons why data science to production is such a hard nut to crack. I start with a taxonomy of data use cases in order to easier assess technical requirements. Based thereon, my focus lies on overcoming the two-language-problem which is Python/R loved by data scientists vs. the enterprise-established Java/Scala. From my project experiences I present three different solutions, namely 1) migrating to a single language, 2) reimplementation and 3) usage of a framework. The advantages and disadvantages of each approach is presented and general advices based on the introduced taxonomy is given.
Additionally, my talk also addresses organisational as well as problems in quality assurance and deployment. Best practices and further references are presented on a high-level in order to cover all facets of data science to production.
With my talk I hope to convey the message that breakdowns on the road from data science to production are rather the rule than the exception, so you are not alone. At the end of my talk, you will have a better understanding of why your team and you are struggling and what to do about it.
Pivotal korea transformation_strategy_seminar_enterprise_dev_ops_20160630_v1.0minseok kim
devops has been popular in IT ever since emerging cloud technology. to make IT more agile, we need to keep setup goal and measure performance with adopting new cloud native tools.
Driving on from Agile, organisations are looking to
dramatically increase the rate at which they deliver
new software updates to their customers / business
users by embracing DevOps. This presentation will
explain the Micro Focus approach to DevOps and
how we can help organisations like yours as they
move to Continuous Delivery.
DevOps (development & operations) is an endeavor software development express used to mean a type of agile connection amongst development & IT . V Cube is one of the best institute for DevOps training in Hyderabad, We offers the comprehensive and in-depth training in DevOps. DevOps is an endeavor software development express used to mean a type of agile connection amongst development & IT operations.
DevOps is an IT cultural revolution sweeping through today’s organizations that want to develop, design, test, and deploy software more quickly and effectively. DevOps training in Hyderabad will enable you to master key DevOps principles, tools, and technologies such as automated testing, Infrastructure as a Code, Continuous Integration/Delivery, and more.
Software development (Dev) and IT operations (Ops) are combined in DevOps (Ops). Its goal is to shorten the systems development life cycle and provide high-quality software delivery on a continuous basis. DevOps is an add-on to Agile software development; in fact, several aspects of DevOps came from the Agile methodology.
Academics and practitioners have not developed a universal definition for the term “DevOps” other than it being a cross-functional combination (and a portmanteau) of the terms and concepts for “development” and “operations.” DevOps is typically defined by three key principles: shared ownership, workflow automation, and rapid feedback.
DevOps is defined as “a set of practices intended to reduce the time between committing a change to a system and the change being placed into normal production, while ensuring high quality,” according to Len Bass, Ingo Weber, and Liming Zhu, three computer science researchers from the CSIRO and the Software Engineering Institute. The term is, however, used in a variety of contexts. DevOps is a combination of specific practices, culture change, and tools at its most successful.
Under a DevOps model, development and operations teams are no longer “siloed.” Sometimes, these two teams are merged into a single team where the engineers work across the entire application lifecycle, from development and test to deployment to operations, and develop a range of skills not limited to a single function.
In some DevOps models, quality assurance and security teams may also become more tightly integrated with development and operations and throughout the application lifecycle. When security is the focus of everyone on a DevOps team, this is sometimes referred to as DevSecOps.
These teams use practices to automate processes that historically have been manual and slow. They use a technology stack and tooling which help them operate and evolve applications quickly and reliably. These tools also help engineers independently accomplish tasks (for example, deploying code or provisioning infrastructure) that normally would have required help from other teams, and this further increases a team’s velocity to know more about the DevOps.
What is DevOps And How It Is Useful In Real life.anilpmuvvala
DevOps (development & operations) is an endeavor software development express used to mean a type of agile connection amongst development & IT . V Cube is one of the best institute for DevOps training in Hyderabad, We offers the comprehensive and in-depth training in DevOps. DevOps is an endeavor software development express used to mean a type of agile connection amongst development & IT operations.
DevOps is an IT cultural revolution sweeping through today’s organizations that want to develop, design, test, and deploy software more quickly and effectively. DevOps training in Hyderabad will enable you to master key DevOps principles, tools, and technologies such as automated testing, Infrastructure as a Code, Continuous Integration/Delivery, and more.
Software development (Dev) and IT operations (Ops) are combined in DevOps (Ops). Its goal is to shorten the systems development life cycle and provide high-quality software delivery on a continuous basis. DevOps is an add-on to Agile software development; in fact, several aspects of DevOps came from the Agile methodology.
Academics and practitioners have not developed a universal definition for the term “DevOps” other than it being a cross-functional combination (and a portmanteau) of the terms and concepts for “development” and “operations.” DevOps is typically defined by three key principles: shared ownership, workflow automation, and rapid feedback.
DevOps is defined as “a set of practices intended to reduce the time between committing a change to a system and the change being placed into normal production, while ensuring high quality,” according to Len Bass, Ingo Weber, and Liming Zhu, three computer science researchers from the CSIRO and the Software Engineering Institute. The term is, however, used in a variety of contexts. DevOps is a combination of specific practices, culture change, and tools at its most successful.
Under a DevOps model, development and operations teams are no longer “siloed.” Sometimes, these two teams are merged into a single team where the engineers work across the entire application lifecycle, from development and test to deployment to operations, and develop a range of skills not limited to a single function.
In some DevOps models, quality assurance and security teams may also become more tightly integrated with development and operations and throughout the application lifecycle. When security is the focus of everyone on a DevOps team, this is sometimes referred to as DevSecOps.
These teams use practices to automate processes that historically have been manual and slow. They use a technology stack and tooling which help them operate and evolve applications quickly and reliably. These tools also help engineers independently accomplish tasks (for example, deploying code or provisioning infrastructure) that normally would have required help from other teams, and this further increases a team’s velocity to know more about the Devops get your Devops training Now.
451 Research: Data Is the Key to Friction in DevOpsDelphix
You’ve moved to agile. You’re “all in” on the cloud. And yet, you know there’s a ton of velocity in your DevOps projects left on the table.
Jay Lyman, Principal Analyst with 451 Research, hosts a webinar with DevOps pioneers Patrick Lightbody, SVP of Product at Delphix and Nick Suwyn, Principal Systems Engineer at Choice Hotels, to explore how DevOps teams in the global enterprise have successfully check marked code management, configuration management and build management with various industry standard tools to combat the challenges brought upon by “data friction.” Jay will unveil his latest research on the state of DevOps and share thoughts on why there’s still tremendous inertia for companies in this space.
The Building Blocks of QuestDB, a Time Series Databasejavier ramirez
Talk Delivered at Valencia Codes Meetup 2024-06.
Traditionally, databases have treated timestamps just as another data type. However, when performing real-time analytics, timestamps should be first class citizens and we need rich time semantics to get the most out of our data. We also need to deal with ever growing datasets while keeping performant, which is as fun as it sounds.
It is no wonder time-series databases are now more popular than ever before. Join me in this session to learn about the internal architecture and building blocks of QuestDB, an open source time-series database designed for speed. We will also review a history of some of the changes we have gone over the past two years to deal with late and unordered data, non-blocking writes, read-replicas, or faster batch ingestion.
06-04-2024 - NYC Tech Week - Discussion on Vector Databases, Unstructured Data and AI
Discussion on Vector Databases, Unstructured Data and AI
https://www.meetup.com/unstructured-data-meetup-new-york/
This meetup is for people working in unstructured data. Speakers will come present about related topics such as vector databases, LLMs, and managing data at scale. The intended audience of this group includes roles like machine learning engineers, data scientists, data engineers, software engineers, and PMs.This meetup was formerly Milvus Meetup, and is sponsored by Zilliz maintainers of Milvus.
Chatty Kathy - UNC Bootcamp Final Project Presentation - Final Version - 5.23...John Andrews
SlideShare Description for "Chatty Kathy - UNC Bootcamp Final Project Presentation"
Title: Chatty Kathy: Enhancing Physical Activity Among Older Adults
Description:
Discover how Chatty Kathy, an innovative project developed at the UNC Bootcamp, aims to tackle the challenge of low physical activity among older adults. Our AI-driven solution uses peer interaction to boost and sustain exercise levels, significantly improving health outcomes. This presentation covers our problem statement, the rationale behind Chatty Kathy, synthetic data and persona creation, model performance metrics, a visual demonstration of the project, and potential future developments. Join us for an insightful Q&A session to explore the potential of this groundbreaking project.
Project Team: Jay Requarth, Jana Avery, John Andrews, Dr. Dick Davis II, Nee Buntoum, Nam Yeongjin & Mat Nicholas
Adjusting primitives for graph : SHORT REPORT / NOTESSubhajit Sahu
Graph algorithms, like PageRank Compressed Sparse Row (CSR) is an adjacency-list based graph representation that is
Multiply with different modes (map)
1. Performance of sequential execution based vs OpenMP based vector multiply.
2. Comparing various launch configs for CUDA based vector multiply.
Sum with different storage types (reduce)
1. Performance of vector element sum using float vs bfloat16 as the storage type.
Sum with different modes (reduce)
1. Performance of sequential execution based vs OpenMP based vector element sum.
2. Performance of memcpy vs in-place based CUDA based vector element sum.
3. Comparing various launch configs for CUDA based vector element sum (memcpy).
4. Comparing various launch configs for CUDA based vector element sum (in-place).
Sum with in-place strategies of CUDA mode (reduce)
1. Comparing various launch configs for CUDA based vector element sum (in-place).
06-04-2024 - NYC Tech Week - Discussion on Vector Databases, Unstructured Data and AI
Round table discussion of vector databases, unstructured data, ai, big data, real-time, robots and Milvus.
A lively discussion with NJ Gen AI Meetup Lead, Prasad and Procure.FYI's Co-Found
Levelwise PageRank with Loop-Based Dead End Handling Strategy : SHORT REPORT ...Subhajit Sahu
Abstract — Levelwise PageRank is an alternative method of PageRank computation which decomposes the input graph into a directed acyclic block-graph of strongly connected components, and processes them in topological order, one level at a time. This enables calculation for ranks in a distributed fashion without per-iteration communication, unlike the standard method where all vertices are processed in each iteration. It however comes with a precondition of the absence of dead ends in the input graph. Here, the native non-distributed performance of Levelwise PageRank was compared against Monolithic PageRank on a CPU as well as a GPU. To ensure a fair comparison, Monolithic PageRank was also performed on a graph where vertices were split by components. Results indicate that Levelwise PageRank is about as fast as Monolithic PageRank on the CPU, but quite a bit slower on the GPU. Slowdown on the GPU is likely caused by a large submission of small workloads, and expected to be non-issue when the computation is performed on massive graphs.
2. 2
• Manager at CapTech Consulting
• Software/data engineer with 20+ years of experience
in a variety of roles, developing applications and data
solutions.
• Passionate about continuous improvement, seek
ways to make agile practices practical.
• Have been using SQL Server (as a Developer) since
version 7
• Play guitar (acoustic)
• I practice Karate with my son, and I’m an
Intermediate Brown Belt
About Me
3. • What is Continuous Delivery?
• A brief history of Continuous Delivery
• Continuous Delivery Principles
• Continuous Delivery Tools and Practices
• Challenges with Database Continuous Delivery
• Case Study
• Demo
Agenda3
4. 4
“the ability to get changes …
into production, or into the hands of users,
safely and quickly in a sustainable way…
by ensuring our code is always in a deployable state”
Jezz Humble
https://www.continuousdelivery.com/
What is Continuous Delivery?
6. 6 The old days…
https://en.wikipedia.org/wiki/Waterfall_model
Fred Brooks:
Large Systems Development = Tar pit
7. 7
Many fundamental agile concepts originated with Extreme Programming (XP),
by Kent Beck, Martin Fowler and others in the late 1990’s and the beginning of
the agile movement
Some XP Practices:
• Automated Unit Tests
• Integrate Often
• Make frequent small releases
http://www.extremeprogramming.org
Extreme Programming (1999)
8. 8
Principle #1:
“Our highest priority is to
satisfy the customer
through early and
continuous delivery of
valuable software.”
http://agilemanifesto.org/principles.html
Agile Manifesto (2001)
9. 9
Practices:
• Maintain a Single Source Repository
• Automate the Build
• Make Your Build Self Testing
• Commit to Mainline every day
• Every Commit Should Build the Mainline on an
Integration Machine
• Automate Deployment
Continuous Integration – Martin Fowler (2006)
https://www.martinfowler.com/articles/continuousIntegration.html
10. 10
• John Allspaw & Paul Hammond
• Explained how at Flickr the Dev & Ops teams worked together to achieve
multiple releases per day to production
• Many who heard it described it as an “Aha” moment
Velocity Conference – “10+ Deploys Per Day” (2009)
https://www.youtube.com/watch?v=LdOe18KhtT4
11. 11
Jez Humble and David Farley write the definitive guide on
Continuous Delivery
Continuous Delivery Book (2010)
12. 12
A novel that details the experience of Bill Palmer,
Head of Operations at Parts Unlimited, and his
crash course into adopting DevOps so that the
company can survive.
Introduced the Three Ways:
1. Systems Thinking (increase flow)
2. Amplify Feedback Loops
3. Culture of Continual Experimentation &
Learning
The Phoenix Project (2013)
13. 13
Culmination and collaboration and of thought leaders to bring many of these
ideas together in one comprehensive guide.
DevOps Handbook (2016)
14. 14
“DevOps is the union of people, process, and products to enable continuous
delivery of value to our end users.”
Donovan Brown, Microsoft Principal DevOps Manager
http://donovanbrown.com/post/what-is-devops
So what is DevOps?
https://en.wikipedia.org/wiki/DevO
ps
15. 15
“the ability to get changes …
into production, or into the hands of users,
safely and quickly in a sustainable way…
by ensuring our code is always in a deployable state”
Jezz Humble
https://www.continuousdelivery.com/
What is Continuous Delivery?
26. 26
Select and use a Configuration Management tool for storing and versioning:
• Code
• Artifacts (Packages)
• Documentation
Centralized (SVN, TFVC) vs. Distributed (Git, Mercurial)
On-prem vs. Cloud (Github, Bitbucket, TFVS)
Configuration Management and Version Control
27. 27
Somewhat controversial, but proponents of
Continuous Delivery recommend not using feature
branching or long-lived branches
Instead the recommendation is to work off of the
mainline or master branch and make frequent small
commits
If branching is used, the recommendation is to
merge frequently – daily or even more frequently
What about Branching?
28. 28
Automate the Build and Deployment processes
On-Prem:
• Jenkins
• Bamboo
• Team City
• Team Foundation Server
Cloud:
• Travis CI
• Gitlab
• Visual Studio Team Services
Continuous Integration and Deployment Tools
29. 29
Continuous Integration: Developers commit and integrate their changes to
master branch (trunk) daily, triggering automated builds and automated tests
Continuous Deployment: Every change that passes automated tests is
automatically deployed to production
Continuous Integration vs. Continuous Deployment
Continuous
Integration
Continuous
Delivery
Continuous
Deployment
30. 30
• Deployment – This is a technical activity - the
process of making a change or set of changes to
the production environment
• Release – This is a business activity or decision –
whether or not to make available that set of
changes to users
Deploy vs. Release
31. 31
ITIL v.3* supports the concept of Standard Changes
Standard Changes are changes that are pre-approved, repeatable and low
risk
Many change management systems have some sort of API interface so that
Change Requests can be automated
*http://itsmtransition.com/2014/03/name-difference-standard-normal-changes-itil/
What about Change Management?
33. 33
Typical (non-database) Coding to Deployment Process
Database Coding to Deployment Process
Deploying Database Code is Different
Code compile
.exe
.jar,
.dll
deploy
SQL
code
compile/
deploy
34. 34
Traditional Applications can simply replace the existing objects
Databases have to alter existing objects and maintain state
What about state?
v.2v.1
v.1 v.2
35. 35
There are primarily two ways of approaching Configuration Management for
Database Development:
State Based (object based)
• Each database object stored in its own file and added to the repository
• State of objects are compared at deployment time to generate a script with all
changes
Migration Based (aka DBdeploy pattern)
• Each change to the database is saved as a separate script
• Scripts are deployed in specific order, and the database maintains history of which
scripts have been applied
Both approaches have their own challenges and pros and cons
Configuration Management Strategies: State-Based vs. Migration
Based
36. 36
Microsoft (in partnership with Redgate) has provide tools to enable both
kinds of data development in SQL Server
• State Based : SQL Server Data Tools (SSDT)
• Migration Based: Ready Roll (with Visual Studio Enterprise 2017)
37. 37
ReadyRoll is one of
the SQL Server
Project Types in
Visual Studio 2017
Enterprise
ReadyRoll – Migration Based Database Project
38. 38
Reference Data that is reasonably small can be checked into version control
Unit Tests should have their own data contained inside the tests
A best practice is to create and maintain a set of curated test data that
provides an accurate representation of your actual production data
For other types of testing such as performance testing there will be need to be
alternative solutions, such as backup/restore
What about the Data?
39. 39
Another challenge particular to Database Continuous Delivery is Production
Drift
This is caused when a change is made manually in production (or any other
environment) that is not checked back into version control.
For example:
• Indexing
• Production hot fixes
• Security changes
There is no easy solution to this – there needs to be discipline to ensure that
all changes are checked back into version control, or take away all production
access and enforce all changes through the deployment pipeline
Production Drift
40. 40
After a database change is made, it is difficult if not impossible to rollback the
change
Instead you have to plan to rollforward with a script that will undo the changes
that were made
This requires more preparation and planning, and depending on the risk you
may chose to handle it differently
Database transactions can be used to do an auto rollback to deal with
deployment errors
What about Deployment Rollbacks?
41. 41
Each developer should have his/her own private
sandbox database to work in, isolated from all other
developers
Ideally there should be an easy to use automated
process to set up a new sandbox database
Best Practice: Sandbox Database per Developer
42. 42
Should have at least 3 environments*, although 5 is preferable
• Dev (Local/Sandbox)*
• Dev Integration
• QA*
• Pre-Prod / Staging
• Production*
Others:
• Performance Testing
• Manual/Explorative Testing
Environments
44. 44
CapTech worked with a Fortune 500 insurance company to
build next generation data capabilities, with real-time data
integration feeding into a data warehouse solution
Sourced raw data from multiple operational systems databases
using both real-time replication, as well as database copy
(backup/restore)
Target system was SQL Server 2016
Data Warehouse used a custom ELT framework with metadata-
driven code generation
Case Study – Agile Data Warehouse
45. 45
• 1 to 3 Agile Teams with 5-6 developers
• Implemented Scrum (2-week sprints) as well as Scaled
Agile Framework (SaFE)
• Adopted Extreme Programming practices, including
Pair-Programming, Collective code ownership,
Automated Testing, Test Driven Development, and
Continuous Delivery
• Team supported production with prod support rotation
Methodology
46. 46
Git chosen for Version Control
Automated unit tests using tSQLt framework
Used On-Prem Team Foundation Server (TFS) for
automated build and release pipeline
• 900+ production releases in a little over a year
Technical Details
47. 47
Example App 1: Security Framework
• 80+ tables
• 900 tests
Example App 2: Data Warehouse
• 100+ tables
• 600+ views
• 1500+ stored procedures
• 200 tests
Example Applications
48. 48
• Agile and XP practices go together
• Automated testing (ideally TDD) is really important, but it is
hard to write tests for legacy code – it is better to refactor
existing code
• Keep releases small
• Branching and object-based configuration management can
be useful for coordination of changes
• Communication is key
Lessons Learned
51. 51 Books
Continuous Delivery
Jezz Humble, David Farley
http://amzn.to/1QBJM7k
DevOps Handbook
Gene Kim Jez Humble John Willis
Debois
http://bit.ly/devops-handbook
The Phoenix Project
Gene Kim, George Spafford, Kevin
https://itrevolution.com/book/the-phoenix-
52. 52 Videos
DevOps for Databases
Steve Jones
https://courses.edx.org/courses/course-
v1:Microsoft+DEVOPS200.6x+1T2018a/course/
Continuous Delivery
Jezz Humble
http://bit.ly/jez-cd-training
Martin Fowler – Continuous Delivery https://www.youtube.com/watch?v=aoMfbgF2D_4
Grant Fritchey - Extending DevOps to
Server
https://www.youtube.com/watch?v=bqhv0ukdpJM
Database DevOps with Redgate https://www.youtube.com/watch?v=N1lRaBxnfBY
SQL Server Data Tools for https://www.youtube.com/watch?v=9WH_r7M4QhM