transforming propertyguru's delivery pipeline

of 24 /24
Transforming PropertyGuru Delivery Pipeline Dwi Sasongko Supriyadi CD Lead @ PropertyGuru Pte Ltd

Author: dwi-sasongko-supriyadi

Post on 19-Aug-2014




14 download

Embed Size (px)


Continuous delivery implementation in PropertyGuru Pte Ltd. Presented at Singapore DevOps Meetup: 


Transforming PropertyGuru Delivery Pipeline Dwi Sasongko Supriyadi CD Lead @ PropertyGuru Pte Ltd Who are we? 4 main websites in 4 countries 16 mobile apps! Development team in 3 countries (~40 engineers) 9 scrum teams How Do We Do It? Two weeks sprint development Sprint deployment + (almost) unlimited Ad Hoc deployment Technology PHP5, MySQL, Nginx + php-fpm, memcached, redis, sphinx, elasticsearch, beanstalk, MongoDB, puppet, jenkins, vagrant, git, ant, Ubuntu, CentOS, AWS ~200 servers: web, worker, DB The Past One big legacy app (~7 years old) No test Production test, then pray Apache + PHP + MySQL CentOS 5.x, CentOS 6.x Deployment as we knew it Legacy Application Legacy Deployment Problem? System Likely in unknown state Manual ad-hoc changes Application Lack of test, lack of confidence Hard to extend, hard to maintain The Challenge We want to scale! Our Vision System Infrastructure as code Automate as much as possible Single source of truth Similar setup across environment Application SOA TDD, BDD Unit Test Selenium based test CI CD Continuous Delivery SOA Micro Services Everything is service Service is a single application Contract based development SOA SOA Many applications ... Hard to manage dependency Deployment complexity Im scared . SOA - Set of Deployable Version Set of Deployable Version Convention Versioning API instead of introducing BC break Self discipline Dependency Management Release early, break early Release Cycle Promote a set to the next stage as soon as it passes test criterias Deployable Version SoDV in integration SoDV in staging/production deployment Pipeline Deployment What About Now Setup and Teardown production server with single command Launch instance, provision, deploy latest code, run automation test, promote to production Deploy multiple times a day What We Want To Do Next? Bring the deployment power to the business Word of Wisdom Continuous Delivery is not just technical thing, but also mentality We learned how to work together as a big team Were Hiring! [email protected] Glossary Images taken from here: http://upload.wikimedia. org/wikipedia/commons/thumb/a/aa/StateLibQld_1_88816_Aircraft_mechanics_working_on_an_Avro_ Anson_Mk1_plane%2C_Archerfield%2C_ca._1942.jpg/512px- StateLibQld_1_88816_Aircraft_mechanics_working_on_an_Avro_Anson_Mk1_plane% 2C_Archerfield%2C_ca._1942.jpg