Download - Envato Dev Ops - Alt.Net Melbourne
Dev Ops, Ruby, Rails, and Envato
A team of 8 deploy heaps of times a day to a Ruby on Rails app that has scaled up to around 20 million
requests a week without an ops team.
lolwut?
Thursday, 30 June 2011
John Barton
@johnbarton
Thursday, 30 June 2011
Stock Marketplaces&
Tutorial Network
Thursday, 30 June 2011
Marketplaces
Thursday, 30 June 2011
Like iStockPhoto but for other creative niches
oreBay for digital goods
Thursday, 30 June 2011
Tuts+ Network
Thursday, 30 June 2011
Big Blog Network for education in creative fields
Thursday, 30 June 2011
The Marketplace
Thursday, 30 June 2011
August 2006
Thursday, 30 June 2011
One Marketplace
Thursday, 30 June 2011
FlashDen
Thursday, 30 June 2011
Rails 0.13bNo UsersNo Traffic
Thursday, 30 June 2011
June 2011
Thursday, 30 June 2011
9 Marketplaces
Thursday, 30 June 2011
ActiveDen (nee FlashDen)AudioJungle
ThemeForestVideoHive
GraphicRiverCodeCanyon
3D OceanTuts+ Marketplace
PhotoDune
Thursday, 30 June 2011
Rails 2.3.11830,462 Users
22 Million Requests Weekly
Thursday, 30 June 2011
One Codebase and One Production Environment
Thursday, 30 June 2011
What’s interesting about our deployments?
Thursday, 30 June 2011
deploy frequently, high scale, no ops team
Thursday, 30 June 2011
What do you need to do the same?
Thursday, 30 June 2011
Some technical infrastructure, some
business/cultural
Thursday, 30 June 2011
Cultural Bits
Thursday, 30 June 2011
The “Dev Ops” Culture
Thursday, 30 June 2011
“Culture of respect & trust, good attitude toward
failure...”
Ted Dzubia
Thursday, 30 June 2011
“How about "culture of stop fucking up"?”
Ted Dzubiahttp://teddziuba.com/2011/03/devops-scam.html
Thursday, 30 June 2011
A problem of competing priorities
Thursday, 30 June 2011
Our Solution:Don’t have Ops
Thursday, 30 June 2011
Outsource commodity platform bits:
virtualisation/cloud, have rackspace take care of db/
mailserver
Thursday, 30 June 2011
Ensure the dev team has the skills to take care of the
rest
Thursday, 30 June 2011
Take advantage of an individual's talents, but don’t rely upon them
ie. don’t accidentally create an ops guy
Thursday, 30 June 2011
OK to have specialists... for special work.
Keeping the app running isn’t “special”
Thursday, 30 June 2011
Within the Business
Thursday, 30 June 2011
Preserve The “Golden Age”
Thursday, 30 June 2011
Thursday, 30 June 2011
3 Developers30 minute feedback cycledeploy, discuss on forums,
deploy again
Thursday, 30 June 2011
Keep doing everything good about the the startup days
for as long as we can
Thursday, 30 June 2011
Avoid Corporate Antipatterns
Thursday, 30 June 2011
We’ve all been doing dev long enough to see this
stuff screwed up over and over again
Thursday, 30 June 2011
Decision 3:Don’t do all that stuff
Thursday, 30 June 2011
Ultimate Responsibility
Thursday, 30 June 2011
"The fault, dear Brutus, is not in our
QA or Ops,But in ourselves."
Thursday, 30 June 2011
Test Driven Developmentvs.
QA Team
Thursday, 30 June 2011
Test Driven Infrastructurevs.
Ops Team
Thursday, 30 June 2011
Both as a team and as individuals we own our work from when we are
asked to do it...
Thursday, 30 June 2011
... until is is demonstrably error free and performant
in production
Thursday, 30 June 2011
Everyone is in the (paid) on call roster
Thursday, 30 June 2011
Everyone takes a turn at Level 2 Customer Support
Thursday, 30 June 2011
Want those jobs to be easier?
Stop fucking up.
Thursday, 30 June 2011
Process
Thursday, 30 June 2011
LEAN / TPS Principles
...without the process
Thursday, 30 June 2011
Thursday, 30 June 2011
You cannot write code any faster than you can deploy
it to production
Thursday, 30 June 2011
Long running projects?
Thursday, 30 June 2011
A. B. C.
Always Be Cmerging
(the c is silent)
Thursday, 30 June 2011
I would not want to try this with Subversion, or Visual Source Safe... and I never had enough money to try “Team Foundation Server”
Thursday, 30 June 2011
Dark LaunchFeature FlagsPrivate Beta
Thursday, 30 June 2011
User Community
Thursday, 30 June 2011
We do trip up running this fast
Thursday, 30 June 2011
But through years of openness with our users
via our forums and owning up to our mistakes
Thursday, 30 June 2011
... we’ve ended up with a (relatively) sympathetic
community
Thursday, 30 June 2011
Time Zones both help and hurt
Thursday, 30 June 2011
Traffic peaks during US day means that if things go
wrong we’re usually asleep
Thursday, 30 June 2011
But it makes it very easy to deploy during our business
hours
Thursday, 30 June 2011
Open Source
Thursday, 30 June 2011
No point you solving the same problem as the guy
down the street
Thursday, 30 June 2011
No point the guy down the street solving the same
problem you did last week
Thursday, 30 June 2011
Technology
Thursday, 30 June 2011
Commodity Hosting is a prerequisite
Thursday, 30 June 2011
Notice I’m not saying “Cloud Computing”
Thursday, 30 June 2011
Thursday, 30 June 2011
Thursday, 30 June 2011
You can't trust “the cloud” but
you can trust “the cloud to be “the cloud”.
Thursday, 30 June 2011
Make a conservative platform choice so we don’t have to sweat the
detailsie. Ubuntu 10.4 LTS
Thursday, 30 June 2011
I guess you guys have to choose like Windows
Ultimate 2009 Edition?
Thursday, 30 June 2011
Seriously though, Ruby guys love shiny new things, and we’re spoiled for choice
_even_ when it harms us.
Thursday, 30 June 2011
So we make an effort to keep the stack as Vanilla as
possible
Thursday, 30 June 2011
Virtualised servers in our own sandbox.
Cloud Flexibility - Cloud Shit-ness = WIN
Thursday, 30 June 2011
Automate Configuration Management
Thursday, 30 June 2011
Test drive your architecture...
Thursday, 30 June 2011
...or borrow “deps” built by other people
Thursday, 30 June 2011
Lets look at some code
Thursday, 30 June 2011
Babushka is designed to be run manually on the
remote machine
Thursday, 30 June 2011
Use Dollhousehttps://github.com/geelen/
dollhouse
To drive babushka remotely
Thursday, 30 June 2011
moar code
Thursday, 30 June 2011
A lot of people I take seriously, take Chef
seriously.
http://wiki.opscode.com/
Thursday, 30 June 2011
Automate Deployment
Thursday, 30 June 2011
Capistrano
https://github.com/capistrano/capistrano
Thursday, 30 June 2011
Codes?
Thursday, 30 June 2011
The un-sung hero
Thursday, 30 June 2011
rake db:migrate
Thursday, 30 June 2011
I’m so used to having it I can’t even remember how I
ever deployed database changes in the past
Thursday, 30 June 2011
Performance & Scaling
Thursday, 30 June 2011
Not as big a deal as everyone thinks
Thursday, 30 June 2011
.NET runtime is faster... but it’s really not that big a deal
Thursday, 30 June 2011
Shared-nothing load balanced app servers + out of request queue workers
not rocket surgery
Thursday, 30 June 2011
Measure, deploy, measure again and then tweak or
rollback
New Relic FTW
Thursday, 30 June 2011
There is no code faster than no code.
Thursday, 30 June 2011
Why I’m happier than I was as a .NET programmer
Thursday, 30 June 2011
Mainly because ofSystem.Threading.Timer
Thursday, 30 June 2011
No Viewstate
(Yes I heard you’ve got MVC now instead)
Thursday, 30 June 2011
A culture of people who fix things instead of waiting for
them to be fixed
Thursday, 30 June 2011
People who care about expressiveness of code and
finding the right abstractions
Thursday, 30 June 2011
Question?Thursday, 30 June 2011