SlideShare une entreprise Scribd logo
1  sur  14
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 it take to go to production?
Answers
Question #1 How can I deploy this to
production?
● Delivery Pipeline
● Stages
● Automation from day one
● Discipline
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
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
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
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!
Answers
Question #2 How can I be sure that this will
work in production?
● Environment similarity
● Build/Deploy similarity
● Efficient testing
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
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
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
Answers
Question #3 How long does it take to go to
production?
● 10 minutes
o Parallel provisioning
o Parallel deployment
o Parallel testing
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 (http://www.docker.com/)
● phantomjs (http://phantomjs.org/)
● casperjs (http://casperjs.org/)

Contenu connexe

Tendances

AWS Toolkit for Visual Studio Version 2
AWS Toolkit for Visual Studio Version 2AWS Toolkit for Visual Studio Version 2
AWS Toolkit for Visual Studio Version 2
Adron Hall
 
Tampere Goes Agile 2013 - Managing a Clean Codebase
Tampere Goes Agile 2013 - Managing a Clean CodebaseTampere Goes Agile 2013 - Managing a Clean Codebase
Tampere Goes Agile 2013 - Managing a Clean Codebase
VincitOy
 
Coderetreat @ CodersTUG
Coderetreat @ CodersTUGCoderetreat @ CodersTUG
Coderetreat @ CodersTUG
Matteo Baglini
 

Tendances (20)

AWS Toolkit for Visual Studio Version 2
AWS Toolkit for Visual Studio Version 2AWS Toolkit for Visual Studio Version 2
AWS Toolkit for Visual Studio Version 2
 
Using Crowdsourced Testing to Turbocharge your Development Team
Using Crowdsourced Testing to Turbocharge your Development TeamUsing Crowdsourced Testing to Turbocharge your Development Team
Using Crowdsourced Testing to Turbocharge your Development Team
 
Development nightmares
Development nightmaresDevelopment nightmares
Development nightmares
 
Reversed Tests Pyramid - Agile Prague 2014
Reversed Tests Pyramid - Agile Prague 2014Reversed Tests Pyramid - Agile Prague 2014
Reversed Tests Pyramid - Agile Prague 2014
 
РОМАН ЯКИМЧУК «Оптимізація QA процесів» Kyiv QADay 2021
РОМАН ЯКИМЧУК «Оптимізація QA процесів» Kyiv QADay 2021РОМАН ЯКИМЧУК «Оптимізація QA процесів» Kyiv QADay 2021
РОМАН ЯКИМЧУК «Оптимізація QA процесів» Kyiv QADay 2021
 
TDD
TDDTDD
TDD
 
Open source software best practices
Open source software best practicesOpen source software best practices
Open source software best practices
 
Test Driven Development en Go con Ginkgo y Gomega
Test Driven Development en Go con Ginkgo y GomegaTest Driven Development en Go con Ginkgo y Gomega
Test Driven Development en Go con Ginkgo y Gomega
 
Learning to Enjoy Unit Testing
Learning to Enjoy Unit TestingLearning to Enjoy Unit Testing
Learning to Enjoy Unit Testing
 
Treinamento TDD
Treinamento TDDTreinamento TDD
Treinamento TDD
 
Tampere Goes Agile 2013 - Managing a Clean Codebase
Tampere Goes Agile 2013 - Managing a Clean CodebaseTampere Goes Agile 2013 - Managing a Clean Codebase
Tampere Goes Agile 2013 - Managing a Clean Codebase
 
Проблемы с производительностью приложений на AngularJS и способы их решения
Проблемы с производительностью приложений на AngularJS и способы их решенияПроблемы с производительностью приложений на AngularJS и способы их решения
Проблемы с производительностью приложений на AngularJS и способы их решения
 
JDD2014: Continuous delivery: capitalizing high quality automated tests - Szc...
JDD2014: Continuous delivery: capitalizing high quality automated tests - Szc...JDD2014: Continuous delivery: capitalizing high quality automated tests - Szc...
JDD2014: Continuous delivery: capitalizing high quality automated tests - Szc...
 
Automated Performance Testing
Automated Performance TestingAutomated Performance Testing
Automated Performance Testing
 
Coderetreat @ CodersTUG
Coderetreat @ CodersTUGCoderetreat @ CodersTUG
Coderetreat @ CodersTUG
 
Automating Your Way to Greatness by Combining OutSystems CI/CD With the Power...
Automating Your Way to Greatness by Combining OutSystems CI/CD With the Power...Automating Your Way to Greatness by Combining OutSystems CI/CD With the Power...
Automating Your Way to Greatness by Combining OutSystems CI/CD With the Power...
 
Tasting Your First Test Burger
Tasting Your First Test BurgerTasting Your First Test Burger
Tasting Your First Test Burger
 
Continuously Break The Android
Continuously Break The AndroidContinuously Break The Android
Continuously Break The Android
 
WHY MOODLE PLUGIN DEVELOPMENT NEEDS APPROVAL
WHY MOODLE PLUGIN DEVELOPMENT NEEDS APPROVALWHY MOODLE PLUGIN DEVELOPMENT NEEDS APPROVAL
WHY MOODLE PLUGIN DEVELOPMENT NEEDS APPROVAL
 
Please don't test your product - Agile Testing
Please don't test your product - Agile TestingPlease don't test your product - Agile Testing
Please don't test your product - Agile Testing
 

En vedette

En vedette (6)

Git+jenkins+rex presentation
Git+jenkins+rex presentationGit+jenkins+rex presentation
Git+jenkins+rex presentation
 
Transforming PropertyGuru's Delivery Pipeline
Transforming PropertyGuru's Delivery PipelineTransforming PropertyGuru's Delivery Pipeline
Transforming PropertyGuru's Delivery Pipeline
 
Qemu + Busybox Tutorial
Qemu + Busybox TutorialQemu + Busybox Tutorial
Qemu + Busybox Tutorial
 
How do i change my sysadmin mindset
How do i change my sysadmin mindsetHow do i change my sysadmin mindset
How do i change my sysadmin mindset
 
Study: The Future of VR, AR and Self-Driving Cars
Study: The Future of VR, AR and Self-Driving CarsStudy: The Future of VR, AR and Self-Driving Cars
Study: The Future of VR, AR and Self-Driving Cars
 
Hype vs. Reality: The AI Explainer
Hype vs. Reality: The AI ExplainerHype vs. Reality: The AI Explainer
Hype vs. Reality: The AI Explainer
 

Similaire à Opinionated continuous delivery

RandomTest - Random Software Integration Tests That Just Work for C/C++, Java...
RandomTest - Random Software Integration Tests That Just Work for C/C++, Java...RandomTest - Random Software Integration Tests That Just Work for C/C++, Java...
RandomTest - Random Software Integration Tests That Just Work for C/C++, Java...
dcieslak
 

Similaire à Opinionated continuous delivery (20)

Writing Tests with the Unity Test Framework
Writing Tests with the Unity Test FrameworkWriting Tests with the Unity Test Framework
Writing Tests with the Unity Test Framework
 
Cloud Native CI/CD with Spring Cloud Pipelines
Cloud Native CI/CD with Spring Cloud PipelinesCloud Native CI/CD with Spring Cloud Pipelines
Cloud Native CI/CD with Spring Cloud Pipelines
 
Cloud Native CI/CD with Spring Cloud Pipelines
Cloud Native CI/CD with Spring Cloud PipelinesCloud Native CI/CD with Spring Cloud Pipelines
Cloud Native CI/CD with Spring Cloud Pipelines
 
Testing in a continuous delivery environment
Testing in a continuous delivery environmentTesting in a continuous delivery environment
Testing in a continuous delivery environment
 
Project Onion unit test environment
Project Onion unit test environmentProject Onion unit test environment
Project Onion unit test environment
 
High Performance Software Engineering Teams
High Performance Software Engineering TeamsHigh Performance Software Engineering Teams
High Performance Software Engineering Teams
 
Devops, Secops, Opsec, DevSec *ops *.* ?
Devops, Secops, Opsec, DevSec *ops *.* ?Devops, Secops, Opsec, DevSec *ops *.* ?
Devops, Secops, Opsec, DevSec *ops *.* ?
 
Release Automation: Better Quality, Faster Deployment, Amazing ROI
Release Automation: Better Quality, Faster Deployment, Amazing ROIRelease Automation: Better Quality, Faster Deployment, Amazing ROI
Release Automation: Better Quality, Faster Deployment, Amazing ROI
 
Continuously delivering software to big brands (fullscreen edition)
Continuously delivering software to big brands (fullscreen edition)Continuously delivering software to big brands (fullscreen edition)
Continuously delivering software to big brands (fullscreen edition)
 
Continuous integration (eng)
Continuous integration (eng)Continuous integration (eng)
Continuous integration (eng)
 
The Final Frontier, Automating Dynamic Security Testing
The Final Frontier, Automating Dynamic Security TestingThe Final Frontier, Automating Dynamic Security Testing
The Final Frontier, Automating Dynamic Security Testing
 
RandomTest - Random Software Integration Tests That Just Work for C/C++, Java...
RandomTest - Random Software Integration Tests That Just Work for C/C++, Java...RandomTest - Random Software Integration Tests That Just Work for C/C++, Java...
RandomTest - Random Software Integration Tests That Just Work for C/C++, Java...
 
Wso2con test-automation
Wso2con test-automationWso2con test-automation
Wso2con test-automation
 
QA Strategies for Testing Legacy Web Apps
QA Strategies for Testing Legacy Web AppsQA Strategies for Testing Legacy Web Apps
QA Strategies for Testing Legacy Web Apps
 
Continuous Integration Testing Techniques to Improve Chef Cookbook Quality
Continuous Integration Testing Techniques to Improve Chef Cookbook QualityContinuous Integration Testing Techniques to Improve Chef Cookbook Quality
Continuous Integration Testing Techniques to Improve Chef Cookbook Quality
 
Devops, the future is here, it's just not evenly distributed yet.
Devops, the future is here, it's just not evenly distributed yet.Devops, the future is here, it's just not evenly distributed yet.
Devops, the future is here, it's just not evenly distributed yet.
 
Continuous Delivery at Snyk
Continuous Delivery at SnykContinuous Delivery at Snyk
Continuous Delivery at Snyk
 
Introduction to CI/CD
Introduction to CI/CDIntroduction to CI/CD
Introduction to CI/CD
 
The Science of Compliance - Early Code to Secure your Node (11/6/19)
The Science of Compliance - Early Code to Secure your Node (11/6/19)The Science of Compliance - Early Code to Secure your Node (11/6/19)
The Science of Compliance - Early Code to Secure your Node (11/6/19)
 
Introduction to CI/CD
Introduction to CI/CDIntroduction to CI/CD
Introduction to CI/CD
 

Dernier

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Dernier (20)

EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 

Opinionated continuous delivery

  • 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. Answers Question #1 How can I deploy this to production? ● Delivery Pipeline ● Stages ● Automation from day one ● Discipline
  • 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. 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. 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. 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. Answers Question #2 How can I be sure that this will work in production? ● Environment similarity ● Build/Deploy similarity ● Efficient testing
  • 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. 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. 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. Answers Question #3 How long does it take to go to production? ● 10 minutes o Parallel provisioning o Parallel deployment o Parallel testing
  • 13. Responsibility vs Headache ● Whose responsibility? o Everyone’s responsibility ● Whose headache o Everyone’s headache
  • 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/)