dev up 2016 - database lifecycle management with redgate

23
DLM is a vital, often under-implemented, part of any ALM or DevOps solution. Database Lifecycle Management DLM with Redgate

Upload: oakwood-systems-group

Post on 15-Apr-2017

43 views

Category:

Technology


2 download

TRANSCRIPT

Page 1: Dev Up 2016 - Database Lifecycle Management with Redgate

DLM is a vital, often under-implemented, part of

any ALM or DevOps solution.

Database Lifecycle ManagementDLM with Redgate

Page 2: Dev Up 2016 - Database Lifecycle Management with Redgate

Agenda

What is Application Lifecycle Management (ALM)?1

What is DevOps?2

Intro to DLM3

DLM with Redgate4

Page 3: Dev Up 2016 - Database Lifecycle Management with Redgate

Application Lifecycle ManagementProduct Lifecycle Management for Software Applications

Page 4: Dev Up 2016 - Database Lifecycle Management with Redgate

4

Evolution of DevOps

1960s 1982-83 1985 2001 ??? ??? 2013

Initial SDLC concepts

Initial PLM concept born

American Motor Corp. (AMC)

revolutionized the auto industry

with PLMDevOpsALM“Agile”

Agile ALM

Page 5: Dev Up 2016 - Database Lifecycle Management with Redgate

SDLC

Software Development Life Cycle is a splitting of software development work

into distinct phases (or stages) containing activities with the intent of better

planning and management. It is often considered a subset of the The systems

development life cycle. The methodology may include the pre-definition of

specific deliverables and artifacts that are created and completed by a project

team (SDLC), also referred to develop or maintain an as the application.

Common methodologies include waterfall development life-

cycle, prototyping is a term used in systems engineering, iterative information

systems and incremental development software engineering to describe a

process for planning, spiral development creating, rapid application

development testing, extreme programming and various types of agile

methodology. Some people consider a deploying an information system.[1] The

systems development life-cycle "model" a more general term for concept

applies to a category range of methodologies hardware and a software

development "process" a more specific term to refer to a specific process

chosen by configurations, as a specific organization. For examplesystem can

be composed of hardware only, there are many specific software

development processes that fit the spiral life-cycle model only, or a

combination of both. 5

Page 6: Dev Up 2016 - Database Lifecycle Management with Redgate

PLM

In industry, product lifecycle management (PLM) is the process of managing the entire lifecycle of a product from inception, through engineering design and manufacture, to service and disposal of manufactured products. PLM integrates people, data, processes and business systems and provides a product information backbone for companies and their extended enterprise.

6

Page 7: Dev Up 2016 - Database Lifecycle Management with Redgate

ALM

ALM is a set of pre-defined processes that

start somewhere in the business as an idea,

a need, a challenge or a risk and then pass

through different development phases such

as Requirements definition, design,

development, testing, deployment, release

and maintenance spanning across an entire

lifecycle of a product. Throughout the ALM

process, each of these steps is closely

monitored and controlled, followed by

proper tracking and documentation of any

changes to the application.7

Page 8: Dev Up 2016 - Database Lifecycle Management with Redgate

Things

Create & IterateMake that business idea a reality, but don’t stop there, all ideas evolve over time and need more development

Devise & StrategizeDevise a business plan, monitor the application through Project & Portfolio Management

Monitor & RespondUtilize test group & user feedback to prioritize bugs, enhancements and future versions. Respond quickly to issues

Aspects of ALM

Page 9: Dev Up 2016 - Database Lifecycle Management with Redgate

Things

Develop a business case

Manage development with Project Portfolio Management

Upon deployment, continue to manage the application like any other business asset with Application Portfolio Management until End of Life

Occurs throughout the entire ALM process

Governance

Page 10: Dev Up 2016 - Database Lifecycle Management with Redgate

Things

Define requirements based on business case(s)

Design, develop and test the application

Manage maintenance of the deployed application

Rinse and repeat for each iteration of the application until End of Life using SDLC

Fundamental part of every Application Lifecycle

Development

Page 11: Dev Up 2016 - Database Lifecycle Management with Redgate

Things

Ramps up quickly near the end of the first development cycle

Continues until application End of Life

Can easily be expanded and adapted to a more proactive monitoring approach

Continuous deployment, monitoring and feedback

Operations

Page 12: Dev Up 2016 - Database Lifecycle Management with Redgate

12

Basic

Standard

Advanced

Dynamic

Homegrown software development processes in place

Software development best practices more commonly accepted

Best practices adopted, documented and maintained

Development practices are highly innovative

Most often limited by technology or lack of tooling

Tools not fully integrated into development environment

Tools are fully integrated into the development environment

Demonstrate industry leadership

ALM Maturity

Page 13: Dev Up 2016 - Database Lifecycle Management with Redgate

ALM Maturity Model

Basic: Homegrown processes; typically not documented

Standard: More process uniformity, but not 100%

Advanced: Processes across the organization and clearly documentedMost companies strive for, and land here

Dynamic: Rare, not feasible for most companies to achieve this level

Page 14: Dev Up 2016 - Database Lifecycle Management with Redgate

DevOpsAgile ALM

Page 15: Dev Up 2016 - Database Lifecycle Management with Redgate

DevOps

DevOps (combined development and operations) is a culture, movement or practice that emphasizes the collaboration and communication of both software developers and other information-technology (IT) professionals, while automating the process of software delivery and infrastructure changes. It aims at establishing a culture and environment where building, testing, and releasing software can happen rapidly, frequently, and more reliably

15

Page 16: Dev Up 2016 - Database Lifecycle Management with Redgate

Database Lifecycle ManagementRedgate DLM Automation Suite and Monitoring

Page 17: Dev Up 2016 - Database Lifecycle Management with Redgate

DLM

Database Lifecycle Management combines a business and technical approach to improving database development, delivery and management.

The scope of DLM is, as with ALM, the entire useful life of a database, including aspects of design and data architecture, encompassing the database development and delivery processes, and through to managing and refining the database while it is in operation. It is intended to make all the processes that make up the lifecycle more predictable and visible, with the objective of reducing costs and increasing quality. It also aims to encourage innovation, and cooperation between teams.

17

Page 18: Dev Up 2016 - Database Lifecycle Management with Redgate

Things

ResiliencyProactive monitoring and measurement of system integrity checks and constraints; Well-planned, escalated, hierarchy of warning and error alerts

InstrumentationDatabase processes must be easily measured for both performance and accuracy, and logged

ManagementVisible; Documented; Tested; Measured; Repeatable

Foundations of DLM

Page 19: Dev Up 2016 - Database Lifecycle Management with Redgate

Single point of contact

Quarterly business reviews

Liaison to project services

Service Level Management

Visibility Documented

Planning the transition to management

Establish secure remote access

Baseline environment

Implement remote monitoring & management.

Tested

Service Level Capacity Availability Continuity Change

Configuration Deployment Event

Measured

Review Run Remediation Result

DLM Management

Single point of contact

Quarterly business reviews

Liaison to project services

Service Level Management

Repeatable

Page 20: Dev Up 2016 - Database Lifecycle Management with Redgate

Source Control

Page 21: Dev Up 2016 - Database Lifecycle Management with Redgate

Testing

• Best practice analyzer• Add to any database

SQLCop

• Unit testing framework• Create Mocks/fakes for your

logic

tSQLt

• Custom data generation scripts

• Include in any CI process for full testability

SQL Data Generator

21

Page 22: Dev Up 2016 - Database Lifecycle Management with Redgate

Automated Build/Release

Page 23: Dev Up 2016 - Database Lifecycle Management with Redgate