Elastic PaaS with WebLogic and OpenStack, part I
- by Jernej Kaše
In my previous blog I described the steps to get OpenStack on Solaris up and running. Now we'll explore how WebLogic and OpenStack can work together to deliver truly elastic Middleware Platform as a Service.
Middleware / Platform as a Service goals
First, let's define what PaaS should be : PaaS offerings facilitate the deployment of applications without the complexity of managing the underlying hardware and software and provisioning hosting capabilities.
To break it down:
- PaaS provides a complete platform for hosting solutions (Java EE, SOA, BPM, ...)
- Infrastructure provisioning (virtual machine, OS, platform) and managing is hidden from the PaaS user [administrator or developer]
- Additionally, PaaS could / should define target SLAs, and the platform should ensure the SLAs are meet automatically.
PaaS use case
To make it more tangible, we have an IT Administrator who has the requirement to deploy a Java EE enterprise application. The application is used by external users who need to submit reports by the end of each month. As a result, the number of concurrent users will fluctuate, with expected huge spikes around the end of each month.
The SLA agreed by the management is that no more than 100 requests should be waiting to be processes at any given time. In addition, the IT admin has no more than 3 days to have the platform and the application operational.
The Challenges
Some of the challenges the IT Administrator is facing are:
- how are we going to ensure the processing power?
- how are we going to provision the (virtual) machines, Java EE platform and deploy the application?
- how are we going to monitor the SLA?
- how are we going to react to SLA, and increase capacity?
The Ideal Solution
Ideally, the whole process should be automated, "set it and forget" and require no human interaction:
- The vendor packages the solution as deployable image(s)
- The images are deployed to the IaaS
- From there, automated processes take care of SLA
Solution Architecture with WebLogic 12c, Dynamic Clusters, OpenStack & Solaris
OracleSolaris provides OS and virtualisation through Solaris Zones
OpenStack is a part of Solaris 11.2 and provides Cloud Management (console and API)
WebLogic 12c with Dynamic Clusters provides the Platform
Trafic Manager provides load balancing
On top of out that, we are going to implement a small control script - Cloud Manager - which is going to monitor SLA through WebLogic Diagnostic Framework. In case there are more than 100 pending requests, the script will:
- provision a new virtual machine based on image which is configured for the WebLogic domain
- add the machine to WebLogic domain
- Increase the number of servers in dynamic cluster
- Start the newly provisioned server
Stay tuned for part II
The hole solution with working demo will be presented in one of our Partner WebCasts in June, exact date TBA.
Jernej Kaše is a Fusion Middleware Specialist working closely with Oracle Partners in the ECEMEA region to grow their business by leveraging Oracle technology.