dev up 2016 - database lifecycle management with redgate
TRANSCRIPT
DLM is a vital, often under-implemented, part of
any ALM or DevOps solution.
Database Lifecycle ManagementDLM with Redgate
Agenda
What is Application Lifecycle Management (ALM)?1
What is DevOps?2
Intro to DLM3
DLM with Redgate4
Application Lifecycle ManagementProduct Lifecycle Management for Software Applications
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
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
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
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
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
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
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
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
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
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
DevOpsAgile ALM
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
Database Lifecycle ManagementRedgate DLM Automation Suite and Monitoring
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
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
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
Source Control
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
Automated Build/Release