Part 2: Model-driven provisioning of Fusion Middleware
October 01, 2014
In the previous post, we discussed operating system configuration with tools such as Puppet and highlighted some of the challenges with Fusion Middleware provisioning such as idempotency.
Fusion Middleware is less about packages, files and execs and more about Managed Servers, Clusters, Applications, SCA Composites, Data Sources, JMS Quotes / Topics, JCA Adapters, OSB Configuration and on and on. There’s a whole new domain language there just for Fusion Middleware with its own intricacies, dependencies and complexity that need to be managed.
Rubicon Red have built the MyST domain-specific language (DSL) over a number of years to provide declarative, idempotent provisioning and on-going configuration management of all of the configuration settings involved in Fusion Middleware. MyST brings Oracle’s script-based provisioning components into an abstract model-driven eco system.
The MyST DSL is a logical language that can be serialized to a number of different formats such as properties, XML, Puppet DSL and more. This gives organizations the choice to deploy in the Model-Driven tool of their choice whether it be Puppet, Chef, FusionCloud, VMware Application Director, AWS CloudFormation, Jenkins… or simply, MyST standalone.
The model can be used to build a full Fusion Middleware 12c environment with a very simple command:
But SOA Suite 12c has a number of domain templates, resource targeting, data source configurations and more that must be defined. Why aren’t they defined in the model?
The truth is… They are…. but you don’t have to define them unless you want to. This is because MyST is built around a set of product knowledge modules. These modules work by computing the required properties of a platform based on the minimal inputs provided by the user.
If you were to run one of the following commands against the previous model, you would in fact see a very different picture. You would see the full model. Below is a snippet of the representation (i.e serialized) as properties and XML.
Imagine if you had to define all these low-level settings yourself! MyST lets you focus on exposing only what is important and that you want to change. Users can override any of the computed properties from the serialized model so there is no loss of flexibility and since users only need to define the minimal inputs and rely on the MyST engine for the smarts, there is significant ease of use benefits.
MyST & Puppet working as one
The exact same logical model can be represented in the Puppet DSL. This is achieved via the MyST module for Puppet which is available for download from the Puppet Forge. Puppet can handle any handshaking with MyST whether it is installation of MyST, execution of MyST to provision Fusion Middleware or the reporting back from MyST.
You can add any further abstraction in Puppet as you see fit.
File-based modeling is not for everyone. Rubicon Red have launched FusionCloud, a rich GUI-based modeling tool powered by MyST, available in the cloud. FusionCloud provides options to model in a drag-and-drop interface leaning on the power of the MyST DSL (which is still available in source view).
FusionCloud allows full-stack provisioning right down to the VM on the compute node in VMware, Oracle Cloud or AWS. FusionCloud powered by MyST allows full declarative platforms to modeled and provisioned in minutes.
As we mentioned in the first part of this series, Fusion Middleware is in the middle of everything and is in a constant state of change. Providing an Oracle Fusion Middleware approach that is aligned to the principles of DevOps and good automation principles, FusionCloud allows users to manage changes through an industry recognized configuration management paradigm such as Puppet or Chef apply. With the agnostic MyST model comes the power to defined desired state for Fusion Middleware configuration.
But end-to-end management is not just about managing the platform configuration, it’s about the application releases. FusionCloud aims to address these by bringing the release tools right into the cloud. With MyST or FusionCloud users can release SCA, OSB, Java and other applications including their platform-centric configuration through a release model. This model retrieves the application version from your Artifact Repository (such as Artifactory) and deploys all good (i.e. tests passing) release candidates.
|Web-based GUI||Cloud provisioning||FMW Platform modeling||Deployment & Release Automation||Plugin Available||Two-way integration|
|VMware Application Director w/ FusionCloud plugin||Yes||Yes||Yes (via FusionCloud plugin)||Partial||Yes||No|
|Puppet with MyST integration||Partial||Partial||Yes (via MyST module)||Partial||Yes||Yes|
|Jenkins with MyST integration||Partial||Partial||Yes (if done via MyST)||Yes||Yes||No|
|Hudson with MyST integration||Partial||Partial||Coming soon||Yes||Yes||No|
|Chef with MyST integration|
Rubicon Red and our customers will be exhibiting and presenting at Oracle OpenWorld. Come visit us at Booth #1936 Moscone South, San Francisco, CA for a live demo