oracle fusion middleware provisioning with puppet

Download Oracle Fusion Middleware provisioning with Puppet

Post on 10-May-2015




5 download

Embed Size (px)


Oracle Fusion Middleware provisioning with Puppet


  • 1.By Edwin Biemond Oracle OpenWorld 2013 Roll Out a Complete Oracle Fusion Middleware Environment in Less Than 10 Minutes

2. 2 #WHOAMI I work for Amis I live in The Netherlands I have a blog I am an Oracle ACE I wrote a book Oracle Service Bus 11g Developer Cookbook 3. 3 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 4. 4 You need to do so many steps SOA Suite, OSB Server Database Server Operating System WebLogic OSB Soa Suite Domain creation Initial Domain setup Operating system Database software Database creation Soa Suite Repository 40 X Total actions 13 8 10 10 40 40 30 5 8 YUM + Packages / JVM / Ulimits / Kernel / User / Group / Directories WebLogic / BSU / NodeManager OSB / OPatch SOA Suite / OPatch Create Domain Logs / Security / JMS / WebApps / DataSources / Resource Adapters 5. 5 How to solve this? 6. 6 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 7. 7 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 8. 8 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 9. 9 Start it up Watch the Magic Happen 10. 10 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 11. 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. 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. 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. 14 Puppet Demo Steps Master Version Control Agent Puppet Dashboard Puppet Modules WLS OraDB JDK7 OS modules Agent SOA Suite, OSB Server Operating System WebLogic OSB Soa Suite Domain creation Initial Domain setup 40 13 8 10 10 40 15 Min Database Server Operating system Database software Database creation Soa Suite Repository 40 30 5 8 10 Min 15. 15 What is left for you? Create your own FMW configurations Fork or contribute to the WLS module Puppetize everything 16. 16 Create a Main Class This class can be assigned to Nodes Determine the order of installation 17. 17 WebLogic Puppet Class 18. 18 OSB / SOA Suite definitions 19. 19 Domain & WLST definitions 20. 20 Puppet Dashboard Add the main class Nodes 21. 21 Node definition Assign the main class Class parameters 22. 22 Auditing 23. 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. 24 Puppet Facts 25. 25 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 26. 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 On the Puppet master define howto look for values -> hiera.yaml On the Puppet master look for the password key Server1.yaml Test1.yaml Test.yaml Common.yaml environment = test environmentnr = test1 --- :hierarchy: - "%{::hostname} - "%{::environmentnr} - "%{::environment} - common node = server1 $pass = hiera(password) # test1.yaml (encryption) --- password: welcome1" 27. 27 The Result A fully configured running Fusion Middleware Server 28. 28 Next Steps Download the Learning Puppet VM image Get the VMware or the Oracle VirtualBox learning image 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 Clone from GitHub Download your licensed / Developer Oracle software From Oracle Technology Network From EDelivery 29. 29 From Puppet Forge Use puppet module install biemond-wls on the Puppet Master 30. 30 From GitHub Use git clone on the Puppet Master 31. 31 Thanks Questions? Edwin Biemond Architect @biemond


View more >