09. How structured database continuous delivery notes

 

--------------------------------------------------------------------------------------------------

VS database applications

 

 

 

Data can be understood as an application code.

 

Solutions:

Decoupling architecture : forming a single controllable path dependency between the application and database objects

Team decoupling : the application of micro-services bring 2 pizza team, team / application / database into an independent unit

Automation : Automated database form continued deployment capabilities across all environments; to form a unified version control applied to the data

 

------------------------------------------------------------------------

Teamwork mode and Architecture Evolution

 

 

 Team decoupling (Micro Services)

 

 

 DBA functions and team evolution

 

 

 

Applications DBA:

l responsible for a specific application data structure, database application code, application code original data, original data, maintenance data traffic

l collaborative development, test team to complete the required continuous deployment environment

l agile / micro-evolution gradually added service application development team, become part of the functional teams

Systems DBA:

l system is responsible for the stable operation of the data at the server level

l need to have the availability of various types of databases, the house is, backup and recovery, patch, upgrade capacity of the system

l maintain continuous production deployment bad environment data

l and PaaS Cloud computing platform evolution internet capability primary key is replaced

 

----------------------------------------------------------------------------------------------------------------

Continuous delivery pipeline design database

* Hierarchical database products

* Database that is - Configuration Management Database

 

01. products hierarchical database

 

 

 

02. Example:

 

 

 

Example:

 

 

 

 

Continuous delivery pipeline database

 

 

 

Code -> Continuous Integration -> Development Environment -> Test Environment -> UAT / preproduction -> production environment

Code:

l database script storage

l and using the same application version management mechanism

l by branching strategy, got me to request control database version of its unity and

l provide local independent database developers with the ability to deploy

l Provide Daily Build generate a shared database for developers

Continuous Integration

l Continuous Integration (CI):

n application code and database scripts packaged together

n continuous integration environment automatically deploying temporary database: data structures, application code, the original data, the test data

n auto-complete database integration testing, continuous integration environment temporary database (data is contaminated)

n should Docher a snapshot of the database state

 

l Continuous Integration (Daily build)

n Use one-day final version of the code

n application code and database scripts packaged together

n auto-complete deployment database development environment: a data structure, application code, the basic data, the test data

Development Environment : Provide Daily Build deployed database provides database development team as a baseline version

Test environment : Use approved product development and testing teams deployed version

UAT / pre-production:

l Use migration scripts to complete the database upgrade in the current version of the database on the basis of

l using tools to automate the script generated difference

l manual intervention if necessary to manually write migration scripts, such as: split the table, demolition row

l data validation scripting and storage

l rollback script and verify that the rollback process

l data migration script storage

Production Environment:

l used in the current version of the database based on the proven migration scripts to complete the database upgrade

l Verification

 

 

 

 

 

External Resources ---> development stage ---> Test level ---> production level ---> products library

PR pre-built triggers -> Get the code -> compile -> static code scanning -> L1 unit test -> release package ready -> Docker Build & Push

 

-----------------------------------------------------------------------------------

Continuous Delivery Implementation Framework:

 

 

Guess you like

Origin www.cnblogs.com/aixiaoxiaoyu/p/12590458.html