Monday, March 12, 2012

Enterprise-class SOA on Exalogic... what, why and how?

What is it?
At the Oracle Open World 2011 conference, I presented a session titled "Enterprise-class SOA on Exalogic" along with Vikas Anand and Manas Deb. Exalogic is part of Oracle's new breed of engineered systems, and is geared towards the middleware space. For those new to the term, an 'engineered system' is one where a single vendor provides everything from hardware, network, OS, middleware, applications, etc in one appliance. The hardware and software are fully integrated out of the box and designed for maximum performance, availability, scalability and reliability. The idea is to incorporate architecture best practices and provide a well tuned stack out-of-the-box. This removes room for error in a customer's data center for that particular application type (Oracle SOA Suite in our case). Hence drastically reducing time-to-production without compromising all the QoS (qualities of service) we just talked about. 

Why do I need it?
You simply roll in a rack into your data center, hook it up... and your middleware teams are ready to deploy their software and take advantage of this high end hardware. This is, in a way, moving towards commoditization of middleware in an appliance. Of course, this does not take you 100% of the way - picking the application deployment topology and architecture is still up to each end user. However, that is just the 'last mile' and lets the application architect (e.g. SOA architect) work on a commodity middleware appliance. Middleware architects, CIO's, CTO's all love the concept since they grasp the value immediately. Their teams can focus on building business applications and not the infrastructure that hosts it. Public cloud, on the other hand, is rarely an option in the SOA/business integration world where all the moving parts exist within the organization's data centers. 

As a former Sun CEO famously said, "the network is the computer". Growth of public clouds like Amazon EC2 and private clouds within organizations is testament to the fact. Engineered Systems (like Oracle's Exalogic, Exadata, Exalytics, Exa*) is the building block and enabler to this concept. This is why 'scalability' is the keyword in Oracle's Engineered Systems. If the network is the computer, surely it cannot be the bottleneck in the scalability equation. 

How does it work?
The single most important enabler of Exa* scalability and performance is Infiniband technology. Infiniband was designed as a new standard for both internal and external communication. What this means is that it provides ‘bus speed’ for external connectivity (networking layer). For comparison, the bandwidth/speed with Infiniband is higher than PCI Express technology used internally on the motherboard.  In the context of Exa*, Infiniband is used exclusively for external communication. Specifically, between Exa* machines co-located in the same data center. For scalability, bringing in an additional Exalogic rack and connecting them via Infiniband is equivalent to, say, taking a new motherboard and soldering it on to an existing one.You can begin to see how this becomes the building block for a private cloud.

In the context of Fusion Middleware applications, Infiniband makes the whole greater than the sum of its parts. Unlike engineered systems from other vendors, Oracle has the advantage that it owns everything from the hardware (Sun hardware), operating system (Solaris, Oracle Linux), JVM (Sun hotspot, JRockit) and application server (Weblogic Server). Oracle enhanced every layer of this stack (hardware, OS, JVM, app server) to take advantage of the blazing speed of Infiniband. There's a lot more than infiniband in Exalogic. There is redundancy built into every hardware component so there is no single point of failure... whether it is network, storage or power. Disaster Recovery enablers are also built-in to the rack.

Counter Arguments:
1. I can build this myself using best of breed components from multiple vendors. Why do I need to buy an engineering system from Oracle?
2. Isn't this what mainframes did before we moved away from them??
3. Is this just Oracle's way of selling us something we don't really need?

Well, there is a simple answer to all these questions - do some research on how you would build this on your own. You will quickly realize that Infiniband requires hardware and device drivers that are expensive and not easily available. There is a reason mainstream hardware vendors don't have this technology. Building it into your system is not as simple as plug-and-play. And even if you have the hardware, you most likely don't have the resources to optimize it for your software stack. With the Sun acquisition, Oracle has the expertise and R&D resources to design, implement and integrate this in-house, so that it works seamlessly with Oracle's industry leading middleware software stack.

To summarize, SOA Suite has stepped up to the next level with Exa*. Exalogic, used as the infrastructure for the application tier and Exadata, used as the infrastructure for the DB tier, connected via high speed Infiniband – takes enterprise grade SOA to a whole different level. The real world performance numbers from customers demonstrate this. Migrating application clusters spanning multiple machines, from like-hardware to Exalogic, has shown a miniumum of 2x performance improvement, in many cases 10x or more!

No comments:

Post a Comment