Opinionated
Continuous Delivery
Dwi Sasongko S
<ruckuus@gmail.com>
Challenges
● How can I deploy this to production?
● How can I be sure that this will work in
production?
● How long does i...
Answers
Question #1 How can I deploy this to
production?
● Delivery Pipeline
● Stages
● Automation from day one
● Discipli...
Q#1 How can I deploy this to production?
● Delivery Pipeline
o Build once, promote to different environment/stages
o Deplo...
Q#1 How can I deploy this to production?
● Stages
o Development
 Developer
o Test
 Developer + QA
o Integration
 QA
o S...
Q#1 How can I deploy this to production?
● Automation from day one
o Infrastructure as code
 puppetize!
o Avoid dirty hac...
Q#1 How can I deploy this to production?
● Discipline
o … best practices
o … conventions or configuration?
o Company as on...
Answers
Question #2 How can I be sure that this will
work in production?
● Environment similarity
● Build/Deploy similarit...
Q#2 How can I be sure that this will work in
production?
● Environment setup matters
o development on top of virtual machi...
Q#2 How can I be sure that this will work in
production?
● Build/Deploy similarity
o Same package for all environment
o Sa...
Q#2 How can I be sure that this will work in
production?
● Efficient testing
o Unit test during build time
 unit test & c...
Answers
Question #3 How long does it take to go to
production?
● 10 minutes
o Parallel provisioning
o Parallel deployment
...
Responsibility vs Headache
● Whose responsibility?
o Everyone’s responsibility
● Whose headache
o Everyone’s headache
Tools
● vagrant (http://www.vagrantup.com/)
● puppet (http://puppetlabs.com/)
● jenkins (http://jenkins-ci.org/)
● docker ...
Upcoming SlideShare
Loading in …5
×

Opinionated continuous delivery

303
-1

Published on

A very opinionated continuous delivery implementation. It's not perfect, it may or may not work for your organisation, but it tries to follow the sense of correctness and conventions agreed by all stakeholder.

Published in: Technology, Business
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
303
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
2
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Opinionated continuous delivery

  1. 1. Opinionated Continuous Delivery Dwi Sasongko S <ruckuus@gmail.com>
  2. 2. Challenges ● How can I deploy this to production? ● How can I be sure that this will work in production? ● How long does it take to go to production?
  3. 3. Answers Question #1 How can I deploy this to production? ● Delivery Pipeline ● Stages ● Automation from day one ● Discipline
  4. 4. Q#1 How can I deploy this to production? ● Delivery Pipeline o Build once, promote to different environment/stages o Deploy early, break early, fix early o Master/trunk as production ready branch  No revert, but incremental changes
  5. 5. Q#1 How can I deploy this to production? ● Stages o Development  Developer o Test  Developer + QA o Integration  QA o Staging  QA o Production  Everyone
  6. 6. Q#1 How can I deploy this to production? ● Automation from day one o Infrastructure as code  puppetize! o Avoid dirty hack  Never SSH to machine  Use API whenever possible o One click deployment  Launch machine and provision  Automated code deployment
  7. 7. Q#1 How can I deploy this to production? ● Discipline o … best practices o … conventions or configuration? o Company as one big team o It’s not about you and me, it’s about us! o If I screw up, I will screw the whole company!
  8. 8. Answers Question #2 How can I be sure that this will work in production? ● Environment similarity ● Build/Deploy similarity ● Efficient testing
  9. 9. Q#2 How can I be sure that this will work in production? ● Environment setup matters o development on top of virtual machine, same setup as production o other environments are small sets of production machine o same configuration on every environment
  10. 10. Q#2 How can I be sure that this will work in production? ● Build/Deploy similarity o Same package for all environment o Same deployment step for all environment o A switch to differentiate each environment o Differences on configuration for each environment  Test different configuration  More eyes to verify changes
  11. 11. Q#2 How can I be sure that this will work in production? ● Efficient testing o Unit test during build time  unit test & coverage o Automated Smoke & Functional test in test/integration  Feature = Feature + Test o Automated Regression test in staging o Post deployment test
  12. 12. Answers Question #3 How long does it take to go to production? ● 10 minutes o Parallel provisioning o Parallel deployment o Parallel testing
  13. 13. Responsibility vs Headache ● Whose responsibility? o Everyone’s responsibility ● Whose headache o Everyone’s headache
  14. 14. Tools ● vagrant (http://www.vagrantup.com/) ● puppet (http://puppetlabs.com/) ● jenkins (http://jenkins-ci.org/) ● docker (http://www.docker.com/) ● phantomjs (http://phantomjs.org/) ● casperjs (http://casperjs.org/)
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×