Jake Sorofman works at rPath. He can be contacted at firstname.lastname@example.org.
The Amazon -- the river, that is -- is both impressive in scale and among the most diverse ecosystems on the planet. It's both fertile ground for innovation and a nexus back to which much of the earth's evolution can be traced. In the world of science, its significance is vast.
Similarly, its namesake in Seattle -- the erstwhile bookseller -- has remarkably and unexpectedly emerged as a veritable Amazon to the world of computing. Its public cloud offering -- Amazon EC2 -- is challenging a lot of thinking these days. In the world of IT, its significance is vast.
What's most remarkable about Amazon isn't that it appeared out of nowhere as an infrastructure vendor. What's most remarkable is that it has done so with impressive competence and grace.
EC2 is a juggernaut, and it seems to get better with each turn.
Witness a recent announcement. Amazon has added monitoring, dynamic scaling and elastic load balancing to its suite of offerings -- all elegantly delivered in the same pay-as-you-go model as its compute and storage services. Today, EC2 may well be the truest expression of cloud.
But don't get me wrong: this isn't meant to be a love letter to Amazon as the silver bullet for all compute requirements. Amazon is just a darn good example of what a cloud should be.
For cloud to mature into a mainstream and potentially transformative alternative to traditional computing, there must be many players -- each contributing their own unique value to the marketplace. Luckily, we've seen innovators like Rackspace, GoGrid, BlueLock and private cloud infrastructure like Eucalyptus deliver their own unique pieces to the cloud puzzle. We'll also see major platform vendors like IBM, EMC, and Oracle/Sun with their own cloud offerings.
Ultimately, enterprises will adopt multiple clouds as a blended fabric of compute resources where applications dynamically seek out the appropriate resource based on price, location, capabilities, service levels, etc. Each cloud will play a unique role as part of this connected fabric of providers. In this sense, you can think of EC2 as necessary as today's guiding example, but insufficient as the sole solution to all of our computing needs.
Amazon is doing an impressively good job of delivering compute, storage and management tools as a cloud-based service. But this is all about infrastructure, which is only half of the story. The other half of the story is about applications.
What folks are beginning to realize is that there is a hidden cost to virtualization and cloud. Removing the friction from application deployment yields an explosion in the number of systems that need to be managed and maintained. Cloud may remove the barriers to application delivery based on the swipe of a credit card, but it doesn't obviate the need to maintain these systems. Virtualized and cloud-based models simply shift the burden from a physical to a virtual medium -- while catalyzing the growth of units that need to be maintained.
As a result, the management burden compounds, actually adding cost and risk.
At the heart of this problem is the way many organizations think about the creation of system images for deployment into virtualized environments. Today, image provisioning tools typically create static system snapshots that are fundamentally unmanageable.
Like gremlins and bamboo, these images proliferate rapidly, forcing IT organizations into the uncomfortable tradeoff of ignoring the gremlins in their midst or throwing people at the problem.
In my experience, neither answer is particularly satisfying.
For instance, rPath (the company I work for) automates the creation and maintenance of complete, self-contained and manageable systems that run across traditional, virtual or cloud environments. rPath captures all of the dependencies within the stack and manages the system and all of its components under strong version control. This provides complete system transparency, control and allows updates and patches to be automatically delivered to the running system -- wherever it's running. This enables fully encapsulated systems that are self-healing, self-describing, free to run anywhere, but centrally controlled wherever they land. It's a scalable solution to an application delivery challenge that is poised to explode in the age of virtualization and cloud.
The reality is that -- as IT infrastructure becomes virtualized and organizations tap into the cloud -- it becomes even more critical to fully control deployed systems. The alternative is new cost and risk that may actually wash away the benefits of this new computing model itself.