16
Advanced Code Flow, Notes From the Field

Advanced Code Flow, Notes From the Field

Embed Size (px)

Citation preview

Page 1: Advanced Code Flow, Notes From the Field

Advanced Code Flow, Notes From the Field

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

Page 3: Advanced Code Flow, Notes From the Field

The Goal For Using CI/CD

Deliver code safe & fast from SVC to production

Page 4: Advanced Code Flow, Notes From the Field

Tools Set● BitBucket● Jenkins● Docker● Registry● Consul● RabbitMQ● Mesos● Redis● And some code...

Page 5: Advanced Code Flow, Notes From the Field

Conventions

Page 6: Advanced Code Flow, Notes From the Field

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

Page 7: Advanced Code Flow, Notes From the Field

Build Flow

Page 8: Advanced Code Flow, Notes From the Field

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

Page 9: Advanced Code Flow, Notes From the Field

Demo-1: Builds

Page 10: Advanced Code Flow, Notes From the Field

Deploy Flow

Page 11: Advanced Code Flow, Notes From the Field

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…

Page 12: Advanced Code Flow, Notes From the Field

Auto Healing

Page 13: Advanced Code Flow, Notes From the Field

Saving Money

Page 14: Advanced Code Flow, Notes From the Field

Demo-2 Deployment

Page 15: Advanced Code Flow, Notes From the Field

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

Page 16: Advanced Code Flow, Notes From the Field

Questions?