DevOps Notes
DevOps Notes
DevOps
~~~~~~
Development & Build Workflow
>> Developers work on individual systems, however code is saved on central share
(NAS Filer/NFS/S3)
>> Developers connect to dedicated databases for DB access during development
(Instance on central server, each developer has own DB which is cloned from the
Dev)
>> Developers have to generate DDL scripts for their respective DB artifacts and
push it git (gitlab) along with their commits
>> Developers are responsible for additional/ad-hoc DB backups (recommended before
generating DDL)
DB Build workflow
~~~~~~~~~~~~~~~~~
>> Before commiting code developer generates DDL script
>> DDL script commited to gitlab along with regular code
>> During code merge identify conflicts in DDL scripts
-> Simple approach is generate DDL script with only CREATE statements (NO
DROPS)
-> Run all scripts on a stage DB (built from last Dev DB)
-> Errors are reported back
-> Developer performing Merge request reviews errors and resolves conflicts
-> Generate a master DDL SQL script which is committed to the merge which
will be deployed on Dev
>> On higher envs starting with Dev, current DB is renamed -> new DB is deployed
>> DBs are backedup on daily basis and retained for 30 days
>> 60 unused DBs are retained, 61st DB will push the oldest one for deletion
Containers
~~~~~~~~~~
Server Clusters
DEv + Staging
QA + UAT
PreProd + Prod
Monitoring
----------
Server
Container
Database
Application
Backup
-------
Container
Database
Config/Settings
Deployment process
-------------------