SlideShare a Scribd company logo
Infrastructure as Code 
Webinar
About 
Me 
SRI 
RAJAN 
PRINCIPLE ENGINEER 
• From India. Live in UK 
• 10+ years in IT 
• 6+ years Racker 
• Specialties: 
- Architecting solutions 
- Cloud 
- Automation 
- Linux 
linkedin.com/in/rajansriram 
@sriramrajan
HOW DO WE 
GO 
FASTER?
The future 
has more 
servers
The future 
has more 
services
Cloud
RACKSPACE® CLOUD HOSTING | WWW.RACKSPACE.COM 
SAVVY 
7 
INFRASTRUCTURE AS CODE
Deploy Scripts 
Golden Images/ 
Templates
Enter 
Configuration 
Management 
Tools
KEY PRINCIPLES 
MODULAR 
EXTENSIBILITY 
REPEATABILITY 
DECLARATIVE
BENEFITS 
AUTOMATION 
& 
AGILITY 
DESIRED 
STATE 
SCALABILITY 
DISASTER 
RECOVERY
INFRASTRUCTURE AS CODE 
knife rackspace server create 
--server-name web01 
--image image-id 
--flavor performance1-1 
--rackspace-region lon 
-r 'role[base],role[app]’
INFRASTRUCTURE AS CODE 
knife rackspace server create 
--server-name web01 
--image image-id 
--flavor performance1-1 
--rackspace-region lon 
-r 'role[base],role[app]’ 
Base 
• Configure the firewall 
• Installed a base set of packages 
• Created the necessary users and sudo 
privileges 
• Configure SSH service 
• Configure logging 
• Tweak other system(sysctl) settings 
App 
• Install the Apache web server 
• Deployed a sample website 
• Install Jboss application server 
• Deployed Java applications
The Main Players
The Main Players 
Puppet Chef Ansible Salt DSC 
• 2005 
• 2009 
• 2012 
• Ruby based 
• Ruby based 
• YAML 
• A pioneer 
• Written in 
python 
• 2011 
• YAML 
• Written in 
Python 
• 2013 
• Powershell 
module 
• Microsoft 
Environments
The Main Players 
Which One?
What about the 
code ?
CODE MANAGEMENT 
FUNDAMENTAL 
TO 
ANY 
SOFTWARE 
PROJECT 
TRACKING 
AND 
VERSIONING 
IMPROVE 
QUALITY 
OF 
CODE
CODE MANAGEMENT 
FUNDAMENTAL 
TO 
ANY 
SOFTWARE 
PROJECT 
TRACKING 
AND 
VERSIONING 
IMPROVE 
QUALITY 
OF 
CODE
INFRASTRUCTURE AS CODE 
git log 
074462d sri May 27 16:00:43 updating monitors for lamp servers 
7405929 zach May 21 14:34:18 adding user for qa group 
dad4fe1 sri May 19 15:06:24 updating acls on www dir 
a936c64 sri May 19 14:43:14 adding postfix to all lamp servers
Version Control
Version Control - SaaS
The Main Players 
Which One?
TESTING AS 
CODE
TESTING 
Follow 
development 
best 
pracHces 
- ValidaHon 
of 
data 
- Logging 
- Debug 
data 
Use 
replica 
environments 
-­‐ 
dev, 
stage, 
prod 
+ 
user 
defined 
test 
plans
TOOLS 
FoodCriHc/Rubocop 
– 
Validate 
coding 
standards 
Test 
Kitchen(kitchen.ci) 
– 
IntegraHon 
tesHng 
Cucumber 
– 
Test 
driven 
development
TOOLS 
Vagrant 
-­‐ 
Portable 
& 
lighweight 
environments 
ChefSpec 
-­‐ 
Unit 
tesHng 
with 
Chef 
ServerSpec 
– 
TesHng 
actual 
state 
on 
the 
servers
WHAT - NEXT
GET STARTED 
LEARN 
CODING 
(JUST 
THE 
BASICS) 
AGREE 
ON 
A 
CM 
TOOL 
DEFINE/INHERIT 
STANDARDS
GET STARTED 
SEPARATE 
CONFIG 
FROM 
DATA 
TRY 
THE 
NO 
MANUAL 
CHANGE 
RULE 
INTRODUCE 
AUTOMATED 
TESTING
DevOps Toolbox: Infrastructure as code
RACKSPACE 
SERVICES
Developer Support
Developer Support
AUTOMATION SERVICES 
COOKBOOKS 
& ROLES 
ENABLE DISCOVER REVERSE 
ENGINEER DEPLOY SUPPORT 
WHAT NEEDS 
AUTOMATING? 
MIGRATE & 
TRANSITION 
INCIDENT, 
PROBLEM, 
CHANGE 
PLAN FOR 
CHANGE 
Advisory Services Automation Support
SUPPORTED TOOLS 
Infrastructure 
Automation Monitoring Log 
Aggregation 
Source 
Control 
StatsD! 
graphite 
Heat, Ansible + Windows DSC coming soon Coming Soon Infrastructure Automation: Microsoft DSC 
Orchestration & Workflow: HEAT, Jenkins
APPLICATIONS 
More information: www.rackspace.co.uk/devops/support 
graphite 
StatsD!
DevOps Toolbox: Infrastructure as code
MORE DEVOPS WEBINARS 
Replay 
available 
IntroducHon 
to 
DevOps 
24th 
July 
DevOps 
Toolbox: 
Infrastructure 
as 
Code 
7th 
August 
DevOps 
Toolbox: 
ApplicaHon 
Insights 
& 
Monitoring 
22nd 
August 
DevOps 
Toolbox: 
Automated 
test 
& 
deployment 
11th 
September 
What 
a 
cloud-­‐enabled 
business 
looks 
like
RACKSPACE® 
HOSTING 
| 
5000 
WALZEM 
ROAD 
| 
SAN 
ANTONIO, 
TX 
78218 
US 
SALES: 
1-­‐800-­‐961-­‐2888 
| 
US 
SUPPORT: 
1-­‐800-­‐961-­‐4454 
| 
WWW.RACKSPACE.COM 
RACKSPACE® 
HOSTING 
| 
© 
RACKSPACE 
US, 
INC. 
| 
RACKSPACE® 
AND 
FANATICAL 
SUPPORT® 
ARE 
SERVICE 
MARKS 
OF 
RA RACCKKSSPPAACCEE 
UUSS,, 
IINNCC.. 
RREEGGIISSTTEERREEDD 
IINN 
TTHHEE 
UUNNIITTEEDD 
SSTTAATTEESS 
AANNDD 
OOTTHHEERR 
CCOOUUNNTTRRIIEESS.. 
|| 
WWWWWW..RRAACCKKSSPPAACCEE..CCOOMM

