Deployment automation, cloud platforms, containerization, short iterations to develop and release software—we’ve progressed a lot. And finally it’s official: Kubernetes and OpenShift are the established platforms to help us do scaling and zero downtime deployments with just a few hundred lines of YAML. It’s a great time.
Can we finally put all our eggs into one basket? Identify the cloud platform that fits our needs, and jump on it? That could well backfire: Vendor lock-in is the new waterfall, it slows you down. In future you’ll want to jump over to the next better platform, in a matter of minutes. Not months.
This talk is about The Art of Writing deployment pipelines that will survive Kubernetes, OpenShift and the like. It’s for Python developers and Kubernetes enthusiasts of all levels – no domain specific knowledge required, all you need to understand will be explained. You’ll learn how to separate application-specific and deployment-specific configuration details, to maximize your freedom and avoid vendor lock-in.
Come see a demo of a Django project setup that covers everything from local development to automatic scaling, flexible enough to be deployed on any of your favorite container platforms. Take home a working, future-proof setup for your Python applications.
See the original presentation at https://slides.com/bittner/modern-continuous-delivery/
2. Peter BittnerPeter Bittner
DeveloperDeveloper
of people, companies and codeof people, companies and code
@peterbittner, django@bittner.it
behave-django
pyclean
djangocms-maps
ansible-role-software
django-probes
django-apptemplates
codeship-yaml
django-organice
PythonTurtlepainless/tox
django-bootstrap-static
3. Continuous DeliveryContinuous Delivery
“ a set of practices and principles in software engineering
aimed at building, testing, and releasing software
safely, faster, more frequently, and in a sustainable way.
Source: painless.software/continuous-delivery
4. Continuous DeliveryContinuous Delivery
“ a set of practices and principles in software engineering
aimed at building, testing, and releasing software
safely, faster, more frequently, and in a sustainable way.
“ the goal is to put the release schedule
in the hands of the business, not in the hands of IT.
Source: painless.software/continuous-delivery
5. Continuous DeliveryContinuous Delivery
“ a set of practices and principles in software engineering
aimed at building, testing, and releasing software
safely, faster, more frequently, and in a sustainable way.
“ the goal is to put the release schedule
in the hands of the business, not in the hands of IT.
Source: painless.software/continuous-delivery
????
Continuous
Continuous
integration
integration
6. Continuous DeliveryContinuous Delivery
“ a set of practices and principles in software engineering
aimed at building, testing, and releasing software
safely, faster, more frequently, and in a sustainable way.
“ the goal is to put the release schedule
in the hands of the business, not in the hands of IT.
Source: painless.software/continuous-delivery
????
Continuous
Continuous
integration
integration
????
Continuous
Continuous
deploym
ent
deploym
ent
13. 1. Clean code1. Clean code
2. Deploy to production2. Deploy to production
from commit #1from commit #1
There must be a better way!There must be a better way!
28. Free your softwareFree your software
no secrets, no security holesno secrets, no security holes
29. “ The only way to go fastThe only way to go fast
is to go well.is to go well.
--- Robert C. Martin
Source: , 2015Technology and Friends, Episode 354
30. Thank you!Thank you!
for your precious timefor your precious time
Painless SoftwarePainless Software
Less pain, more fun.