building an automated infrastructure

45
1 Building Automated Infrastructures Adam Jacob Senior Partner HJK Solutions adam@hjksolutions .com

Upload: elliando-dias

Post on 01-Nov-2014

1.839 views

Category:

Technology


0 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Building An Automated Infrastructure

1

Building Automated Infrastructures

Adam JacobSenior PartnerHJK [email protected]

Page 2: Building An Automated Infrastructure

Overview

• What is an “Automated Infrastructure”?

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

Page 3: Building An Automated Infrastructure

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: Building An Automated Infrastructure

4

What is an “Automated Infrastructure”?

Page 5: Building An Automated Infrastructure

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: Building An Automated Infrastructure

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: Building An Automated Infrastructure

Automated Infrastructure

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

Page 8: Building An Automated Infrastructure

8

Why is it so important?

Page 9: Building An Automated Infrastructure

To Systems Administrators

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

Page 10: Building An Automated Infrastructure

For Startups

• Time• Efficiency• Scalability• Economics• Flexibility

Page 11: Building An Automated Infrastructure

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: Building An Automated Infrastructure

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: Building An Automated Infrastructure

What is MonkeyNews

• Small Startup• “Like Digg, only about Monkeys”

Page 14: Building An Automated Infrastructure

MonkeyNews on Launch Day

Learn More!John Allspaw - Capacity Management3:45, right after this

Page 15: Building An Automated Infrastructure

Steps to Launch

Page 16: Building An Automated Infrastructure

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: Building An Automated Infrastructure

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: Building An Automated Infrastructure

Steps to Launch - OS Install

012345678

Hours

Manual PXE EC2

Method

OS Install Options

UnattendedAttended

Page 19: Building An Automated Infrastructure

Steps to Launch - DNS

Manual• Update each

machine in /etc/hosts

Automated• Install a DNS Server• Config Management• Use a service

provider

Adding a new Hostname

0

10

20

30

40

50

60

6 1020 304050

Number of Systems

MinutesDNSManual

Page 20: Building An Automated Infrastructure

Steps to Launch - Server Inventory

Manual• Use a wiki

Automated• iClassify• LDAP• ControlTier• Roll your own

Page 21: Building An Automated Infrastructure

Steps to Launch - Identity Management

Manual• Add each user

everywhereAutomated

• Use LDAP or AD• Configuration

Management

Adding a new User

0

10

20

30

40

50

60

6 10 20 30 40 50

Number of Systems

MinutesAutomatedManual

Page 22: Building An Automated Infrastructure

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: Building An Automated Infrastructure

Steps to Launch - Configuration ManagementManual

• Version Control• Wiki

Check in copies of config files

Try and keep a record of what you have done

Page 24: Building An Automated Infrastructure

Steps to Launch - Configuration Management

Automated• Cfengine• Puppet• Bcfg2• Vertebra?

Infrastructure as Code

Page 25: Building An Automated Infrastructure

Puppet Example - sudo

Page 26: Building An Automated Infrastructure

Puppet Example - sudo

Page 27: Building An Automated Infrastructure

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: Building An Automated Infrastructure

Puppet - In-depth and Hands-on

Learn more!

Luke Kanies - Puppet Author

4:45 Today

Page 29: Building An Automated Infrastructure

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 30: Building An Automated Infrastructure

Steps to Launch - Trending

Manual• Add each server and graph by hand

Automated• Use your System Inventory and

Configuration Management Tools

Page 31: Building An Automated Infrastructure

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 32: Building An Automated Infrastructure

Steps to Launch - Application Deployment

Manual• Update the

application by hand

Automated• Use Capistrano• Use ControlTier• Integrated 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 33: Building An Automated Infrastructure

Launch Day

QuickTime™ and a decompressor

are needed to see this picture.

Page 34: Building An Automated Infrastructure

Tech Crunched!

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

Page 35: Building An Automated Infrastructure

Tech Crunched! - EC2

• Launch more capacity.

• Two minutes later, they are up

Page 36: Building An Automated Infrastructure

Tech Crunched! - iClassify

• Classify the Servers

Page 37: Building An Automated Infrastructure

Tech Crunched! - Puppet

• Puppet applies the class that matches the tag:

Page 38: Building An Automated Infrastructure

Tech Crunched! - Deploy

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

Page 39: Building An Automated Infrastructure

Tech Crunched! - Post Mortem

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

all

Page 40: Building An Automated Infrastructure

New Hire

Issue• MonkeyNews

hires a new engineer

Resolution• Add the user to

LDAP• Add the right group

privileges

Page 41: Building An Automated Infrastructure

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 42: Building An Automated Infrastructure

Migrate to the Clouds

Issue• MonkeyNews has

started doing photo-sharing of monkeys!

• Need to do big image uploading and serving

• Too expensive and spikey for our tiny infrastructure

Resolution• Use EC2• Instances talk to

iClassify• Puppet builds them

like any other host• Monitoring,

Trending, Identity, all done

• Just Deploy.

Page 43: Building An Automated Infrastructure

43

Review

Page 44: Building An Automated Infrastructure

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 45: Building An Automated Infrastructure

45

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]

http://is.gd/EML - List of Tools Mentioned