Already a year has passed since I wrote about WebLogic and Fusion Middleware provisioning with Puppet. In this year provisioning got a great boost with the popularity of DevOps and provisioning tools like Puppet, Chef or in combination with Vagrant & Oracle VirtualBox.
Provisioning without tooling can be hard for companies when they also do their own development or have many applications with its own lifecycle. For example applications can have different database vendors/ versions / types like SQL, NoSQL or Big Data and can run on different Middleware servers like .Net, JBoss or WebLogic with or without OSB & SOA Suite.
Plus with loosely coupled architecture the application probably interacts with a few databases, have a few middleware components and integration with other applications. Combine this with a new trend to have components on premise or in the cloud, you know it can take some time to set this up.
One environment is not enough for the whole application lifecycle, you need to have a development, test and acceptance environment and combine this with Continuous integration and deployment. I personally noticed that projects are heavily delayed cause there is no environment or the environment is not like the production environment.
Provisioning was a hot topic on Oracle Openworld 2013, many OOW sessions mentioned or talked about it and in this article we will talk about what is possible now and what the future will be.
First Oracle feels our pain and is slowing changing WebLogic. In WebLogic 12.1.2 we can already see the first results.
- 1 WebLogic + Coherence jar for all Operating Systems, 32 or 64 architecture and without a JDK
- 1 jar with WebLogic, Coherence and FMW infrastructure
- 1 way of installing (OUI) and patching (OPatch)
- Better WebLogic Maven support, this way we can install WebLogic or create a Domain from Maven.
Also I was invited to do a OOW presentation about WebLogic provisioning, here you can find mine presentation, Roll out a complete FMW environment in less than 10 minutes
Here is an update of the current WebLogic Puppet Module features
- installs WebLogic 10g,11g,12c
- apply BSU patch ( WebLogic 10 & 11g) or Opatch ( FMW Patch )
- installs Oracle ADF 11g & 12c ( 12.1.2)
- installs Oracle Service Bus 11g OSB, Oracle Soa Suite 11g
- installs Oracle Webcenter 11g, Oracle Webcenter Content 11g
- Configures + starts NodeManager, start or stop a WebLogic server / cluster
- JCA Resource Adapter plans + Entries
- Create Machines, Managed Servers, Clusters, Server templates, Dynamic clusters, Coherence clusters
- create File or JDBC Persistence Store
- create JMS Server, Module, SubDeployment, Quota, Connection Factory, JMS (distributed) Queue or Topic,Foreign Servers + entries
Multi node support for a WebLogic domain, can be used for cluster or spreading WebLogic Managed servers
Supports the following WebLogic Domain creations
- Standard -> Default WebLogic domain
- ADF -> JRF + EM + Coherence (12.1.2) + OWSM (12.1.2) + JAX-WS Advanced + Soap over JMS (12.1.2)
- OSB -> OSB + JRF + EM + OWSM
- OSB + SOA -> OSB + SOA Suite + BAM + JRF + EM + OWSM
- OSB + SOA + BPM -> OSB + SOA Suite + BAM + BPM + JRF + EM + OWSM
- WC + WCC + BPM -> WC ( WebCenter) + WCC ( Content ) + BPM + JRF + EM + OWSM
- WC -> WC ( WebCenter) + JRF + EM + OWSM
Besides WebLogic I also have a Oracle Database Puppet module which can do the following
- Oracle Database 184.108.40.206 Linux installation
- Oracle Database 220.127.116.11, 18.104.22.168, 22.214.171.124 Linux installation
- Oracle Database Net configuration
- Oracle Database Listener
- OPatch upgrade
- Apply OPatch
- Create database instances
- Stop/Start database instances
- RCU Repository creation for Oracle SOA Suite / Webcenter ( 126.96.36.199.0 and 188.8.131.52.0 ) / Oracle Identity Management ( 184.108.40.206 )
These Puppet modules works great with a Puppet Master but what I noticed now there is a huge momentum to use Puppet or Chef without a master ( no new Single Point of Failure or a new Product with its own infrastructure ).
here are some examples of a masterless configuration.
From the development and education side we can see that Vagrant and VirtualBox is populair and really works great. Vagrant can configure a new VirtualBox image and after this can start Chef or Puppet to do all the configuration. A really nice WebLogic 12.1.2 example is made by Matthew Baldwin, please check his blog for a very complete Vagrant example.
Also Red Hat with its Satellite product which basically does the same. Rad Hat will be using puppet. Here you can download the Red Hat presentation.
So the next question is, what will Oracle do?
Off course there is Oracle Virtual Assembly Builder, this can also start Chef or Puppet just like Red Hat and Vagrant but is only supported for Oracle VM while almost everybody is using VMware. You can check the OOW presentation Configuration Management with Chef and Puppet [CON9292] of Codanda Chinnappa
Oracle also announced the Roadmap for Nimbula Director and this with will support the OpenStack API. This is a great start.
But lucky for us the WebLogic and Middleware teams are thinking of supporting Chef, Puppet and changing WebLogic so it will better support provisioning tools. On OOW I already heard some rumours about this and last week we saw the first official glimpse of this by this great Oracle A-Team blog. It was about a Roadmap for SOA Development and Delivery
In this article Mark Nelson talks about continuous integration, provisioning with Chef and configuration management, deployment pipelines, testing and quality
Probably next OOW will be exciting for Application Lifecycle, Provisioning and DevOps.