45
1 Building Automated Infrastructures Adam Jacob Senior Partner HJK Solutions [email protected]

Building an Automated Infrastructure Presentation

Embed Size (px)

DESCRIPTION

Presentation on insfrastructure automation

Citation preview

Page 1: Building an Automated Infrastructure Presentation

1

Building Automated InfrastructuresAdam JacobSenior PartnerHJK [email protected]

Page 2: Building an Automated Infrastructure Presentation

Overview

• What is an “Automated Infrastructure”?

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

Page 3: Building an Automated Infrastructure Presentation

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 Presentation

4

What is an “Automated Infrastructure”?

Page 5: Building an Automated Infrastructure Presentation

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 Presentation

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 Presentation

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 Presentation

8

Why is it so important?

Page 9: Building an Automated Infrastructure Presentation

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 Presentation

For Startups

• Time• Efficiency• Scalability• Economics• Flexibility

Page 11: Building an Automated Infrastructure Presentation

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 Presentation

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 Presentation

What is MonkeyNews

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

Page 14: Building an Automated Infrastructure Presentation

MonkeyNews on Launch Day

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

Page 15: Building an Automated Infrastructure Presentation

Steps to Launch

Page 16: Building an Automated Infrastructure Presentation

Steps to Launch - OS Install Manual

• Install each system by hand

• 1 hour per system

0123456

Hours

ManualMethod

OS Install Time

app1stgops1proddb2proddb1prodapp2prodapp1prod

Page 17: Building an Automated Infrastructure Presentation

Steps to Launch - OS Install

Automated• Ops1prod built

manually– 1 hour

• Automated install system (PXE)

• EC2, Cloud01234567

Hours

PXE EC2Method

OS Install Time - Automated

AttendedUnattended

Page 18: Building an Automated Infrastructure Presentation

Steps to Launch - OS Install

012345678

Hours

Manual PXE EC2Method

OS Install Options

UnattendedAttended

Page 19: Building an Automated Infrastructure Presentation

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

010

203040

5060

6 1020 304050Number of Systems

Minutes DNSManual

Page 20: Building an Automated Infrastructure Presentation

Steps to Launch - Server InventoryManual

• Use a wikiAutomated

• iClassify• LDAP• ControlTier• Roll your own

Page 21: Building an Automated Infrastructure Presentation

Steps to Launch - Identity Management Manual

• Add each user everywhere

Automated• Use LDAP or AD• Configuration

Management

Adding a new User

0

10

2030

40

50

60

6 10 20 30 40 50Number of Systems

Minutes AutomatedManual

Page 22: Building an Automated Infrastructure Presentation

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 Presentation

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 Presentation

Steps to Launch - Configuration Management

Automated• Cfengine• Puppet• Bcfg2• Vertebra?

Infrastructure as Code

Page 25: Building an Automated Infrastructure Presentation

Puppet Example - sudo

Page 26: Building an Automated Infrastructure Presentation

Puppet Example - sudo

Page 27: Building an Automated Infrastructure Presentation

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 Presentation

Puppet - In-depth and Hands-on

Learn more!

Luke Kanies - Puppet Author

4:45 Today

Page 29: Building an Automated Infrastructure Presentation

Steps to Launch - MonitoringManual

• Add each server by hand

Automated• 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 Presentation

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 Presentation

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 Presentation

Steps to Launch - Application DeploymentManual

• 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 10Number of Manual Steps

Mistakes

Page 33: Building an Automated Infrastructure Presentation

Launch Day

QuickTime™ and a decompressor

are needed to see this picture.

Page 34: Building an Automated Infrastructure Presentation

Tech Crunched!

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

Page 35: Building an Automated Infrastructure Presentation

Tech Crunched! - EC2

• Launch more capacity.

• Two minutes later, they are up

Page 36: Building an Automated Infrastructure Presentation

Tech Crunched! - iClassify

• Classify the Servers

Page 37: Building an Automated Infrastructure Presentation

Tech Crunched! - Puppet

• Puppet applies the class that matches the tag:

Page 38: Building an Automated Infrastructure Presentation

Tech Crunched! - Deploy

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

Page 39: Building an Automated Infrastructure Presentation

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 Presentation

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 Presentation

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 Presentation

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 Presentation

43

Review

Page 44: Building an Automated Infrastructure Presentation

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 Presentation

45

HJK does this for a living.But you can ask me how to do it for free. :)Adam Jacob +1 (206) [email protected]

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