why startups need automated infrastructures

44
1 Why Startups Need Automated Infrastructures Adam Jacob Senior Partner HJK Solutions adam@hjksolutions .com

Upload: amy

Post on 15-Jan-2016

39 views

Category:

Documents


0 download

DESCRIPTION

Why Startups Need Automated Infrastructures. Adam Jacob Senior Partner HJK Solutions [email protected]. Overview. What is an “Automated Infrastructure”? Why is it so important? MonkeyNews - A Case Study Review Q & A. Disclaimer. These are the tools we use - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Why Startups Need Automated Infrastructures

1

Why Startups NeedAutomated Infrastructures

Adam JacobSenior PartnerHJK [email protected]

Page 2: Why Startups Need Automated Infrastructures

Overview

• What is an “Automated Infrastructure”?

• Why is it so important?• MonkeyNews - A Case Study• Review• Q & A

Page 3: Why Startups Need Automated Infrastructures

Disclaimer

• These are the tools we use• They are not the only tools• They may or may not be the right

tools for how you work or think

QuickTime™ and a decompressor

are needed to see this picture.

Symbol From IIT Bombay

Page 4: Why Startups Need Automated Infrastructures

4

What is an “Automated Infrastructure”?

Page 5: Why Startups Need Automated Infrastructures

Automated

”…a process which may once have been performed manually but has been altered in some way which allows a machine or computer to either wholly or partially manipulate the process to save time”

QuickTime™ and a decompressor

are needed to see this picture.

Page 6: Why Startups Need Automated Infrastructures

Infrastructure

“Infrastructure is generally a set of interconnected structural elements that provide the framework supporting an entire structure”

QuickTime™ and a decompressor

are needed to see this picture.

Page 7: Why Startups Need Automated Infrastructures

Automated Infrastructure

“Having the basic services necessary for your business to operate largely without the aid of a keeper.”

Page 8: Why Startups Need Automated Infrastructures

8

Why is it so important?

Page 9: Why Startups Need Automated Infrastructures

To your Operations Staff

• Mitigates some failures• They want to be lazy• Repetition leads to burnout• They want to say “Yes”

Page 10: Why Startups Need Automated Infrastructures

For Startups

• Time• Efficiency• Scalability• Economics• Flexibility

Page 11: Why Startups Need Automated Infrastructures

The Jesse Robbins (mis)Quote

“Operations is the act of extracting value from your resources.”

QuickTime™ and a decompressor

are needed to see this picture.

Page 12: Why Startups Need Automated Infrastructures

12

MonkeyNews - A Case Study

All the hottest Monkey news, as selected by your monkey-loving peers!

QuickTime™ and a decompressor

are needed to see this picture.

Courtesy National Geographic

Page 13: Why Startups Need Automated Infrastructures

What is MonkeyNews

• Small Startup• “Like Digg, only about Monkeys”• Going to sell Advertising as a

revenue model

Page 14: Why Startups Need Automated Infrastructures

MonkeyNews on Launch Day

Page 15: Why Startups Need Automated Infrastructures

Steps to Launch

Page 16: Why Startups Need Automated Infrastructures

Steps to Launch - OS Install

Manual• Install each system

by hand• 1 hour per system

0

12

3

45

6

Hours

Manual

Method

OS Install Time

app1stgops1proddb2proddb1prodapp2prodapp1prod

Page 17: Why Startups Need Automated Infrastructures

Steps to Launch - OS Install

Automated• Ops1prod built

manually– 1 hour

• Automated install system (PXE)

• EC2, Cloud0

1

2

3

4

5

6

7

Hours

PXE EC2

Method

OS Install Time - Automated

AttendedUnattended

Page 18: Why Startups Need Automated Infrastructures

Steps to Launch - OS Install

012345678

Hours

Manual PXE EC2

Method

OS Install Options

UnattendedAttended

Page 19: Why Startups Need Automated Infrastructures

Steps to Launch - DNS

Manual• Update each

machine in /etc/hosts

Automated• Install a DNS

Server• Use a service

provider

Adding a new Hostname

0

10

20

30

40

50

60

6 1020 304050

Number of Systems

MinutesDNSManual

Page 20: Why Startups Need Automated Infrastructures

Steps to Launch - Server Inventory

Manual• Use a wiki

Automated• Use iClassify• Roll your own

Page 21: Why Startups Need Automated Infrastructures

Steps to Launch - Identity Management

Manual• Add each user

everywhereAutomated

• Use LDAP or AD

Adding a new User

0

10

20

30

40

50

60

6 10 20 30 40 50

Number of Systems

MinutesAutomatedManual

