Transforming PropertyGuru's Delivery Pipeline

  • 577 views
Uploaded on

Continuous delivery implementation in PropertyGuru Pte Ltd. …

Continuous delivery implementation in PropertyGuru Pte Ltd.

Presented at Singapore DevOps Meetup:

http://www.meetup.com/devops-singapore/events/195469632/

More in: Engineering
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
577
On Slideshare
0
From Embeds
0
Number of Embeds
2

Actions

Shares
Downloads
8
Comments
0
Likes
5

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Transforming PropertyGuru Delivery Pipeline Dwi Sasongko Supriyadi CD Lead @ PropertyGuru Pte Ltd
  • 2. Who are we? 4 main websites in 4 countries 16 mobile apps! Development team in 3 countries (~40 engineers) 9 scrum teams
  • 3. How Do We Do It? Two weeks sprint development Sprint deployment + (almost) unlimited Ad Hoc deployment
  • 4. 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
  • 5. 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
  • 6. Legacy Application
  • 7. Legacy Deployment
  • 8. Problem? ● System ○ Likely in unknown state ○ Manual ad-hoc changes ● Application ○ Lack of test, lack of confidence ○ Hard to extend, hard to maintain
  • 9. The Challenge We want to scale!
  • 10. 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
  • 11. Continuous Delivery http://devopsreactions.tumblr.com/post/90542814379/continuous-delivery
  • 12. SOA ● Micro Services ○ Everything is service ○ Service is a single application ○ Contract based development
  • 13. SOA
  • 14. SOA Many applications ... Hard to manage dependency Deployment complexity I’m scared ….
  • 15. SOA - Set of Deployable Version
  • 16. 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
  • 17. Deployable Version SoDV in integration SoDV in staging/production deployment
  • 18. Pipeline
  • 19. Deployment
  • 20. 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
  • 21. What We Want To Do Next? Bring the deployment power to the business
  • 22. Word of Wisdom ● Continuous Delivery is not just technical thing, but also mentality ● We learned how to work together as a big team
  • 23. We’re Hiring! jobs@propertyguru.com
  • 24. 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