Upload
ariel-moskovich
View
185
Download
2
Embed Size (px)
Citation preview
Advanced Code Flow, Notes From the Field
Today's Talk● The goal for using CI/CD● Our CI/CD tools set● Building conventions● Builds flow● Scaling the build infrastracture● Build demo● How we deploy● Additional operations in deployment process● Auto Healing● Saving Money● The need for PAAS● Deploy Demo
The Goal For Using CI/CD
Deliver code safe & fast from SVC to production
Tools Set● BitBucket● Jenkins● Docker● Registry● Consul● RabbitMQ● Mesos● Redis● And some code...
Conventions
Examples
● Projects Names: py-appsflyer-backoffice, Node-af-dashboard-data
● Projects Modes: clicks,launches,etc...● Instance names: webh-20001-001-prod● Container names: afwebhandler_webh-20001-
001-prod.eu1.appsflyer.com
Build Flow
Scaling/HA of the build infrastructure
● Jenkins ● Builders● Rabbit● Redis● Registry
Active/passive master + horizontal scaled slaves
Scale out docker builders cluster
Rabbit cluster for HA
Master/Slave Redis with sentinel for auto switch over
Active/passive with automatic switch over
Demo-1: Builds
Deploy Flow
Types Of Operations● Deploy● Start● Stop● Restart● Revert● Build/Deploy Branch● The above actions on specific instances● The above actions on several modes● Deploy to Mesos● And more…
Auto Healing
Saving Money
Demo-2 Deployment
The Needs for PAAS
● Easier for branch testing● Smoother testing→staging → production flow● Ideal for small applications● Faster delivery● More dynamic● Less configurations● Potential for better utilization
Questions?