building an automated infrastructure

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

Upload: technical-dude

Post on 18-May-2015

2.184 views

Category:

Business


0 download

DESCRIPTION

By utilizing a demonstration company running in EC2, we'll show you what all the components of an automated infrastructure are, how they work together to solve real problems, and why they provide an important competitive advantage.

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