More Related Content

DevOps Toolbox: Infrastructure as code

  • 2. About Me SRI RAJAN PRINCIPLE ENGINEER • From India. Live in UK • 10+ years in IT • 6+ years Racker • Specialties: - Architecting solutions - Cloud - Automation - Linux linkedin.com/in/rajansriram @sriramrajan
  • 3. HOW DO WE GO FASTER?
  • 4. The future has more servers
  • 5. The future has more services
  • 7. RACKSPACE® CLOUD HOSTING | WWW.RACKSPACE.COM SAVVY 7 INFRASTRUCTURE AS CODE
  • 8. Deploy Scripts Golden Images/ Templates
  • 10. KEY PRINCIPLES MODULAR EXTENSIBILITY REPEATABILITY DECLARATIVE
  • 11. BENEFITS AUTOMATION & AGILITY DESIRED STATE SCALABILITY DISASTER RECOVERY
  • 12. INFRASTRUCTURE AS CODE knife rackspace server create --server-name web01 --image image-id --flavor performance1-1 --rackspace-region lon -r 'role[base],role[app]’
  • 13. INFRASTRUCTURE AS CODE knife rackspace server create --server-name web01 --image image-id --flavor performance1-1 --rackspace-region lon -r 'role[base],role[app]’ Base • Configure the firewall • Installed a base set of packages • Created the necessary users and sudo privileges • Configure SSH service • Configure logging • Tweak other system(sysctl) settings App • Install the Apache web server • Deployed a sample website • Install Jboss application server • Deployed Java applications
  • 15. The Main Players Puppet Chef Ansible Salt DSC • 2005 • 2009 • 2012 • Ruby based • Ruby based • YAML • A pioneer • Written in python • 2011 • YAML • Written in Python • 2013 • Powershell module • Microsoft Environments
  • 16. The Main Players Which One?
  • 17. What about the code ?
  • 18. CODE MANAGEMENT FUNDAMENTAL TO ANY SOFTWARE PROJECT TRACKING AND VERSIONING IMPROVE QUALITY OF CODE
  • 19. CODE MANAGEMENT FUNDAMENTAL TO ANY SOFTWARE PROJECT TRACKING AND VERSIONING IMPROVE QUALITY OF CODE
  • 20. INFRASTRUCTURE AS CODE git log 074462d sri May 27 16:00:43 updating monitors for lamp servers 7405929 zach May 21 14:34:18 adding user for qa group dad4fe1 sri May 19 15:06:24 updating acls on www dir a936c64 sri May 19 14:43:14 adding postfix to all lamp servers
  • 23. The Main Players Which One?
  • 25. TESTING Follow development best pracHces - ValidaHon of data - Logging - Debug data Use replica environments -­‐ dev, stage, prod + user defined test plans
  • 26. TOOLS FoodCriHc/Rubocop – Validate coding standards Test Kitchen(kitchen.ci) – IntegraHon tesHng Cucumber – Test driven development
  • 27. TOOLS Vagrant -­‐ Portable & lighweight environments ChefSpec -­‐ Unit tesHng with Chef ServerSpec – TesHng actual state on the servers
  • 29. GET STARTED LEARN CODING (JUST THE BASICS) AGREE ON A CM TOOL DEFINE/INHERIT STANDARDS
  • 30. GET STARTED SEPARATE CONFIG FROM DATA TRY THE NO MANUAL CHANGE RULE INTRODUCE AUTOMATED TESTING
  • 35. AUTOMATION SERVICES COOKBOOKS & ROLES ENABLE DISCOVER REVERSE ENGINEER DEPLOY SUPPORT WHAT NEEDS AUTOMATING? MIGRATE & TRANSITION INCIDENT, PROBLEM, CHANGE PLAN FOR CHANGE Advisory Services Automation Support
  • 36. SUPPORTED TOOLS Infrastructure Automation Monitoring Log Aggregation Source Control StatsD! graphite Heat, Ansible + Windows DSC coming soon Coming Soon Infrastructure Automation: Microsoft DSC Orchestration & Workflow: HEAT, Jenkins
  • 37. APPLICATIONS More information: www.rackspace.co.uk/devops/support graphite StatsD!
  • 39. MORE DEVOPS WEBINARS Replay available IntroducHon to DevOps 24th July DevOps Toolbox: Infrastructure as Code 7th August DevOps Toolbox: ApplicaHon Insights & Monitoring 22nd August DevOps Toolbox: Automated test & deployment 11th September What a cloud-­‐enabled business looks like
  • 40. RACKSPACE® HOSTING | 5000 WALZEM ROAD | SAN ANTONIO, TX 78218 US SALES: 1-­‐800-­‐961-­‐2888 | US SUPPORT: 1-­‐800-­‐961-­‐4454 | WWW.RACKSPACE.COM RACKSPACE® HOSTING | © RACKSPACE US, INC. | RACKSPACE® AND FANATICAL SUPPORT® ARE SERVICE MARKS OF RA RACCKKSSPPAACCEE UUSS,, IINNCC.. RREEGGIISSTTEERREEDD IINN TTHHEE UUNNIITTEEDD SSTTAATTEESS AANNDD OOTTHHEERR CCOOUUNNTTRRIIEESS.. || WWWWWW..RRAACCKKSSPPAACCEE..CCOOMM