Cloud Computing Under the Hood

In a prior post I described Cloud Computing and SaaS and how they touch nearly every web user today. In today’s post I’m going to pop the hood and talk about some of the Cloud Computing technologies that allow Total Attorneys and other SaaS providers to bring value to customers 24/7 anywhere a web browser is available.

There’s nothing mystical about Cloud Computing technologies. The underlying technology and concepts have been around for years. We’ve tweaked things recently but for the most part it’s all the same but different. As Larry Ellison said in 2009: “Our industry is so weird, just change a term and they think they’ve invented technology…let’s call that “cloud” and it sure beats innovation”.

At Total Attorneys we write tons of custom code that runs on very familiar OS’s and other infrastructure software. All that custom and third-party software sits on relatively simple hardware that constantly chews through power, cooling, and bandwidth.

That over-generalized “stack” isn’t terribly different than the stack that’s powering the laptop you’re using to read this post. The biggest and most obvious difference is the scale of the operation. The other difference is our use of Cloud Computing virtualization.

The Importance of Virtualization

Computers, whether laptops or big commercial servers, typically use only a fraction of their resources. Back during the 1960 mainframe days our OG’s introduced the concept of virtualization to squeeze more capabilities out of those big, expensive machines.

Fast forward 40 years and VMware brought that same concept to the world of desktops and servers (specifically speaking, to the world of x86 architecture).

In the last 5 to 7 years more competitors have entered the virtualization space. That fueled rapid maturation in associated software tools and techniques allowing us to 1) squeeze more out of existing hardware and software infrastructure, and 2) allow technology providers to provision, deploy, and manage those virtual resources ad-hoc and real-time.

Virtualizing the Stack

Virtualization is the cornerstone of Cloud Computing technologies and it allows service providers to make applications available to users through the Software as a Service (SaaS) model. But that’s just the start.

In the introduction to this post I described a generic “stack” of technology. At the top of that stack are the applications we use today – email, CRM, and accounting programs. But what if we could expose the other layers in that stack? Wouldn’t that be cool? Oh we can, and it is.

SaaS is the top of that stack and it’s exposed as browser-based applications like Google Docs, Salesforce.com, and Netsuite.>

The next two layers have quite a bit less business and personal relevance, but very important technical relevance.

Below SaaS in the stack is PaaS – or Platform as a Service. At this level companies like Google, Amazon, and Microsoft have provided web-based software development environments and basic software infrastructure.

Technologists can use App Engine, Web Service, and Azure to create programs in the cloud that run in the cloud – specifically in this case in Google, Amazon, or Microsoft’s cloud.

If we go even deeper down the stack we come to something called Infrastructure as a Service or IaaS. Amazon plays here too, as does Rackspace and others. They provide hardware and basic operating systems of various flavors for technologists who need complete control over the environment.

Those basic “images” can be virtual (running anywhere in the provider’s infrastructure) or physical (running on specific dedicated servers). Using IaaS, companies can develop very specific, unique applications that aren’t locked in to a provider as is the case with PaaS and SaaS applications.

Clouds on Steroids

As I’ve described, we can develop applications at any layer of the stack that run in the cloud. But for security and/or performance reasons we may choose to limit access to those applications or want to limit the extent to which infrastructure is shared. Cloud computing supports that with the concepts of public, private, and hybrid clouds.

But wait, there’s more.

So far I’ve described the stack, and the three deployment models of cloud computing. And so far I’ve focused only on someone else’s cloud – like Amazon’s, which provides all layers in a very mature way.

We call this off-premise Cloud Computing. But the most flexible, and in some cases the most cost-efficient manner of handling cloud computing technologies is to implement these concepts and technologies in their own datacenter. As you can probably guess, this is called on-premise Cloud Computing.

Summary

The technologies and concepts underling Cloud Computing are far from new. But what is new is how mature virtualization technologies have become over the past decade.

Virtualization has revolutionized the way in which providers bring solutions to market – whether public customer-centric solutions or private solutions for in-house customers. It’s also brought us flexible on-demand access to all layers of the stack through SaaS, PaaS, and IaaS.

It’s an exciting time for web-based companies like Total Attorneys. Technology is blurring the fine line between virtual and physical. We’re riding this wave and using most of the tricks and tools I’ve described above.

That allows us to provide attorneys with the most compelling software and services to run and grow their practices more quickly and more efficiently than ever before.