Vous êtes sur la page 1sur 32

Roll Out a Complete Oracle Fusion

Middleware Environment in Less Than 10


Minutes
By Edwin Biemond
Oracle OpenWorld 2013

#WHOAMI

I work for Amis


I live in The Netherlands
I have a blog http://biemond.blogspot.com
I am an Oracle ACE
I wrote a book
Oracle Service Bus 11g
Developer Cookbook

Why is it so hard to configure a FMW environment?


And why does it always takes at least
a few days (weeks) before you can use it

You need to do so many steps


SOA Suite, OSB
Server

YUM + Packages / JVM /


Ulimits / Kernel / User /
Group / Directories

Operating System

40

WebLogic

13

WebLogic / BSU /
NodeManager

OSB

OSB / OPatch

Database
Server
Operating system

40

Database
software

30

Database
creation

Soa Suite
Repository

SOA Suite / OPatch

Soa Suite

10

Domain creation

10

Create Domain

Initial Domain
setup

40

Logs / Security / JMS /


WebApps / DataSources /
Resource Adapters

Total actions

How to solve this?

Administrators!!

Expensive and you need more than one


After a while they get bored, leave the company or make
mistakes

Knowledge is in their heads


Does have every installation have the same Quality?
Still takes a long time to get a new environment

Cloning
Golden image still made by an Administrator
The administrator has the knowledge
Probably every Golden image is different
Need for Guidelines

Many Clones & Clones of Clones


What are the differences?
Hard to refresh all environments
Probably need to change Operating System settings &
WebLogic DataSources

Every few months there are some Oracle Patches

Operating System
JVM
WebLogic & BSU
FMW & OPatch

What is the solution?

Use a provisioning Tool


like Puppet, Chef, Ansible

Describe your environment in code & put it


under version control

Outcome is predicatable and repeatable


No need for extra configuration of O.S. or
WebLogic DataSources

Auditing
Can keep all servers up-to-date

Start it up

Watch the Magic Happen

Puppet, OK but why?


Great install base with 1600 ready to use modules
Supports and also used by VMware, OpenStack,
Amazon
Multiple Operating System support like Linux,
Windows, Oracle Solaris & IBM AIX

Integrated Dashboard
Reporting & Auditing
MCollective -> Live management
Puppet Language, Templating, Eclipse as IDE

Open Source or Enterprise Edition -> free with


max 10 nodes

10

11

How it works
Agent runs every X minutes or started by
MCollective

Agent gathers local facts about its system


Agent initiates a request to the server
requesting the latest version of its catalog

Server compiles the configuration from


source into a catalog and returns it to the
agent.

Agent applies the catalog, resulting in


configuration changes.

12

Puppet Modules
Puppet as provisioning tool is not enough
There are Puppet module for installing a JVM, configure kernel and ulimits
parameters
Nothing for Oracle ( Database or WebLogic / FMW )

But Oracle supports silent install and provide utilities to


retrieve all the Middleware information
So I made my own Puppet Modules
WLS Module
OraDB Module -> installs a 11g & 12c Database plus RCU
JDK7 Module -> fixes Urandom and RPM errors
OraUtils -> WebLogic Scripts & Autostart NodeManager

13

Puppet WLS Module


Support for CentOS, RedHat,
OracleLinux, Ubuntu, Debian,
SLES, Solaris, Windows
Installs

WebLogic 10.3 (11g), 12.1.1, 12.1.2


ADF 11g & 12c (12.1.2)
Oracle Service Bus 11g
Soa Suite 11g
WebCenter 11g Portal & Content

Patching
BSU
OPatch

Tooling
JDeveloper 11g, 12c
OEPE

Domain creation

Standard (ADF)
OSB
OSB, SOA Suite, BAM
OSB, SOA Suite, BAM, BPM
WebCenter
WebCenter, WC Content, BPM

Configuration

NodeManager
Server Templates ( 12c)
Dynamic Clusters (12c)
Log location
JCA Resource Adapter
Persistence
JMS
SAF
Can run any WLST script

14

Puppet Demo Steps


Version
Control

Master

Puppet
Dashboard

Puppet
Modules
Agent

SOA Suite, OSB


Server
Operating System

40

WebLogic

13

OSB

Soa Suite

10

Domain creation
Initial Domain
setup

Agent

Database
Server
Operating system

40

Database
software

30

Database
creation

Soa Suite
Repository

10 Min

15 Min

10

40

WLS
OraDB
JDK7
OS modules

15

What is left for you?

Create your own FMW configurations


Fork or contribute to the WLS module
Puppetize everything

16

Create a Main Class

This class can be assigned to Nodes


Determine the order of installation

17

WebLogic Puppet Class

18

OSB / SOA Suite definitions

19

Domain & WLST definitions

20

Puppet Dashboard

Nodes

Add the main class

21

Node definition
Class parameters

Assign the main class

22

Auditing

23

Puppet Performance
A Puppet Agent runs every XX minutes
You dont want a Puppet Agent to run for 10 minutes every XX minutes

Solution = WebLogic Facts


WLS Puppet module harvests all the available Oracle Middleware
information of the Node like:

oraInst.loc
OraInventory
BEA Homelist
BSU output
OPatch output of every Oracle Home
WebLogic domain configuration

24

Puppet Facts

Managing multiple Dev or Test


environments

Use a big IF THEN ELSE statement


Using Hiera -> key/value lookup tool for
configuration data
Part of Puppet 3.0
Solution for clean code

25

26

Hiera, how it works!!


In the Puppet class use the hiera()
function

Add a text file on a node which defines


the environment
This is picked up by the Puppet Agent

$pass = hiera(password)
node = server1
environment = test
environmentnr = test1

password key

--:hierarchy:
- "%{::hostname}
- "%{::environmentnr}
- "%{::environment}
- common

Server1.yaml
Test1.yaml
Test.yaml
Common.yaml

# test1.yaml (encryption)
--password: welcome1"

On the Puppet master define howto look


for values -> hiera.yaml

On the Puppet master look for the

27

The Result

A fully configured running


Fusion Middleware Server

28

Next Steps
Download the Learning Puppet VM image
Get the VMware or the Oracle VirtualBox learning image http
://info.puppetlabs.com/download-learning-puppet-VM.html

Configure your own Puppet Server

Allowed the use the Puppet Enterprise and manage up to 10 nodes

Install the WLS module


Download from Puppet Forge http://forge.puppetlabs.com
Clone from GitHub https://github.com/biemond/puppet

Download your licensed / Developer Oracle software


From Oracle Technology Network http://otn.oracle.com
From EDelivery https://edelivery.oracle.com

29

From Puppet Forge


Use puppet module install biemond-wls on the Puppet Master

30

From GitHub
Use git clone https://github.com/biemond/puppet.git on the Puppet Master

31

Thanks

Questions?
Edwin Biemond
Architect
@biemond
https://github.com/biemond
http://biemond.blogspot.com
http://nl.linkedin.com/in/biemond

Vous aimerez peut-être aussi