Transforming PropertyGuru's Delivery Pipeline

Download Transforming PropertyGuru's Delivery Pipeline

Post on 19-Aug-2014

454 views

Category:

Engineering

13 download

DESCRIPTION

Continuous delivery implementation in PropertyGuru Pte Ltd. Presented at Singapore DevOps Meetup: http://www.meetup.com/devops-singapore/events/195469632/

TRANSCRIPT

  • 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 http://devopsreactions.tumblr.com/post/90542814379/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! jobs@propertyguru.com
  • Glossary Images taken from here: http://beyondplm.com/wp-content/uploads/2012/04/complexity2.jpg http://psdhunter.com/psds/6754-big-red-push-button-free-photoshop-download.png http://uncrate.com/p/2012/06/fitbit-aria-scale-xl.jpg 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