Page 22: Why Startups Need Automated Infrastructures

Steps to Launch - Version Control

An Easy One• You must use version control

QuickTime™ and a decompressor

are needed to see this picture.

Symbol From IIT Bombay

Page 23: Why Startups Need Automated Infrastructures

Steps to Launch - Configuration Management

Manual• Version Control• Wiki

Check in copies of config files

Try and keep a record of what you have done

Page 24: Why Startups Need Automated Infrastructures

Steps to Launch - Configuration Management

Automated• Puppet• Cfengine• Bcfg2 Infrastructure as

Code

Page 25: Why Startups Need Automated Infrastructures

Puppet Example - sudo

Page 26: Why Startups Need Automated Infrastructures

Puppet Example - sudo

Page 27: Why Startups Need Automated Infrastructures

Steps to Launch - Configuration Management

Automation is Key• 50+ Different Applications• ad, apache2, apt-proxy, beaver, build-essential, capistrano,

yum, apt, djbdns, emacs, erubis, rubygems, iclassify, imagemagick, iptables, java, logrotate, man, maradns, memcached, mongrel-runit, munin, mysql, nagios, nscd, ntp, openldap, openssh, perl, perlbal, php, postfix, postgresql, puppet, rails, resolver, rsync, ruby, runit, sqlite, subversion, sudo, trac, zsh

• Why repeat yourself?

Page 28: Why Startups Need Automated Infrastructures

Steps to Launch - Monitoring

Manual• Add each server by

handAutomated

• Use your System Inventory and Configuration Management Tools

0

1

2

3

4

5

Files

Files to Edit in Nagios when adding a new Server

ManualAutomated

Page 29: Why Startups Need Automated Infrastructures

Steps to Launch - Trending

Manual• Add each server and graph by hand

Automated• Use your System Inventory and

Configuration Management Tools

Page 30: Why Startups Need Automated Infrastructures

Steps to Launch - Email

Another Easy One• Every server must be able to send

email locally.

Symbol From IIT Bombay

QuickTime™ and a decompressor

are needed to see this picture.

Page 31: Why Startups Need Automated Infrastructures

Steps to Launch - Application Deployment

Manual• Update the

application by hand

Automated• Use Capistrano• Roll your own• Integrate with

System Inventory

Odds of a non-code Mistake during a Deploy

0%

2%

4%

6%

8%

10%

12%

1 2 5 10

Number of Manual Steps

Mistakes

Page 32: Why Startups Need Automated Infrastructures

Launch Day

QuickTime™ and a decompressor

are needed to see this picture.

Page 33: Why Startups Need Automated Infrastructures

Tech Crunched!

Symptoms• Monitors alert• Trending shows the traffic spike• Your RSS reader has the culprit

Page 34: Why Startups Need Automated Infrastructures

Tech Crunched! - EC2

• Launch more capacity.

• Two minutes later, they are up

Page 35: Why Startups Need Automated Infrastructures

Tech Crunched! - iClassify

• Classify the Servers

Page 36: Why Startups Need Automated Infrastructures

Tech Crunched! - Puppet

• Puppet applies the class that matches the tag:

Page 37: Why Startups Need Automated Infrastructures

Tech Crunched! - Deploy

• Deploy your application!• “cap -S env=prod deploy”• One command.

Page 38: Why Startups Need Automated Infrastructures

Tech Crunched! - Post Mortem

• Total Time: ~5 - 10 minutes• 4 steps total!• We doubled capacity• No configuration during the issue at

all

Page 39: Why Startups Need Automated Infrastructures

New Hire

Issue• MonkeyNews

hires a new engineer

Resolution• Add the user to

LDAP• Add the right group

privileges

Page 40: Why Startups Need Automated Infrastructures

Add SSL Support

Issue• MonkeyNews has

started taking micro-payments (for bananas)

Resolution• Update Apache

Virtual Host in your Configuration Management

• Add the SSL Certificates to Configuration Management

• < 10 minutes from start to finish

Page 41: Why Startups Need Automated Infrastructures

41

Review

Page 42: Why Startups Need Automated Infrastructures

Review

• Automated Infrastructure means:– “Having the basic services necessary for

your business to operate largely without the aid of a keeper.”

• Automated Infrastructure– Saves time– Increases efficiency– Allows for scalability– Reduces economic impact– Improves flexibility

Page 43: Why Startups Need Automated Infrastructures

43

HJK does this for a living.But you can ask me how to do it for free. :)Adam Jacob +1 (206) 508-4759

[email protected]

Page 44: Why Startups Need Automated Infrastructures

June 23-24, 2008

20% off discount: “vel08js”