SlideShare a Scribd company logo
Continuous DeliveryContinuous Delivery
starts at yourstarts at your
DevelopmentDevelopment
EnvironmentEnvironment
PyCon 9, 2018PyCon 9, 2018
live slides @ tinyurl.com/py9dev
Peter BittnerPeter Bittner
Developer (of people, companies, code)
Co-founder Painless Software
@peterbittner, django@bittner.it
behave-django codeship-yaml sentrylogsdjango-apptemplates djangocms-maps
AgendaAgenda
1. Continuous Delivery Intro
2. More Than Just Servers
3. Demo: Setup Automation
4. Demo: Infrastructure Automation
WhatWhat
Continuous
Continuous Delivery?Delivery?
isis JezHum
ble?
Continuous DeliveryContinuous Delivery
“ ... a set of practices and principles ...
building, testing, and releasing software,
faster and more frequently
“ ... put release schedule in the hands of
the business - not IT
Source: https://painless.software/continuous-delivery
“    .
Development ProcessDevelopment Process
Automation, pipelines & DevOps.
push code
open PR/MR
approve
build review
feature
production
system
branch
server system
TDD, BDD, SeleniumTDD, BDD, Selenium
Tests are fundamental for build pipeline.
No automated verification w/o tests
No safeguarding against regression
No safety net against deployments
that would take the site down
TDD good practice
BDD helpful for acceptance
Selenium / performance
!!risk!!
Envs & ContainersEnvs & Containers
Containers make process easier.
Feature parity across environments
Develop, Staging, Production identical
Simplify deployments, no builds on hosts
Simplify rollbacks
Optional, but makes it easier
Container images built by pipeline
Push complete system
It's Agile (Ever Since)It's Agile (Ever Since)
Source: http://agilemanifesto.org/principles.html
“ Satisfy the customer!
Why Do It?Why Do It?
Move FasterMove Faster
release more often
faster ROI
less dependencies
eliminate frictions
Improve ConfidenceImprove Confidence
high probability of success
broken things can be fixed
fast / easily
sustainable corrections
"it's worth investing"
(time + effort)
CD in a NutshellCD in a Nutshell
Concept Patterns Techniques
Pipeline CI, automatic feedback, continuous
deployment, feature toggles
Empower sponsor review apps, self-service deployment,
zero-downtime, canary + b/g releases
Prove feature
completeness
BDD, TDD, automatic tests (regression,
performance, penetration)
Error prevention environment parity, locked-down envs,
transient envs, automatic provisioning
Visibility version control, dashboards, monitoring
Speed fast tests, resilient / self-healing envs
MoreMore
ServersServers
thanthan
justjust
What Did We Do?What Did We Do?
1. deployment
2. testing
3. environments
“ Big picture
Fix things we first neglect
Make It BiggerMake It Bigger
We're neglecting dev infra
on-boarding developers takes days
no tool parity across dev PCs
can't wipe PC when it behaves weird
everyone asks you (how do I?)
"projects" for switching technologies
or introducing new tools
What's Wrong?What's Wrong?
CD Pattern Anti-Pattern
Automate environment config Manual setup, "work of art"
Scripted setup Notes, documentation of setup
Single command builds Comprehensive instructions
Fix broken environments first Ignore errors, postpone fixes
TDD, automate tests Manual verification + fixes
Fully version controlled Parts not version controlled
Visibility, dashboards, sharing Geeky "secret configurations"
Solution (part #1)Solution (part #1)
Automate your setup
configuration management
treat your dev env like a container
resist manual changes
version control
backup + restore your data
DemoDemo
ansible-softwareansible-software
github.com/painless-software/ansible-software
Solution (part #2)Solution (part #2)
Automate your infrastructure
fully automatic setup: desktops & servers
infrastructure monitoring & mgmt
complete tool chain: infra as code
automatic backups (offsite)
user data synchronization (offline)
DemoDemo
groundcontrolgroundcontrol
github.com/painless-software/groundcontrol
Thank you!Thank you!
for your precious timefor your precious time
Painless SoftwarePainless Software
Less pain, more fun.

More Related Content

PPTX
DevOps Transformations
PPTX
Introduction to DevOps
PPTX
Continuous Deployment
PDF
Continuous Deployment: Beyond Continuous Delivery
PPTX
An introduction to DevOps
PPTX
CI-CD and DevOps with Ruby
PPTX
Continuous Delivery
PPTX
Agile Mindset and Its Implications - My Understanding
DevOps Transformations
Introduction to DevOps
Continuous Deployment
Continuous Deployment: Beyond Continuous Delivery
An introduction to DevOps
CI-CD and DevOps with Ruby
Continuous Delivery
Agile Mindset and Its Implications - My Understanding

What's hot (20)

PPTX
DevOps - Understanding Core Concepts
PPTX
Continuous Deployment
PPTX
DevOps - Understanding Core Concepts (Old)
PPTX
cdSummit Austin - Orchestrating the continuous delivery process - Andy Pemberton
PPTX
The Hard Problems of Continuous Deployment
PPTX
Introduction to DevOps
PPTX
Qa in CI/CD
PDF
Intro to DevOps
PPTX
About DevOps in simple steps
PDF
Introduction to devops 2016
PPT
Continuous Integration and Builds
ZIP
Introduction To Continuous Integration
PDF
Devops, the future is here, it's just not evenly distributed yet.
PPTX
What is DevOps? | DevOps Introduction | DevOps Tools | DevOps Tutorial For Be...
PPTX
cdSummit Austin - The Future of Enterprise Service Mangagement in a DevOps Wo...
PDF
Continuous Integration at T3CON08
PDF
cdSummit Austin - Jez Humble: CD Architecture
PPTX
Dev ops is more than CI+CD tools
PPTX
Continuous integration, delivery & deployment
PDF
Continuous Integration
DevOps - Understanding Core Concepts
Continuous Deployment
DevOps - Understanding Core Concepts (Old)
cdSummit Austin - Orchestrating the continuous delivery process - Andy Pemberton
The Hard Problems of Continuous Deployment
Introduction to DevOps
Qa in CI/CD
Intro to DevOps
About DevOps in simple steps
Introduction to devops 2016
Continuous Integration and Builds
Introduction To Continuous Integration
Devops, the future is here, it's just not evenly distributed yet.
What is DevOps? | DevOps Introduction | DevOps Tools | DevOps Tutorial For Be...
cdSummit Austin - The Future of Enterprise Service Mangagement in a DevOps Wo...
Continuous Integration at T3CON08
cdSummit Austin - Jez Humble: CD Architecture
Dev ops is more than CI+CD tools
Continuous integration, delivery & deployment
Continuous Integration
Ad

Similar to PyCon 9: Continuous Delivery starts at your Development Dnvironment (20)

PDF
Continuous Delivery for Python Developers – PyCon Otto
PDF
Principles and Practices in Continuous Deployment at Etsy
PPT
The Evolution of Agile - Continuous Delivery - Extending Agile out to Product...
PPT
Continuous Deployment
PDF
Continuous Everything
PPTX
Agile & DevOps - It's all about project success
PDF
The Continuous delivery Value @ codemotion 2014
PDF
The Continuous delivery value - Funaro
PDF
Ci tips and_tricks_linards_liepins
PDF
Pete Marshall - casmadrid2015 - Continuous Delivery in Legacy Environments
PDF
Using Anchore and DefectDojo to Stand Up Your DevSecOps Function
PDF
Continuous, continuous, continuous
PPTX
Continuous Integration & the Release Maturity Model
PPTX
Ship code like a keptn
PPT
Continuous Integration
KEY
Testing and DevOps Culture: Lessons Learned
PPTX
Introducing Continuous Integration Using Vsts
PDF
Cloud continuous integration- A distributed approach using distinct services
PPTX
SCALABLE CI CD DEVOPS
PPTX
Agile Engineering Sparker GLASScon 2015
Continuous Delivery for Python Developers – PyCon Otto
Principles and Practices in Continuous Deployment at Etsy
The Evolution of Agile - Continuous Delivery - Extending Agile out to Product...
Continuous Deployment
Continuous Everything
Agile & DevOps - It's all about project success
The Continuous delivery Value @ codemotion 2014
The Continuous delivery value - Funaro
Ci tips and_tricks_linards_liepins
Pete Marshall - casmadrid2015 - Continuous Delivery in Legacy Environments
Using Anchore and DefectDojo to Stand Up Your DevSecOps Function
Continuous, continuous, continuous
Continuous Integration & the Release Maturity Model
Ship code like a keptn
Continuous Integration
Testing and DevOps Culture: Lessons Learned
Introducing Continuous Integration Using Vsts
Cloud continuous integration- A distributed approach using distinct services
SCALABLE CI CD DEVOPS
Agile Engineering Sparker GLASScon 2015
Ad

More from Peter Bittner (15)

PDF
Nix(OS) for Python Developers - PyCon 25 (Bologna, Italia)
PDF
PyCon 24: Pythonic Deployment - Juju and Charms
PDF
PyCon 23: Smettiamola di scrivere script
PDF
Python Summit 2022: Never Write Scripts Again
PDF
APPUiO Quick Start (OpenShift > DevOps > App Dev)
PDF
Pee Dee Kay (PDK) - Puppet Development Kit
PDF
Managing 100+ WAFs
PDF
EuroPython 2019: Modern Continuous Delivery for Python Developers
PDF
Avoid the Vendor Lock-in Trap (with App Deployment)
PDF
A guide to modern software development 2018
PDF
Painless Continuous Delivery – DjangoCon 2017
PDF
Fix-Price Projects And Agile – PyCon Sette
PDF
Creating a Collaboration Platform (Leveraging the Django Eco System)
PDF
Linux für Einsteiger und UmsteigerInnen (Vortrag)
PDF
Linux auf meinem PC
Nix(OS) for Python Developers - PyCon 25 (Bologna, Italia)
PyCon 24: Pythonic Deployment - Juju and Charms
PyCon 23: Smettiamola di scrivere script
Python Summit 2022: Never Write Scripts Again
APPUiO Quick Start (OpenShift > DevOps > App Dev)
Pee Dee Kay (PDK) - Puppet Development Kit
Managing 100+ WAFs
EuroPython 2019: Modern Continuous Delivery for Python Developers
Avoid the Vendor Lock-in Trap (with App Deployment)
A guide to modern software development 2018
Painless Continuous Delivery – DjangoCon 2017
Fix-Price Projects And Agile – PyCon Sette
Creating a Collaboration Platform (Leveraging the Django Eco System)
Linux für Einsteiger und UmsteigerInnen (Vortrag)
Linux auf meinem PC

Recently uploaded (20)

PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PPTX
Programs and apps: productivity, graphics, security and other tools
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Electronic commerce courselecture one. Pdf
PDF
Encapsulation theory and applications.pdf
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PPTX
Cloud computing and distributed systems.
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
KodekX | Application Modernization Development
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
cuic standard and advanced reporting.pdf
PDF
Approach and Philosophy of On baking technology
PDF
NewMind AI Weekly Chronicles - August'25 Week I
The Rise and Fall of 3GPP – Time for a Sabbatical?
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Chapter 3 Spatial Domain Image Processing.pdf
Encapsulation_ Review paper, used for researhc scholars
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Programs and apps: productivity, graphics, security and other tools
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
20250228 LYD VKU AI Blended-Learning.pptx
Per capita expenditure prediction using model stacking based on satellite ima...
Electronic commerce courselecture one. Pdf
Encapsulation theory and applications.pdf
Reach Out and Touch Someone: Haptics and Empathic Computing
Cloud computing and distributed systems.
“AI and Expert System Decision Support & Business Intelligence Systems”
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
KodekX | Application Modernization Development
Unlocking AI with Model Context Protocol (MCP)
cuic standard and advanced reporting.pdf
Approach and Philosophy of On baking technology
NewMind AI Weekly Chronicles - August'25 Week I

PyCon 9: Continuous Delivery starts at your Development Dnvironment

  • 1. Continuous DeliveryContinuous Delivery starts at yourstarts at your DevelopmentDevelopment EnvironmentEnvironment PyCon 9, 2018PyCon 9, 2018 live slides @ tinyurl.com/py9dev
  • 2. Peter BittnerPeter Bittner Developer (of people, companies, code) Co-founder Painless Software @peterbittner, django@bittner.it behave-django codeship-yaml sentrylogsdjango-apptemplates djangocms-maps
  • 3. AgendaAgenda 1. Continuous Delivery Intro 2. More Than Just Servers 3. Demo: Setup Automation 4. Demo: Infrastructure Automation
  • 5. Continuous DeliveryContinuous Delivery “ ... a set of practices and principles ... building, testing, and releasing software, faster and more frequently “ ... put release schedule in the hands of the business - not IT Source: https://painless.software/continuous-delivery “    .
  • 6. Development ProcessDevelopment Process Automation, pipelines & DevOps. push code open PR/MR approve build review feature production system branch server system
  • 7. TDD, BDD, SeleniumTDD, BDD, Selenium Tests are fundamental for build pipeline. No automated verification w/o tests No safeguarding against regression No safety net against deployments that would take the site down TDD good practice BDD helpful for acceptance Selenium / performance !!risk!!
  • 8. Envs & ContainersEnvs & Containers Containers make process easier. Feature parity across environments Develop, Staging, Production identical Simplify deployments, no builds on hosts Simplify rollbacks Optional, but makes it easier Container images built by pipeline Push complete system
  • 9. It's Agile (Ever Since)It's Agile (Ever Since) Source: http://agilemanifesto.org/principles.html “ Satisfy the customer!
  • 10. Why Do It?Why Do It? Move FasterMove Faster release more often faster ROI less dependencies eliminate frictions Improve ConfidenceImprove Confidence high probability of success broken things can be fixed fast / easily sustainable corrections "it's worth investing" (time + effort)
  • 11. CD in a NutshellCD in a Nutshell Concept Patterns Techniques Pipeline CI, automatic feedback, continuous deployment, feature toggles Empower sponsor review apps, self-service deployment, zero-downtime, canary + b/g releases Prove feature completeness BDD, TDD, automatic tests (regression, performance, penetration) Error prevention environment parity, locked-down envs, transient envs, automatic provisioning Visibility version control, dashboards, monitoring Speed fast tests, resilient / self-healing envs
  • 13. What Did We Do?What Did We Do? 1. deployment 2. testing 3. environments “ Big picture Fix things we first neglect
  • 14. Make It BiggerMake It Bigger We're neglecting dev infra on-boarding developers takes days no tool parity across dev PCs can't wipe PC when it behaves weird everyone asks you (how do I?) "projects" for switching technologies or introducing new tools
  • 15. What's Wrong?What's Wrong? CD Pattern Anti-Pattern Automate environment config Manual setup, "work of art" Scripted setup Notes, documentation of setup Single command builds Comprehensive instructions Fix broken environments first Ignore errors, postpone fixes TDD, automate tests Manual verification + fixes Fully version controlled Parts not version controlled Visibility, dashboards, sharing Geeky "secret configurations"
  • 16. Solution (part #1)Solution (part #1) Automate your setup configuration management treat your dev env like a container resist manual changes version control backup + restore your data
  • 18. Solution (part #2)Solution (part #2) Automate your infrastructure fully automatic setup: desktops & servers infrastructure monitoring & mgmt complete tool chain: infra as code automatic backups (offsite) user data synchronization (offline)
  • 20. Thank you!Thank you! for your precious timefor your precious time Painless SoftwarePainless Software Less pain, more fun.