Monday, 21 February 2011

Why Engineered Systems?


It’s been barely three months since the launch of Oracle’ Exalogic Elastic Cloud (Exalogic for short). It thus seems like an opportune moment to evaluate the implications and repercussions of this in the context of the industry

Let’s take the most discussed point off the table for the moment: that of Private Cloud versus Public Cloud and whether such a thing as the Private Cloud actually exists. Unfortunate for the dogmatic among us with their fair share of tunnel vision, surveys reveal that most Enterprises and Agencies are proceeding on a strategy of marrying the best of both worlds – leveraging the Public Cloud where it makes sense, e.g. for testing and development, tactical / one off applications, seasonal workloads, and cloud bursting to name a few – and focusing on building Private Clouds to run their mainstream IT. So let’s think about that mainstream IT equation – where engineered systems such as Exalogic and Exadata squarely fit. Exadata for database online transaction processing and data warehousing, and Exalogic Elastic Cloud for running mid-tier and packaged applications.

When Larry Ellison in 20 April 2009 announced the acquisition of Sun Microsystems, he coined the term “Engineered Systems”. At the time, not many in the industry really had an understanding of what this would actually mean (I hasten to say that some within Oracle may not have either). Of course, putting software and hardware together into an appliance form that is easily configured for operations is all good, but many in the industry really didn’t comprehend the extent to which the term “engineered” would drive product innovation both in software and in hardware. A year later the value proposition around Engineered systems is becoming clear. Some people seemed to get it early on.

What does it mean to engineer a system? Is an Engineered system just pre-loaded software on a server to be used as an appliance or is it more than the sum of its parts? Finally, which Engineered systems are the right ones to build Private Clouds? Let’s take these questions in turn.

What does it mean to engineer a system?

An engineered system is typically something that provides out of the box capabilities and does away with as much building, configuring and maintaining of systems as possible – activities that have to be done by IT. Not only is this task repetitive, error prone and time consuming, but it is also very costly. What is typically done by IT today? Look at the 19 item laundry list that a customer recently shared with me. Of course this is probably one of the reasons that it takes IT a while to gets systems up and running:

Do it Yourself IT

  1. Assess application requirements
  2. Research available component technologies and vendor products
  3. Identify all software components and evaluate compatibility, drivers, etc.
  4. Obtain server, storage, network and other components from vendor(s) for trial use
  5. Assemble hardware components, including network design
  6. Install base software components (sufficient to test networking)
  7. Test physical system, working with vendor(s) to identify defects
  8. Obtain patches/fixes for identified defects from vendors and deploy to test system
  9. Deploy/install patches or new hardware
  10. Repeat 7-9 until stable
  11. Deploy upper-stack (application or application-server complex)
  12. Test upper stack
  13. Obtain patches/fixes for identified defects from vendors and deploy to test system
  14. Deploy/install patches or new hardware
  15. Repeat 12-14 until stability and performance goals have been met
  16. Finalize supply chain (vendor price negotiations, component EOL practice, etc.)
  17. Fully document platform state and platform-specific operating/maintenance procedures, vendor support engagement practices and internal triage protocol
  18. Move the system from test/development to production
  19. Start over when someone changes the application requirements, when a key vendor product is discontinued or EOL prematurely, when a key component vendor is no longer viable

While putting things together from scratch seems like an odd thing to do now, we have been doing this in IT for quite some time. Doesn't make much sense to build your own car "one piece at a time" does it?



Is the Whole more than the Sum of the Parts?

An engineered system combines network, storage, compute and software in a pre-optimized stack that enables IT to cut the time to deploy from months to hours, reduces errors and enables IT personnel and resources to be put to higher value work. You may recognize some precursors to the current generation of engineered systems – Oracle’s Exadata and Exalogic - in the form of Cisco’s Unified Compute System (UCS) and HP with Bladesystem Matrix, and reference configurations, and the V-Block coalition. Of course while the product may be fine, I am not sure how you can actually make a coalition work in the IT business. For one thing, I have heard numerous concerns from customers around accountability: who is accountable to the customer out of the coalition members? EMC? Cisco? Vmware? A reseller?

