The Unthodox Ways
DevBox => Production
Vipul A M
Fab.com
g+t@vipulnsward
J/Ruby / Rails.
Vivek Dubey
DevOps, Fab.com
Prologue.
~The Dev
In the beginning.
-
Development
- QA
- Low on tests
- High reliability on QA
"Super-Agile" *
* TM
Not able to completely test things on local
Dependency of staging
The Equation
Less developers => Less stagings
More developers => Still less stagings
Even More developers => Wait what.
Pushing towards complete local ENV
Set of Services to tackle
- Rails
- Memcached
- redis-server
- Search-Service
- Solr
- configs - DB/GeoIP
- Solr configs/indexings
- resque, node-js
- etc
- Data Population/ Automation
- Smokes
- Sandboxing
Learnings
- Setting up for development can be hell
- Everyone's taste, Problem is different
- Most felt when upgrading/getting new developers started
- Making new developers get off-ground < 1 day vs >1-2 weeks.
Use ->
1. https://github.com/pivotal-sprout/sprout-wrap
2.https://github.com/thoughtbot/laptop
3.https://github.com/boxen/boxen
3.https://github.com/boxen/boxen
* Setup task to get all services up and in sync
* Anticipate different environments
~The QA
Most time spent getting things QA’d then development.
“Disposable stagings”
instapusher
~ln snap-ci
Workflow
-
git branch
- develop
- git commit
- instapusher
- QA
- verified
- throw away
- Iterate
~instapusher
- create new staging
- setup sample data
- setting ENV configs
- startup services
-
start server/ post scripts
~Learnings
-
Do away with repeating setups - wasting 1+ week
- Foster better local development
- Do away with time for pushing to staging
- Developer just wants to get away with development
-
Have fun with the time saved
Deployment process
~The Ops
Deployment to Production Box
First challenge
Deploying to a shared environment
Which tool?
Chef!
• Ruby
• SCM and Deployment
• Attribute
override
• Search
queries
• Data
bags
• Knife
as management tool
Attributes
{
"app":"web",
"tar_version":"1234",
"service_restart":"false"
}
Deployment Process
Deployment Done
What's next?
Next Challenges
- Reduce deployment time
- Hot fixes
Reduce Deployment Time
- Deploy just what you need
- Reduce attribute override time
Patch Deployment
Deploy what you need
- Deploy only changed files
- Create necessary configs
Patch Deployment
Hot Fixes
Thank you!
http://slid.es/vipulnsward/devopsdays2013
devopsdays2013
By vipulnsward
devopsdays2013
- 2,895