--------------------------------------------------------------------------------------------------
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: