First, my definition of a cloud, not that it’s any better than others, just my vantage point so you know where I’m grounded. Then some insight on how I’ve seen the evolution of cloud systems, and how the industry arrived at what we have today. Finally, a summary of current vendor offerings and what they can do for executing the enterprise cloud strategy. Really the offerings are staggering, so I’ll break this topic up, with this post touching on the private cloud infrastructure plays.
What’s a cloud?
The current nomenclature being used today consists of Infrastructure (IaaS), Platform (PaaS), and Software (SaaS) and defines the boundaries for the different types of cloud services:
Infrastructure clouds provide virtualization of severs and operating system to optimize server utilization, and simplify operating system, storage, and network provisioning, along with elastic runtime behaviors. A public example of this is Amazon Web Services Cloud < http://aws.amazon.com/ >. With the appropriate monitoring in place this approach helps significantly with capacity planning. As at some point there is always real hardware to deal with, and that never goes away.
Platform clouds are an entire framework to build and deploy applications, reducing time and complexity for software construction as well as deployment, while also abstracting out all the infrastructure components.
Public examples of general platforms are:
|Google App Engine||http://code.google.com/appengine/|
Yes, salesforce.com is moving from just a web based CRM solution to a complete platform.
Software clouds are entire applications for any number of globally distributed end users, typically utilizing some PaaS for its implementation. For example, Salesforce.com has Sales Cloud < http://www.salesforce.com/crm/sales-force-automation/> that uses Force.com, and Oracle CRM On-Demand < http://crmondemand.oracle.com/en/index.htm >. For Social media software services, Facebook, and provides Facebook Apps as a platform < http://developers.facebook.com >.
All clouds provide elastic resources on-demand that ultimately maximizes the quality of service, all for a price point lower than the custom build-out and support for each individual application, platform, or infrastructure component. Clouds also provide the metering and administration required to effectively implement a billing or charge back model, providing an on-demand pay for what you use model to the service consumer. So that is how I view the current cloud landscape. Although I gave public facing examples, an enterprise cloud strategy will be a combination of public, private, and joint venture services.
What brought us here?
Actually cloud computing is little more than the mainframe model that has been around for decades. Since System Z obtained the ability to spin up Linux LPARs, run application servers, relational databases, and provides MQ or RPC-like connectivity into CICS and IMS, it’s evolved into a fairly open cloud system. That’s why the mainframe folks wonder what people are talking about when we talk about “the cloud”, since they have been living it for decades, and 10 years of that has been an open compute model. So why did it never take-off to eliminate the mid-range server sprawl of the data center? Simply, it was not lack of technology, mostly just cost for hardware and software. Some of the pricing justified, but much of it not, and this is a whole other topic. However, as a technical model the mainframe is already a cloud system, so why is cloud computing being heralded as such a new achievement? Well it’s not a revolution, but an evolution and some great marketing rap.
As of 10 years ago the mainframe model became an extremely open virtualized platform, although its inherit cost prohibitive nature really beat down innovation. Meanwhile, virtualization on mid-range computer and storage systems at a reasonable price tag garnered the attention of the masses, increasing utilization and manageability, thus optimizing the cost model. A continued quest to reduce the complexity involved in environment management and provisioning of the software services that use them was underway. Simultaneously, the application service provider model was moving to a full platform as a service (PaaS) approach, again at reasonable prices, increasing its popularity. Vendors such as Google and Salesforce drove SaaS and PaaS offerings, Amazon brought infrastructure as a service to the public, and finally Microsoft with PaaS Azure. All those efforts collided to ignite current day cloud computing giving something for the marketing teams to rally around, attracting dollars to fuel further innovation, accomplishing two important things. It brought the mainframe model, with most of the performance to a reasonable price, providing it over a wide range of existing vendor hardware and software. That is where the innovation rest, not in a revolutionary new way of doing things that no one ever thought of before (the hype), but evolving what we know into something usable by more people, and provided by more vendors to continue to fuel the innovation. However, don’t declare the mainframe a dead platform (again) it’s evolving as well. I really hope we revolutionize the way we manage technology, but for now, it’s an evolutionary grind.
What follows is a brief summary of the IaaS landscape and my thoughts on where that general approach is headed.
IaaS Vendors: Oracle, IBM, HP, and Cisco
The offerings are all very similar following the model of blades in a rack with storage all connected via 10Gb Ethernet or 40Gb Infiniband. Then connect multiple racks together to scale horizontally. Tied all together with virtualization and provisioning management. OK I oversimplified it, but in short, they are all starting to look like the mainframe model. Now the with IBM’s z196 out that has a zBX chassis to support Xeon and Power blades under mainframe management, the lines are really starting to blur.
Below is a very brief summary of each vendor, actually the offerings are impressive, and sorting through them all is time consuming. Mostly my question after reviewing these cloud offerings is how do we keep from creating silos of cloud infrastructure? Meaning Oracle cannot be managed by IBM, which cannot be managed by Cisco. It’s really not any worse than it is today, but it’s not any better, and is concerning since cloud computing was supposed to virtualize and optimize our environments. We get those benefits, but with boundaries, and one has to wonder just how much benefit is really being achieved by the “cloud in a box” mainframe model solution. I think it’s better to have borderless cloud computing meaning virtualization and software provisioning that lays across all hardware platforms, provides high-speed interconnects, and virtualizes the IP network across data centers. Of course the midrange solutions are cheaper than mainframe, and their performance is approaching the mainframe, but at what cost to real manageability across the entire enterprise? To me that is the real challenge that information technology faces, and is not solved with a cloud in a box, but that approach is a step on the right path.
Oracle Exadata and Exalogic
Oracle ties together storage, database, and application services with high-speed low-latency InfiniBand in a rack. Exadata is a database appliance, and Exalogic is an application server appliance, however, Oracle does not limit the software that can be deployed and managed within their Exalogic platform, so it can be also viewed as a general cloud infrastructure, or as Oracle describes it, a cloud in a box. All operating systems are virtualized, and then software provisioned on the virtualized environments, with multiple Exalogic racks being hooked together. Interconnect is 40Gb Infiniband. The Exadata platform is more of OLTP configuration, and is getting some heat brought to it when compared to TerraData or Netezza. Not sure I would do a direct comparison, Oracle’s strength is OLTP, and TerraData was designed for DW/Analytics.
Exalogic: The One Day Installation Challenge
HP Cloud System
HP is marketed as general purpose cloud platform using HP hardware (network, storage, servers), in addition to being able to provision onto public clouds, such as Amazon’s EC2, or HP’s own cloud service. With the blade servers and Infiniband interconnects, it looks very similar to the Oracle solution. Although, HP does not require total virtualization for the provisioning and management like Oracle does. Meaning it supports OS provisioning without a hypervisor. All of these features seem to move in more of the direction that is required for generalized cloud platforms.
Here is an informative article on HPs offering, and I think describes HP approach very well http://jshurwitz.wordpress.com/2011/02/15/hps-ambitious-cloud-computing-strategy-can-hp-emerging-as-a-power/ .
Their IaaS components are similar to HP and Oracle; with Cloud Burst on Xeon, Cloud Burst on Power Systems, and their zSystem cloud for the mainframe. Their latest z196 Mainframe integrates a blade chassis (zBX) over 10Gb Ethernet, to utilize their blades like DataPower, Xeon, or Power, then bring those blades under mainframe management. How all these cloud platforms can actually integrate in terms of providing a seamless cloud fabric is unclear, but if possible would be compelling to those enterprises that have blue coursing through their technology veins.
Cisco Unified Computing System
Similar to Oracle, HP, and IBM; uses Cisco servers and network. Cicso servers are using 10Gb Ethernet and FCoE for the interconnect. Obviously they have more advanced network virtualization and provisioning with its Unified Network Services. However, the cloud in box approach looks very similar to other vendors.
And Cisco UCS, in a physical box: http://forums.legitreviews.com/about34174.html
All the vendors talk about how their platform is revolutionary, and spew great volumes of excellent rhetoric to motivate the masses. However, with this approach what we are going to end up with are silos of clouds that are incompatible. We need to get back to basics and if these vendors really want to provide some revolutionary value, lets create automated provisioning software that can work across all hardware platforms. This means standards that to date have been very elusive to the entire industry. Lets create workload management solutions to manage “all” the software that might be deployed on the cloud. Then create network management solutions that work across all of my various vendor network assets. Accomplishing that means standards…that is where we need to focus otherwise instead of server sprawl, we will have cloud sprawl. Admittedly, cloud sprawl would place companies in a much better position than most are today with low utilization, manual provisioning, splintered monitoring, and the manual recovery procedures that are typically embraced. It will be a long way from what should be achieved and what will be needed to continue to meet a growing demand for always-on software services, compute platforms, and network connectivity.
So cloud wisely, as we condemned the mainframe model as closed and costly, we may do the same with these clouds in a box. In general, the industry has moved away from custom hardware appliances, as they are costly, requiring specialized training to use and support, with interoperability fairly low. As it stands now, companies will need specialized cloud support teams for each cloud system. That will be expensive, but weigh that against elastic nature of the cloud approach and I think it’s still a compelling proposition, even with potential of creating islands of clouds. Although, the strategy is more than get a cloud in a box and migrate everything to the cloud. It requires understanding multiple vendor private cloud interoperability, private to public cloud interoperability, total enterprise capacity planning, and then defining an approach that supports a unified management and monitoring view of it all. These offerings are a step in the right direction, but no where close to what I would consider a revolutionary destination.
Remember, luck is made, so make good luck as you cloud.
A constant battle seems to wage on around what is Enterprise Architecture, and what skills does an Enterprise Architect need to be successful. The dialog is rich and varies widely, leaving one to easily surmise that perhaps none of us know what we are talking about. Alas, enterprise architecture professionals if nothing else provide a diversified perspective.
Enterprise Architecture (EA) is often aligned with technology, even though most agree the business architecture aspect is an imperative component for EA. I believe some of the confusion is created because EA teams manifest themselves within different parts of an organization making their focus biased to certain aspects of EA. Of course, others just stay in the ivory tower, and never really practice their craft, making many wonder why they exist in the first place. Regardless businesses in general are increasing their operating complexity, more importantly the rate of change is increasing, insisting that EA must evolve to move companies from good to great.
Another confusion factor beyond organizational alignment is that technology is growing past just being an enabler to business operations, and now is an integral part of business operations, even for businesses we consider non-technology companies. Meaning without the technology the product or service just does not exist, or its profitability is drastically reduced. For example, renting movies went from a physical store front, to mail-order, to streaming Blue Ray 1080P HD video over the internet on demand. The same thing happened to books and music; physical store front, to mail-order, to stream it over the internet to the device of your choice. It’s occurring in health care, as physicians conduct patient exams or even surgery remotely via technology. Technology is more than supporting business processes; it is woven into products and services via conduits of social media, information sharing, or on-demand remote delivery. Technology enables partnerships that could not exist before, and by opening up corporate information for others to innovate on top of, new businesses are created, along with enhancing the value of the existing business. Thus, technology is drastically changing business models and operations; it’s entangled with the core business offering.
Because technology is invading every possible space, enterprise architects are not immune to the trend. Enterprise Architecture is a fusion of technology architecture, business architecture, and leadership that defines how the business should organize and execute. An enterprise architect can no longer just understand general business or general technology concepts to drive down operational expense; they must be knowledgeable in both and understand how to drive top line revenue growth. So the constant diverse debate is not driven by confusion so much as the expanded space of enterprise architecture. It’s a tall order to demand so much from an individual role, however, companies that strive to create a diverse skill set in their enterprise architects will survive well into the 21st century; those that do not will fade away.
Until such individuals can be groomed, enterprise architecture teams should be staffed with a diverse set of enterprise architects with their currently siloed knowledge bases. Encourage them to collaborate, communicate, debate amongst themselves, and then deliver a single continuous message to all the business and technology teams. Most of all, a single message crafted with multiple views for a variety of roles is critical, and a successful delivery achieved not by the quantity of communication but quality. The delivery of a message crafted specifically for a role or domain of roles, is much more effective than a frequent broadcast of generalized, homogenized, corporate messages that carry little concrete meaning to the receiver.
Technical enterprise architects need to learn the language of business, and specifically the dialect of the industry they work. Business enterprise architects need to understand technical architecture and systems engineering beyond the level of vendor product brochures. Then combine all that with great leadership and communications skills, molded to accommodate the corporate culture. That is the enterprise architect of the 21st century. I also see the enterprise architecture team being led by what in the past has been the Chief Operations Officer (COO), and if an organization does not have one, perhaps it’s time to create a Chief Architecture Officer (CAO).
Enterprise architecture is needed now more than ever in the past to accommodate the rapid rate of corporate change and complexity. However, the current body of knowledge and experience of enterprise architects has to expand quickly if they are going to provide any meaningful value to a 21st century business.
Let’s bring all the hype into perspective; cloud computing, service oriented architecture, event driven architecture, agile methodologies, etc. should not be the objectives. Focus on sound systems/software engineering and one will find they are already embracing the best of the branded hype, and the nomenclature is little more than marketing, not the next big thing.
So why do we need all this hype? Same reason we need marketing and sales teams, without it nothing moves. Try to practice the best enterprise engineering as the foundation for enterprise architectural efforts without the marketing hype, and few want to adopt it. Advanced degrees, subject matter experts, and great engineers are just the price of admission to leading in the 21st century corporation. All have to learn to market and sell great enterprise engineering to drive down operational expense, and great enterprise architecture to drive new revenue streams. Learning how to communicate to market and sell these ideas is paramount to achieving “what’s next.” So the hype is not the objective, but it is the catalyst to transform vision into reality, so we must embrace it and create it, if we want to achieve great things.
Many times after reading through patents, it would seem the intellectual property actually rest in the ability of patent submitters to make generally known concepts within an industry seem innovative. This behavior is rather frustrating at best, so I was pleasantly surprised when I read articles from Forbes about two initiatives that may reduce some of the noise in the patent pipeline. The following initiatives support peer review and search for prior art:
A joint venture with New York Law School and the U.S. Patent Office, Peer To Patent
A private company, Article One Partners,
Although I like the product, the documentation on integration patterns by itself is valuable . Some training on ServiceMix that also uses Camel, and an early release chapter of the new Camel In Action book are good resources.