GCP deployments
@ ON
Main components
OS Image: linux server
Google deployment manager: deploys VMs
Ansible: configuration and inventory
Jenkins: orchestrates all above for operations
OS image
Ubuntu
packages (e.g. python venv, nginx, fluentd for logs)
directory structure (git repos)
test image-family on staging
production image-family on prod
deploys infrastructure: VMs, LBs, etc
VMs CPU, RAM, labels, etc
yaml files describe resources
https://bitbucket.org/opportunitynetwork/cloud-deployments/src/master/
Google Deployment Manager
Ansible
VMs configuration (supervisor, celery, fluentd, crontabs)
directory structure (git checkouts)
django's local_settings.py !!
VMs inventory per environment: staging, production
https://bitbucket.org/opportunitynetwork/on-cloud/src/master/
Jenkins
operations: orchestrates G Deployment Manager + Ansible + scripts
production: e.g. deployments, add new web/api servers
staging: e.g. start/stop VMs, clone dbs, obfuscate data
https://bitbucket.org/opportunitynetwork/jenkins/src/master/
Thanks for watching
:-)
@joaquin
Made with Slides.com