Super Sunday - Weblogic Hackathon Introduction To Puppet & Chef
Super Sunday - Weblogic Hackathon Introduction To Puppet & Chef
1 | 28
10
Agenda
Configuration management
● Intro, How it was & How it can be
Real world case
Puppet
Chef
Intro to the Hands-on-Labs
2 | 28
10
Configuration management | introduction
• Automated installations and rollbacks
Application Deployment • Inject environment variables, smoke-testing
3 | 28
10
Configuration management | the traditional way
4 | 28
10
Configuration management | how it can be
Automated configuration
management
Describe a system once, apply as often
as you want
Automate the repetitive
Focus on improvements and “real”
problems as admin
Predictable results
(Near) real-time provisioning
5 | 28
10
Configuration management | how it can be
6 | 28
10
WLS, OSB, SOA Suite Database Server
YUM + Packages / JVM /
Ulimits / Kernel / User /
Operating System 40
Group / Directories Operating system 40
WebLogic 13
WebLogic / BSU / Database
30
NodeManager software
Initial Domain
Logs / Security / JMS /
40 WebApps / DataSources /
setup X Total actions
Resource Adapters
Source: Roll Out a Complete Oracle Fusion Middleware Env in Less than 10min by Edwin Biemond 7 | 28
10
Automation
8 | 28
10
Puppet
9 | 28
10
Puppet Example | Apache HTTP Server
package { "httpd":
Manifests name => "httpd.x86_64",
ensure => "present",
Resources }
10 | 28
10
More on Puppet | building blocks
if $operatingsystem == 'CentOS'
Manifests node 'www1.example.com' {
Variables and (custom) facts include common
include apache
Node declarations }
node 'db1.example.com' {
Classes and Modules include common
include mysql
Defined resource types }
Templates
file { "http.conf":
Console path => "/etc/httpd/conf/httpd.conf",
owner => 'root',
group => 'root',
mode => '0644',
content => template('config/httpd.erb'),
}
11 | 28
10
More on Puppet | console
12 | 28
10
More on Puppet | products, price, etc.
Enterprise vs. Open Source
Puppet Forge
Market presence
Pricing (27-nov-2013)
13 | 28
10
More on Puppet | runtime
Versus
14 | 28
10
If you want to know more about Puppet …
15 | 28
10
Chef
16 | 28
10
Chef architecture
Central
Chef Server
Multiple
Administrators
One
17 | 28
10
Repository
Chef| terminology
Node, Server, Workstation
Chef-client asks Chef-server about the policy for the node
Resources: a component and the desired state
Recipes: describe resources and desired state
Cookbooks: sets of recipes grouped together, also includes templates
and source files etc
Run List: recipes from cookbooks you want to run
Role: type of node
18 | 28
10
Example Recipe
paca
Template
specifies the
Policy says contents
package required
should be
installed
This service
should be
enabled on
reboot, and
must be
running
Source: Chef Fundamentals Webinar 1 #LEARNCHEF 19 | 28
10
I couldn’t find a screenshot of
enterprise one!
20 | 28
10
Configuration Drift
Not just used for initial installation
Chef’s policies means it knows desired state
Chef client runs periodically on node & checks state against policy
21 | 28
10
Chef in the wild
Enterprise vs. Open Source
Community & Popularity
Pricing (30-nov-2013)
22 | 28
10
More about Chef
23 | 28
10
Labs & Competition
24 | 28
10
Lab| intro
Teams of 3
Choose your poison
Setup & preparation
Hello World
Provision JDK 7
Provision WLS 12c
25 | 28
10
dashboard Browser
Lab controller
provisioning
provisioning
JDK 7 WLS 12c
VM
provisioning
provisioning
provisioning
provisioning
agent agent
VM VM
26 | 28
10
Lab| eternal glory
Best Puppet team !!!
Best Chef team !!!
Best overall team !!!
27 | 28
10
Thank you!
Ronald van Luttikhuizen
[email protected]
Simon Haslam
[email protected]
28 | 28
10