Transcript
Page 1: 10 Deployments a day - A brief on extreme release protocols

10 Deployments A Day

A brief on extreme release protocol Bhains ki Pooch… :P

weboniselab.com

Page 2: 10 Deployments a day - A brief on extreme release protocols

An outsourced product development company building apps that people love to use!

Page 3: 10 Deployments a day - A brief on extreme release protocols

•  A Weboniser and Rubyist •  A Blogger(vparihar01.github.com) •  A Geek •  DevOps Guy •  An Aspiring Tech Innovator •  Tweet with @vparihar

Page 4: 10 Deployments a day - A brief on extreme release protocols

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.

Page 5: 10 Deployments a day - A brief on extreme release protocols

Our Stone-Age deployment techniques: •  Created instances manually. •  Installed dependencies one-by-one. •  Pulled from GIT into each instance.

Page 6: 10 Deployments a day - A brief on extreme release protocols

•  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!

Page 7: 10 Deployments a day - A brief on extreme release protocols

This is embarrassing… 1 deployment in a week or two.

Page 8: 10 Deployments a day - A brief on extreme release protocols

•  Started versioning viz.(test, stage, production).

•  Brought in Capistrano •  Implemented plugins to notify us of

errors and exceptions.

Page 9: 10 Deployments a day - A brief on extreme release protocols

Wanted to deploy on test.. ..instead deployed on production

Page 10: 10 Deployments a day - A brief on extreme release protocols

•  Rolling back application code successfully but database rollbacks were still a headache.

•  Realized that we need to control deployment access.

Page 11: 10 Deployments a day - A brief on extreme release protocols

•  So, the introduction of SysAdmin. •  Installations through bash scripts.

Page 12: 10 Deployments a day - A brief on extreme release protocols

2011-2012 One Step Ahead

One click deployment with Webistrano instead of Capistrano.

Page 13: 10 Deployments a day - A brief on extreme release protocols

•  What dependencies ? •  No machines available ? •  What database ? •  Security ? •  High Availability ? •  Scalability ? •  My computer can’t install this!

“Put this Code Live, here’s a tarball” NOW!

Page 14: 10 Deployments a day - A brief on extreme release protocols

SysAdmin DOES NOT work!

Page 15: 10 Deployments a day - A brief on extreme release protocols

2 deployments in a week!! Hurray :-)

BUT IT’S NOT ENOUGH

Page 16: 10 Deployments a day - A brief on extreme release protocols

2012 onwards... Bringing in Sophistication

Why SysAdmin didn’t work for us?

Page 17: 10 Deployments a day - A brief on extreme release protocols

Introducing DevOps.. Tada!!

Page 18: 10 Deployments a day - A brief on extreme release protocols

A growing company witnessed proportional infra growth!!!

- 15 live server instances - 45 applications - 7 deployments a week

Page 19: 10 Deployments a day - A brief on extreme release protocols

Biggest Challenge, DevOps faced

Achieving Continuous Deployment {WEBISTRANO}

Page 20: 10 Deployments a day - A brief on extreme release protocols

Keeping our infrastructure… up and running

Page 21: 10 Deployments a day - A brief on extreme release protocols

What We Did…

Monitoring with

Page 22: 10 Deployments a day - A brief on extreme release protocols

Performance with Cacti

Page 23: 10 Deployments a day - A brief on extreme release protocols

The duo in action!

Monitoring with Performance with Cacti

Page 24: 10 Deployments a day - A brief on extreme release protocols

DevOps To The Rescue!

For Centralized Accesses

Combine SSH Public-Key and LDAP on Ubuntu

For Security

Combine UFW and Snort

Page 25: 10 Deployments a day - A brief on extreme release protocols

Automation:The Golden Image

Page 26: 10 Deployments a day - A brief on extreme release protocols

More Automation:Bringing in Puppet

Page 27: 10 Deployments a day - A brief on extreme release protocols

We were spending around 1-1.5 lac/month for our Test and Stage Servers

Page 28: 10 Deployments a day - A brief on extreme release protocols

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.

Page 29: 10 Deployments a day - A brief on extreme release protocols

10 and more deployments in a day

Managing:

•  70 Servers and still increasing... •  More than 120 Live apps.

Page 30: 10 Deployments a day - A brief on extreme release protocols

A unified dashboard for managing multiple cloud services ...HIPPO We intend to opensource the app soon to cater to all our Devops friends…

Page 31: 10 Deployments a day - A brief on extreme release protocols

Thank you

weboniselab.com