Over 3,300 community-contributed
modules
Founded in 2005
Over 10 million nodes managed
Deep partnerships with datacenter titans
800+ enterprise customers
EXPERIENCE
SCALE
ECOSYSTEM
CUSTOMERS
COMMUNITY
BACKING
THE IT AUTOMATION LEADER
60% of IT managers are not satisfied
with the speed at which IT responds
to business needs
THE COST OF MANUAL MANAGEMENT
60% of IT managers are not satisfied
with the speed at which IT responds
to business needs.
Productivity48% of IT professionals spend 50% or
more of their time on basic
administrative tasks.
93% of IT professionals cannot answer
“What changed?” when an outage
incident occurs.
Speed
Insight
Operating Systems
Virtual & Cloud
Applications
Network & Storage
Users · Groups · Firewall
Packages · Services
DNS · NTP · SSH
Kernel Settings · Files
Repositories · Mounts
Jobs · Scheduling
Business/Developers
Self-Service Portal
Change Management
IAAS
PAAS
SAAS
Storage Bare
Metal
Network
Middle-
ware
Outsourced
IAAS
Configuration Management in IT
Reporting
Config.
Management
Orchestration
Version
ControlForge
Puppet Workflow
Reporting
GUIWorkflows
Admin & Security
VM Node Cloud NodeHardware Node
DISTRIBUTED
AGENTS
CENTRALIZED
MANAGEMENT
SERVER
CLOUD-BASED REPOSITORY
OF PRE-BUILT SOLUTIONS
Puppet ForgePuppet Master
Agent Agent Agent
3RD PARTY INTEGRATIONS
CMDBs
LDAP & AD
Monitoring
Version Control
Native installation process
Linux - RPMs from Yum Repos
Versioning
Easy to Upgrade
Know your environment
3 line code to install
Visible to everyone on your team
Centralized code in version control
Puppet Code
1
3
File templates - Consistency
Content control through Hiera
Environment specific
Know what is configured/different
Define owner and permission
Template, Augeas and file_line
Puppet Code
•
1
4
Install and use services
Define state of the service
Startup scripts in version control
Manage services through “mco”
Puppet Code
•
1
5
Runs every 30 min (or as defined)
Makes sure it is as defined
Reports through puppet
Go play some ping pong
Puppet Code
•
1
6
•
Hiera Preview
1
7
Hiera
qa.yaml
prod.yaml dev.yaml
appdynamics::version: 5.0appdynamics::version: 4.0
Modules
PROD Node DEV Node QA Node
class appdynamics (
version = “3.0” # Default is 3.0 – overwrite with hiera“appdyanmics::version”
) {
package { ‘appdynamics’:
ensure => $version,
}
file { ‘/path/to/controller.xml’:
content => template(“appdynamics/controller.xml”),
}
service { ‘appdynamics’:
ensure => running,
enable => true,
}
}
Conclusion•
1
8
Code – Can be written in different ways
Understand your requirements
Simple vs Complex - Depends on your current/future requirements
Standardize
Automation Automation Automation
Infrastructure as code
Configuration Drift
Decode the DNA and codify it so it does not live in someone’s head only
Let me count the ways
1
9
Recommended