SlideShare a Scribd company logo
Continuous Delivery
It's done only when it's deployed!
Žilvinas Kuusas KaunasPHP 2017-06-21
Twitter: @kuusas
Email: zilvinas@kuusas.lt
Žilvinas Kuusas
lead developer
Estina / ISIGN.io
Me
VilniusPHP.lt meetups
NoTrollsAllowed.com
hacker camp
Symfony.lt meetups
CleanPHP.lt trainings & consulting
I make things to happen
CleanPHP.lt
Continuously delivering value
I’ll bring some
Extreme
Programming
ideas
Continuous Delivery
Edit code > Save & Upload to FTP > Done
Where it all began?
ISIGN:
- 3 products
- X shared components
Needs:
- Deploy any time, any version
Value oriented
development
Quality!
How to achieve?
It’s all about incremental
development and continuous
improvement
Atomic tasks
Atomic commits
Should be easy to
review
Fast to test
Deployable to prod
Avoid long-living
branches
Avoid
versioning
trees
Deployed == delivered
Developer’s
satisfaction level
Business can provide
quick and effective
feedback
Wait, but
HOW?
Everything begins with a ticket
“We need to have ‘premium users’ and ‘free
users’ which will have portal usage limits.
Premium users also will get premium features*,
for which users are going to pay by credit card**”
...
Split tasks into small
chunks
Splitting payments
- Credit card processing
- Recurring payments
- Invoices
Splitting credit card processing
- Credit card processor integration
- Credit card processing:
- On successful payment
- On 3D-secure request
- On success
- On failure
- On unsuccessful payment
- Not enough funds
- Invalid CC
- UI (credit card form)
● Frontend
○ HTML
○ JS
● Backend
○ Data validation
○ Processing
■ Pre …
■ Post ...
○ Persistence
● 3rd party integration
○ Library
○ Bridge
It forces you to think
before writing the code
Small tasks -
clear intentions
Everybody knows
what they are doing:
- Coding
- Reviewing
- Testing
- Deploying
It’s easier to focus
on clear goals
Focus == Quality
Do only what you
need to do.
Do not overthink
Do not overengineer
How small it should be?
One developer - one deployable feature
per day.
Way to write
testable code
Quality code reviews
Distribute workload
Reliable and
predictable
releases
Improve often,
Refactor often
Code design
Code design should
be “evolutionary”...
...but some design
patterns you should
know...
#1
Dependency Injection
To manage all the mess
#2
Strategy
To have interchangable implementations
#3
Decorator
Add behaviour to existing objects without class inheritance
Tests!
TDD + Functional tests
The Process
Look ma, no hands!
Deployment pipeline as code
● Bash
● Jenkinsfile
● Ansible
Pull request > Build > Deploy
Monitor && Notify
Jenkins build pipeline
Deployment pipeline
● Build artifact
● Upload to server
● Extract
● Run DB schema migrations
● Switch symlink
● Reload web server configuration
● Run smoke tests
Build better products!
Klausimai?

More Related Content

ODP
OpenNTF Essentials
PDF
“Practical DevOps by a small team of devs” by Ilgvars Jēcis from FinoTech  at...
PDF
Constinuous Integration
PPTX
Develop 4 Developers
PPTX
Sample Project using design patterns and agile
PDF
Introduction to Automated Testing
PDF
Extreme Programming - to the next-level
PPTX
Continuous Delivery in Practice (extended)
OpenNTF Essentials
“Practical DevOps by a small team of devs” by Ilgvars Jēcis from FinoTech  at...
Constinuous Integration
Develop 4 Developers
Sample Project using design patterns and agile
Introduction to Automated Testing
Extreme Programming - to the next-level
Continuous Delivery in Practice (extended)

What's hot (20)

PPTX
That worked before
PPTX
What is dev ops?
PDF
Automated Performance Testing
PDF
Fast end-to-end-tests
PPTX
A culture of Automation - Joe Smith - DevOpsDays Tel Aviv 2017
PPTX
Devteach 2017
PDF
Introduction to webpack and babel
PPTX
Continuous Delivery with VS2015 and TFS2015
PPTX
[QE 2015] Sam Elamin - Monoliths to microservices - a journey
PDF
Balancing Technical Debt and Clean Code
PPTX
Ivan Pashko ITEM 2018
PPT
icebreakerwithdevops-150218112943-conversion-gate02
PPTX
Project management frameworks for software developing
PPTX
Trunk Based Development in the Enterprise - Its Relevance and Economics
PDF
[QE 2015] Łukasz Szydło - Continuous Delivery – Architektura i Praktyka
PDF
Increasing productivity with continuous delivery
PPTX
Headless WordPress and the future is here
PPTX
Domenico Musto "Continuous Delivery Made Possible"
PDF
DevOps Toolchain v1.0
PDF
DevOps Anti-Patterns
That worked before
What is dev ops?
Automated Performance Testing
Fast end-to-end-tests
A culture of Automation - Joe Smith - DevOpsDays Tel Aviv 2017
Devteach 2017
Introduction to webpack and babel
Continuous Delivery with VS2015 and TFS2015
[QE 2015] Sam Elamin - Monoliths to microservices - a journey
Balancing Technical Debt and Clean Code
Ivan Pashko ITEM 2018
icebreakerwithdevops-150218112943-conversion-gate02
Project management frameworks for software developing
Trunk Based Development in the Enterprise - Its Relevance and Economics
[QE 2015] Łukasz Szydło - Continuous Delivery – Architektura i Praktyka
Increasing productivity with continuous delivery
Headless WordPress and the future is here
Domenico Musto "Continuous Delivery Made Possible"
DevOps Toolchain v1.0
DevOps Anti-Patterns
Ad

