AgileCE2011 holistic devployment

1,291 views

Published on

My slides from my talk at AgileCE in Cracow 2011 about the deployment process, the roles of developers and admins in the products lifecycle with practical suggestions.

Published in: Technology
1 Comment
0 Likes
Statistics
Notes
  • I do agree, currently DevOps is the codification of 'ops' (e.g. Infrastructure-as-Code). But, I don't think is correct, or at least the optimal thing for DevOps. It is a bi-directional relationship. Devers need a better understanding of ops requirements (and tools too) if for no other reason to improve the Dev and QA environments.

    I think your slide #10 is what 'DevOps' is. And, solution 3 is part of DevOps as well.
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Be the first to like this

No Downloads
Views
Total views
1,291
On SlideShare
0
From Embeds
0
Number of Embeds
300
Actions
Shares
0
Downloads
4
Comments
1
Likes
0
Embeds 0
No embeds

No notes for slide
  • -CTO @anixe - cool stuff \n- tuesdays, thursdays also CEO\n- develop in .net, ruby\n
  • - great software need to get it to production\n- devs become quicker in building, but cannot release as often as they want, \n- ops might have a different cycle (customer related), shared resources, own department\n- ops rarely automate, newest trend, install on one VM and clone\n- hardening sprints? separate operations/admin departments? (creates waterfall)\n- limited access to production, PCI compliancy\n- we have cross-functional teams, but without including admins / infrastructure\n
  • - we were a cool startup, only cool developers\n- we have been struggling with this problem for a long while\n- cowboy deployment - tough - confident - guy who thinks he can do it all\n- no automated testing originally\n- all manual work all the time\n- builds a great new feature and uploads it directly in to production (manually)\n- is manual releases, at the will of the cowboy (deployer) - no coordination, no qa \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • AgileCE2011 holistic devployment

    1. 1. holistic devploymentwhy the last mile is the longest Piotr Żołnierek @pzol
    2. 2. Is production deploy part of DONE?Has your customer ever been afraid of updates?Do you have:continuous-integration?fully-automated-deployment?continuous-deployment?who is NOT having integration and/or unit tests? anixe
    3. 3. This is deployment -manual, hard, not-repeatablewithout the team, without coordinationTough cowboy thinks he can handle it alldeploy once the build has succeededor midnight deployIf cow runs awaycowboy runs after cow and fixes problemyou can patch cows on production (pasture)cows are kind of self-organizing - servers are not deployment process anixe
    4. 4. This is how we started a couple of anti-patterns years ago! cowboy deployment - manually driving the cattle to the pastures ad-hoc releases production patching service monolith lack of automation• AdHoc Release – Devs would deploy as soon as they made quick fixes to the application.• Production Patching – Sysadmins change configs and other parts directly on production, nobody knows what they changed• Service Monolith – the apps are not modular enough or not modular the way and nobody understood how they work together.• Lack of Automation – the whole deploy process was done manually, every time! anixe
    5. 5. 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 QAwhat we did? what many do!we split! Both Devs and Ops, from their perspective, want the best for the business. Only, optimizing any subsystem without context, leads to the destabilization of the system as a whole, de facto decreasing overall performance. anixe
    6. 6. conflict of interests Software Technology Development Operationsno contact withcustomer change preservation new features release is risk release often availability stability reliability anixe
    7. 7. anti-patterns ad-hoc releases production patching service monolith lack of automation• AdHoc Release – Devs would deploy as soon as they made quick fixes to the application.• Production Patching – Sysadmins change configs and other parts directly on production, nobody knows what they changed• Service Monolith – the apps are not modular enough or not modular the way and nobody understood how they work together.• Lack of Automation – the whole deploy process was done manually, every time! anixe
    8. 8. anti-patterns ad-hoc releases production patching service monolith lack of automation over the wall deployment• AdHoc Release – Devs would deploy as soon as they made quick fixes to the application.• Production Patching – Sysadmins change configs and other parts directly on production, nobody knows what they changed• Service Monolith – the apps are not modular enough or not modular the way and nobody understood how they work together.• Lack of Automation – the whole deploy process was done manually, every time! anixe
    9. 9. solution 1: devopsnew movementsysadmin who can program 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
    10. 10. 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
    11. 11. solution 3: cloud deploymentapp administration infrastructure web applications Software Technology technical analysis versioning software architecture Development Operations 24x7 support systems administration shared applicationsresearch & development pros cons + internal/outsource infrastructure doesn’t - silos matter - support difficult, lack of knowledge of app + devs responsible for production done anixe
    12. 12. how far have we come? our current solution: cloud windows linuxdevs build, test and write deploy scripts devs build, test and deployops run deploy scripts devs deploy via scriptsdbs do db migrations via script scripts do db migrations devs write app management scripts anixe
    13. 13. good devployment patterns automation composite deployment self-check code-data split adaptive deployment anixe
    14. 14. thanks! Piotr Żołnierek @pzol speakerrate.com/pzolpzol.agirei.com/holistic-devployment anixe

    ×