10 Deployments a day - A brief on extreme release protocols


Published on

A reflection on how we migrated from an era of production deployments once a week to more than 10 deployments a day. The story of transforming a mere sys-admin to super sophisticated DevOps team, armed with multiple tools, scripts and plugins for achieving automations, accuracy and invincible agility. As we continue on our endeavor for further improvisation, I believe its worth sharing the experience with community. Tentative topics outline:
1.Arming teams for their transformation to DevOps from mere sys-admins.
2.Killing manual deployments (manual deployment->capistrano->webistrano)
3.Automation (for daily backups,monitoring applications and servers deploying dependencies)
4.Saving up time on setting up new instances(using golden image).
5.Using LDAP to maintain servers with public key(avoiding individual logins to every server makes it less messy)
6.Using Puppet for instantiating multiple servers at once.
7.Commissioning our own Cloud Infrastructure.

Published in: Technology
No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

10 Deployments a day - A brief on extreme release protocols

  1. 10 Deployments A Day A brief on extreme release protocol Bhains ki Pooch… :P weboniselab.com
  2. An outsourced product development company building apps that people love to use!
  3. •  •  •  •  •  •  A Weboniser and Rubyist A Blogger(vparihar01.github.com) A Geek DevOps Guy An Aspiring Tech Innovator Tweet with @vparihar
  4. With the new born startup and freshly out of college grad’s, everything we did was an experiment. Deployments and relevant techniques were completely alien with no experience on how to deal with our first application going live.
  5. Our Stone-Age deployment techniques: •  •  •  Created instances manually. Installed dependencies one-by-one. Pulled from GIT into each instance.
  6. •  •  •  Doing every task manually on the server for each deployment - Not again... Database migrations and rolling back is such a headache. We need versions for our deployments!
  7. This is embarrassing… 1 deployment in a week or two.
  8. •  •  •  Started versioning viz.(test, stage, production). Brought in Capistrano Implemented plugins to notify us of errors and exceptions.
  9. Wanted to deploy on test.. ..instead deployed on production
  10. •  •  Rolling back application code successfully but database rollbacks were still a headache. Realized that we need to control deployment access.
  11. •  •  So, the introduction of SysAdmin. Installations through bash scripts.
  12. 2011-2012 One Step Ahead One click deployment with Webistrano instead of Capistrano.
  13. “Put this Code Live, here’s a tarball” NOW! •  •  •  •  •  •  •  What dependencies ? No machines available ? What database ? Security ? High Availability ? Scalability ? My computer can’t install this!
  14. SysAdmin DOES NOT work!
  15. 2 deployments in a week!! Hurray :-) BUT IT’S NOT ENOUGH
  16. 2012 onwards... Bringing in Sophistication Why SysAdmin didn’t work for us?
  17. Introducing DevOps.. Tada!!
  18. A growing company witnessed proportional infra growth!!! - 15 live server instances - 45 applications - 7 deployments a week
  19. Biggest Challenge, DevOps faced Achieving Continuous Deployment {WEBISTRANO}
  20. Keeping our infrastructure… up and running
  21. What We Did… Monitoring with
  22. Performance with Cacti
  23. The duo in action! Monitoring with Performance with Cacti
  24. DevOps To The Rescue! For Centralized Accesses Combine SSH Public-Key and LDAP on Ubuntu For Security Combine UFW and Snort
  25. Automation:The Golden Image
  26. More Automation:Bringing in Puppet
  27. We were spending around 1-1.5 lac/month for our Test and Stage Servers
  28. Why not our own Private Cloud ?? So, we went ahead and bought our own servers and migrated all test and stage instances to our own in-house private cloud.
  29. Managing: •  •  70 Servers and still increasing... More than 120 Live apps. 10 and more deployments in a day
  30. A unified dashboard for managing multiple cloud services ...HIPPO We intend to opensource the app soon to cater to all our Devops friends…
  31. Thank you weboniselab.com