transforming propertyguru's delivery pipeline

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

Upload: dwi-sasongko-supriyadi

Post on 19-Aug-2014

648 views

Category:

Engineering


15 download

DESCRIPTION

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

TRANSCRIPT

Page 1: Transforming PropertyGuru's Delivery Pipeline

Transforming PropertyGuru Delivery Pipeline

Dwi Sasongko SupriyadiCD Lead @ PropertyGuru Pte Ltd

Page 2: Transforming PropertyGuru's Delivery Pipeline

Who are we?

4 main websites in 4 countries16 mobile apps!Development team in 3 countries (~40 engineers) 9 scrum teams

Page 3: Transforming PropertyGuru's Delivery Pipeline

How Do We Do It?

Two weeks sprint developmentSprint deployment + (almost) unlimited Ad Hoc deployment

Page 4: Transforming PropertyGuru's Delivery Pipeline

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

Page 5: Transforming PropertyGuru's Delivery Pipeline

The Past

One big legacy app (~7 years old)No testProduction test, then pray

Apache + PHP + MySQLCentOS 5.x, CentOS 6.xDeployment as we knew it

Page 6: Transforming PropertyGuru's Delivery Pipeline

Legacy Application

Page 7: Transforming PropertyGuru's Delivery Pipeline

Legacy Deployment

Page 8: Transforming PropertyGuru's Delivery Pipeline

Problem?

● System○ Likely in unknown state○ Manual ad-hoc changes

● Application○ Lack of test, lack of confidence○ Hard to extend, hard to maintain

Page 9: Transforming PropertyGuru's Delivery Pipeline

The Challenge

We want to scale!

Page 10: Transforming PropertyGuru's Delivery Pipeline

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

Page 11: Transforming PropertyGuru's Delivery Pipeline

Continuous Delivery

http://devopsreactions.tumblr.com/post/90542814379/continuous-delivery

Page 12: Transforming PropertyGuru's Delivery Pipeline

SOA

● Micro Services○ Everything is service○ Service is a single application○ Contract based development

Page 13: Transforming PropertyGuru's Delivery Pipeline

SOA

Page 14: Transforming PropertyGuru's Delivery Pipeline

SOA

Many applications ...Hard to manage dependencyDeployment complexityI’m scared ….

Page 15: Transforming PropertyGuru's Delivery Pipeline

SOA - Set of Deployable Version

Page 16: Transforming PropertyGuru's Delivery Pipeline

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

Page 17: Transforming PropertyGuru's Delivery Pipeline

Deployable Version

SoDV in integration SoDV in staging/production

deployment

Page 18: Transforming PropertyGuru's Delivery Pipeline

Pipeline

Page 19: Transforming PropertyGuru's Delivery Pipeline

Deployment

Page 20: Transforming PropertyGuru's Delivery Pipeline

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

Page 21: Transforming PropertyGuru's Delivery Pipeline

What We Want To Do Next?

Bring the deployment power to the business

Page 22: Transforming PropertyGuru's Delivery Pipeline

Word of Wisdom

● Continuous Delivery is not just technical thing, but also mentality

● We learned how to work together as a big team

Page 23: Transforming PropertyGuru's Delivery Pipeline

We’re Hiring!

[email protected]

Page 24: Transforming PropertyGuru's Delivery Pipeline

GlossaryImages taken from here:http://beyondplm.com/wp-content/uploads/2012/04/complexity2.jpghttp://psdhunter.com/psds/6754-big-red-push-button-free-photoshop-download.pnghttp://uncrate.com/p/2012/06/fitbit-aria-scale-xl.jpghttp://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