envato dev ops - alt.net melbourne

Post on 28-Jan-2015

121 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

DESCRIPTION

Reworked my Dev Ops presentation for the

TRANSCRIPT

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

john@envato.com

Thursday, 30 June 2011

Envato?

http://envato.com

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

Use GIT

http://git-scm.com/

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

Babushka

http://babushka.me/

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

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

top related