Your agile team has built great software, only to find out it cannot work in production?
Agile has taken the development community by storm. It has improved our everyday lives. It enables us to build great working software in all kinds of environments. But for many companies, covering the last mile, bringing an application into production is the biggest obstacle to being truly agile. Prescribed processes and skill-sets in operations lag behind a decade. We have created cross-functional teams, excluding one of the most important aspects of software – it needs to run in production!
6. separation of concerns
Technology
Operations deployment
web applications
infrastructure
versioning
software architecture
Software QA
shared applications Development technical analysis
24x7 support
research & development
systems & app administration
QA
anixe
7. conflict of interests
Software Technology
Development Operations
change preservation
new features release is risk
release often availability
stability
reliability
anixe
9. anti-patterns
ad-hoc releases
production patching
service monolith
lack of automation
over the wall deployment
anixe
10. solution 1: upgrade admins to devops
Software Technology
Development Operations
devops = sysadmins with
coding knowledge
pros cons
+ ops can lookup code - silos
+ ops can automate platform install/deploy - dev not responsible for production
+ ops can better understand app
+ ops can write tests
anixe
11. solution 2: no-ops
Software
Development
&
Technology
Operations
one really cross-functional
team
pros cons
+ all understand app - 24x7 support
+ common responsibility - dev must know hardware/infrastructure
- dev must know all customer configs
anixe
12. solution 3: cloud
deployment
app administration
infrastructure
web applications Software Technology technical analysis
versioning
software architecture Development Operations 24x7 support
systems administration
shared applications
research & development
pros cons
+ internal/outsource infrastructure doesn’t - silos
matter - support difficult, lack of knowledge of app
+ devs responsible for production done
anixe
13. how far have we come?
our current solution: cloud
windows linux
devs build, test and write deploy scripts devs build, test and deploy
ops run deploy scripts devs deploy via scripts
dbs do db migrations via script scripts do db migrations
devs write app management scripts
anixe