An Oxymoron Worth Making?
More recently Oracle CEO Larry Ellison announced Oracle’s entry into the cloud-computing arena with Exalogic Elastic Cloud, that has been dubbed “Cloud in a Box”[i]. Ironically the Cloud is supposed to eliminate the Box[ii], so technically this is an oxymoron following current definitions and trends in Cloud Computing[iii]. For example, elastic is interrupted as being able to scale computing resources to demand by incorporating more virtualized servers in the cloud and hence only pay for resources consumed. A box on the other hand is a set configuration of resources that must be purchased (as a box) and remains idle as a box until peak demand utilizes its entire potential. So how can Oracle claim to have a cloud in a box?
Cloud from a Different Perspective
To answer this, we will need to expand our perspective and look at architecture from a different point of view, perhaps wave our hands at certain points. First, the information systems space that builds boxes, which includes IBM, Oracle, Teradata, and more recently HP, has typically differentiated their products into warehouses and appliances. The latter are data boxes configured to perform one task very fast and very efficiently, and once setup and integrated into a business process, the appliance does not change. This would include transaction engines, content management, customer relation databases, and most financial databases. (As I have pointed out before, one does not go mining for profits but follows well defined accounting procedures with set data structures).
These appliances have critical roles in the business processes but often the boundary between minding the data and mining the data can be very fuzzy and broad. Though you would not mine financial data for profits, you would mine the same data for insights affecting those profits. Though you might have a content management system supporting your authoring and serving your content, you may want to feedback information as to who is viewing the content and their reaction to that content, perhaps target specific content dynamically to segments of visitors as they are discovered in real time.
Normally all this financial, transactional and presentation data is pulled off to a data warehouse where it can be integrated, aggregated and analyzed requiring great flexibility in augmenting, querying and presenting the data. Instead of fixed static queries that are optimized for retrieval or storage in an appliance, the queries are free formed and changing within a data warehouse such that a different form of optimization must take place to search and aggregate large (terabyte to petabyte) sized data warehouses. In Oracle’s case the appliance is Exadata with fast storage and access and the warehouse is Exalogic with computational power to perform functions (logic) on the data. (To make things more confusing the latter is sometimes called a “data warehouse appliance” emphasizing that the whole thing is configured as box right out of the box so to speak, but we have that covered with the term “box”.)
Boxing in the Cloud
But this is only part of the story. Until recently, these have been separate offerings with the appliances operating in real-time and data warehouses operating in the background, typically as batch processes, at their own “more strategic” tempo. However as the data from different sources becomes more inter-related, such as forming social networks among thousands of users every minute, and requires near real-time warehouse-like processing in response, such as immediately using the new networks for post messages. The warehouse is no longer a very large database but more a massive parallel computing system that must process and access large amounts of inter linked data in real-time.
Exalogic is Oracle’s attempt at massive parallel computing (MPC) in a box configuring up to 360 processing cores[iv] to operate on a computational problem. The claim by Ellison is that as a server the box can process 1 million requests per second sustained and that two of these boxes would be sufficient to service all Facebook customers. However, there are measures more important that web hits to be considered and Facebook’s requirements illustrate this. Essentially Oracle’s Exalogic is 360 web servers built on top of an Oracle Grid RDBM. The same processors managing requests are also performing the database queries. Is there a problem with this?
Sequential Processing Giant Goes Concurrent
Oracle has practically no experience in parallel computing as it applies to database design and implementation. Oracle is after all the archetype for communicating sequential processing where grid means communications among databases where everything is shared and potentially locked down.
Interestingly their new CEO, Mark Hurd (formally ousted CEO at HP)[v], does have parallel computing exposure through Teradata as CEO of NCR. So this is an interesting twist that has not been sufficiently exposed over the HP / Oracle brouhaha. I would consider this a clue that parallel computing is at the core of the offering and not simply a box with 360 virtualized servers. Teradata on the other hand has over 30 years corporate experience applying parallel processing to computation and 20 years developing parallelized database systems based upon Share Nothing Architectures[vi] (the antithesis of what Oracle has been developing over that same period).
To me this represents a subtle but significant core shift in computing whether cloud or not. Oracle and IBM have deep pockets to acquire the expertise that Teradata has developed over the long haul. However, I would suggest that Oracle go outside of Silicon Valley because the concept of concurrent programming is counter to the current culture there. In the end, it is not the hardware but the operating system and the “programming” paradigm that can exploit the potential of the hardware that will be the breakthrough and provide the change needed to succeed.
Elastic Box: A Cloud by a Different Name
Returning to the original question with respect to elastic. Though Oracle’s offering is a box, elasticity within the box will depend on how well demand from various sources can be managed to allow flexible allocation of resources within that box. Typically architectures assume that each box is dedicated to a single function – web server, transaction engine, financial database, etc. Can all these functions be performed within the same box such that resources can quickly roll over to the function having the most demand at that moment and therefore ensuring that the box is effectively utilized while satisfying all demand? This assumes that the combined demand on all the individual boxes can be smoothed when combined into a single box.
This is the overall assumption within an elastic cloud but demand is spread over a larger number of functions and wider global demand. The flex point for cost of computing from external to internal cloud is the point where demand is well defined and smooth and the cost of owning and maintaining the equipment is much less than the utility cost of resources. In other words, when elasticity is not an over-riding factor.
In Oracles case and for others in this space, removing the need to allocate function to separate boxes and providing more flexibility in reconfiguring or expanding functions can lead to further cost savings and resilience over the traditional IT architectures. In this way the box acts as an internal cloud and can be argued to be elastic, but only if you change the currently accepted definition[vii].
One Cloud of Many Boxes
For the cloud purest that believes that the cloud is a monolithic computer, these kinds of boxes will increasingly populate the network to achieve that vision. It will only occur when the programming paradigm allows “resources” to follow “apps” much as workers follow jobs within companies. Currently we see apps allocated to resources and programmed specifically for those resources. So the shift is big – a shift that I doubt Oracle has not even started to make.
Abel, J. C. (2010, 7-September). Mark Hurd Lands At Oracle, HP Sues. From Wired: http://www.wired.com/epicenter/2010/09/former-hp-ceo-mark-hurd-lands-on-his-feet-at-oracle/
Beal, B. (2010, 20-September). Oracle Exalogic is the company’s “cloud in a box”. From SearchOracle: http://searchoracle.techtarget.com/news/2240022616/Oracle-Exalogic-is-the-companys-cloud-in-a-box
Bhatia, A. (2007, 10-December). Shared Nothing Architecture. From Toolbox.com: http://it.toolbox.com/wiki/index.php/Shared_Nothing_Architecture
Closson, K. (2007, 9-August). Nearly Free or Not, GridSQL for EnterpriseDB is Simply Better Than Real Application Clusters. It is Shared-Nothing Architecture After All! . From Kevin Closson’s Oracle Blog: http://kevinclosson.wordpress.com/2007/08/09/nearly-free-or-not-gridsql-for-enterprisedb-is-simply-better-than-real-application-clusters-it-is-shared-nothing-architecture-after-all/
Considine, J. (2010, 22-September). “Cloud in a Box” Gets Boxed In . From Cloud Switch: http://www.cloudswitch.com/page/cloud-in-a-box-gets-boxed-in
Dignan, L. (2010, 20-September). Oracle’s Exalogic box: Cloud washing at its best? From ZDNet: http://www.zdnet.com/blog/btl/oracles-exalogic-box-cloud-washing-at-its-best/39343
Snow, R. (2010, 5-October). Teradata Advances Personal Marketing Using Analytics. From Ventena Research: http://www.ventanaresearch.com/blog/commentblog.aspx?id=3984
Williams, A. (2010, 30-September). Why the Oracle Exalogic Cloud is Not Elastic . From ReadWrite Cloud: http://www.readwriteweb.com/cloud/2010/09/why-the-oracle-exalogic-cloud.php
[i] (Beal, 2010)
[ii] (Dignan, 2010)
[iii] (Williams, 2010)
[iv] Oracle Exalogic is powered by Sun’s server and system technology and contains up to 360 CPU cores, 2.8TB of RAM, and 40TB of storage in a single rack of equipment. The whole configuration priced just over 1 Million dollars.
[v] (Abel, 2010)
[vii] (Considine, 2010) This is an important and in depth critic of Oracle’s offering from an informed recognized source in cloud computing.