Systems such as these bring together the building blocks from a hardware perspective to provide a hardware platform for shared infrastructure: bringing together storage, network and server virtualization. They certainly take some of the work out of building IT environments and enable more efficient use of hardware resources through sharing.

The one area that they don’t address is that of configuring the application environments – databases, middleware, packaged and custom applications. These systems consist of multiple software components that need to be configured, typically with high availability, and managed for application-level SLAs.

So while other engineered systems only address the stack up to the operating system level, Oracle’s Engineered systems are designed to deliver all the capabilities required to run an end application – whether it’s a database as a service or data warehousing capability – in the case of Exadata – or an entire Java EE application environment – in the case of Exalogic. Does this really matter though? Cannot you get most of the IT benefits by using other engineered systems and leaving every departmental IT organization to build out and operate their own application stacks themselves?


Which Engineered system is most compelling?

Not all engineered systems are created the same. To see why this is the case, let’s look at some of the results that Oracle’s customers have been achieving with Exadata:

- “With our migration to Exadata V2 we've seen a 17x performance improvement, having made no changes to our application”

- "We implemented it in a record four days from delivery prior to Christmas to provide a dev/test environment to a number of projects," a statement from the bank said….. The machine will enable the Commonwealth Bank to provide database as a service”

- One customer saw processing time drop from 3.5 hours to 27 minutes, while another customer saw a performance boost of 300x - Piper Jaffray

Of course there is a reason why customers are experiencing greater than 10x improvements. The reason that they are able to achieve some outstanding results with Oracle’s Exadata is that the database is designed to work differently in Exadata to take advantage of capabilities such as flash and storage servers. The way that some of these capabilities are leveraged is quite unique – for example the storage servers in Exadata are capable of executing simple database operations – which enables operations such as tables scans to be carried out in parallel! (For those of you that are really curious – this is analogous to a map/ reduce approach).

Can UCS, Bladesystem Matrix, or V-Block deliver such break through capabilities or performance or throughput?

No.

For more on Exadata, take a look at this Information Week interview with Andy Mendelsohn.

Oracle’s engineered system for running application logic is Exalogic, which is designed with four key focal areas in mind:

1) To provide an optimized environment for running Java / Java EE / WebLogic Server applications orders of magnitude faster than comparable hardware

2) To provide an optimized environment for running any application running or leveraging Oracle Fusion Middleware faster with better service levels (for those that know Oracle’s middleware this really is a corollary of #1 above)

3) To provide an optimized environment for running Oracle applications (E-Business Suite, PeopleSoft, JD Edwards, Siebel, etc) with improved performance and manageability

4) To deliver the benefits of consolidated infrastructure (storage, network, compute) that competitive solutions offer for running other packaged or custom applications

In the case of Exalogic – our engineering team has spent more than 100 man years looking at WebLogic Application Server and numerous hardware configurations to figure out how to get more speed and throughput out of Exalogic – capabilities such as GridLink for RAC, JDBC over SDP and a parallel muxer and many more are the way in which Exalogic can also deliver breakthrough performance for applications.

While many “Engineered Systems” deliver some level of engineering to deliver on consolidated infrastructure, Oracle is the only vendor that can turn this into reality by optimizing all the application level software as well to deliver IT cost savings and unprecedented performance and SLAs that no one else can.

Hence, should you be considering evolving your data center to a Private Cloud, there are few choices that deliver IT cost savings and application performance and unmatched service levels. If you want to keep both your IT budget and your business users happy, there are, in fact only two options, and they come as a pair.



It seems that it’s not just we that think that Oracle has a compelling value proposition for the data center. Take a look at this report from Credit Suisse!


The Engineered System that is the most compelling is one that optimizes the entire application stack and integrates it with a balanced hardware environment.

For more about Exalogic and Exadata – take a look at Oracle.com.


1 comment:

  1. Good one .. but do you mean to say that organizations run only Oracle Database and Oracle Based Applications ?

    How about .NET,Php and similar applications like AD, Exchange ?

    ReplyDelete