Similar to Continuously delivering value (20)

PDF
CI/CD: Lessons from LinkedIn and Mockito
PPTX
PHP Unconference Continuous Integration
PDF
Continuous delivery
PDF
QCon'17 talk: CI/CD at scale - lessons from LinkedIn and Mockito
PDF
The journey to Native Cloud Architecture & Microservices, tracing the footste...
PDF
Continuous delivery @wcap 5-09-2013
PPTX
India GRUC Agility Presentation 2015-6-30
PDF
Rapid app building with loopback framework
PDF
Continuous integration & Continuous Delivery @DeVz
PPTX
Deploying more technology to shift from agility to anti-fragility
PDF
The magic ingredient for successful automation - Chapter 2
PDF
Introducing GreenHouse
 
PDF
Continuous Delivery: releasing Better and Faster at Dashlane
PPTX
Drupal 8 Lessons From the Field: What is Continuous Delivery and Why it’s imp...
PDF
Continuos Integration and Delivery: from Zero to Hero with TeamCity, Docker a...
PDF
GitOps , done Right
PPTX
Hudson
 
PDF
CV - Abhijit
PDF
The Continuous delivery Value @ codemotion 2014
CI/CD: Lessons from LinkedIn and Mockito
PHP Unconference Continuous Integration
Continuous delivery
QCon'17 talk: CI/CD at scale - lessons from LinkedIn and Mockito
The journey to Native Cloud Architecture & Microservices, tracing the footste...
Continuous delivery @wcap 5-09-2013
India GRUC Agility Presentation 2015-6-30
Rapid app building with loopback framework
Continuous integration & Continuous Delivery @DeVz
Deploying more technology to shift from agility to anti-fragility
The magic ingredient for successful automation - Chapter 2
Introducing GreenHouse
 
Continuous Delivery: releasing Better and Faster at Dashlane
Drupal 8 Lessons From the Field: What is Continuous Delivery and Why it’s imp...
Continuos Integration and Delivery: from Zero to Hero with TeamCity, Docker a...
GitOps , done Right
Hudson
 
CV - Abhijit
The Continuous delivery Value @ codemotion 2014
Ad

More from Žilvinas Kuusas (9)

PDF
Use Symfony Messenger Component and CQRS!
PDF
Ansible: infrastructure automation for everyone
PDF
Automated cryptocurrency trading
PDF
Code reviews
PDF
Baby steps to Domain-Driven Design
PDF
Community and open source
PDF
Using Capifony for Symfony apps deployment (updated)
PDF
Using Capifony for Symfony apps deployment.
PDF
Microservice architecture
Use Symfony Messenger Component and CQRS!
Ansible: infrastructure automation for everyone
Automated cryptocurrency trading
Code reviews
Baby steps to Domain-Driven Design
Community and open source
Using Capifony for Symfony apps deployment (updated)
Using Capifony for Symfony apps deployment.
Microservice architecture

Recently uploaded (20)

PDF
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
PDF
How to Migrate SBCGlobal Email to Yahoo Easily
PDF
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
PDF
AI in Product Development-omnex systems
PDF
Adobe Illustrator 28.6 Crack My Vision of Vector Design
PDF
System and Network Administraation Chapter 3
PPTX
history of c programming in notes for students .pptx
PPTX
CHAPTER 12 - CYBER SECURITY AND FUTURE SKILLS (1) (1).pptx
PPTX
Operating system designcfffgfgggggggvggggggggg
PDF
medical staffing services at VALiNTRY
PDF
top salesforce developer skills in 2025.pdf
PDF
Complete React Javascript Course Syllabus.pdf
PDF
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
PDF
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
PDF
2025 Textile ERP Trends: SAP, Odoo & Oracle
PPTX
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
PPTX
Odoo POS Development Services by CandidRoot Solutions
PPTX
Transform Your Business with a Software ERP System
PDF
How Creative Agencies Leverage Project Management Software.pdf
PDF
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
How to Migrate SBCGlobal Email to Yahoo Easily
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
AI in Product Development-omnex systems
Adobe Illustrator 28.6 Crack My Vision of Vector Design
System and Network Administraation Chapter 3
history of c programming in notes for students .pptx
CHAPTER 12 - CYBER SECURITY AND FUTURE SKILLS (1) (1).pptx
Operating system designcfffgfgggggggvggggggggg
medical staffing services at VALiNTRY
top salesforce developer skills in 2025.pdf
Complete React Javascript Course Syllabus.pdf
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
2025 Textile ERP Trends: SAP, Odoo & Oracle
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
Odoo POS Development Services by CandidRoot Solutions
Transform Your Business with a Software ERP System
How Creative Agencies Leverage Project Management Software.pdf
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free

Continuously delivering value