Today's Top SOA Links
Enterprise Cloud Computing
PaaS Is What Drives the Cloud
The cloud is quickly evolving in ways that are similar to desktop computing of the 1980s
By: Cary Landis
Dec. 28, 2012 02:00 PM
Cloud computing and platform-as-a-service (PaaS) may seem like something only for the IT guys to get excited about, but the ultimate benefit is accruing to ordinary users. While most day-to-day non-tech folks don't understand the inner workings of PaaS (nor should they have to), this disruptive system is bringing in changes that are on the same scale as the early shift from command-line to GUI.
In the 1996 documentary, "Triumph of the Nerds," Steve Jobs described his early vision to take the desktop to the masses: "It was very clear to me that while there were a bunch of hardware hobbyists that could assemble their own computers... for every one of those, there were a thousand people that couldn't do that, but wanted to mess around with programming - software hobbyists." Steve Jobs was a visionary. He knew that his computer needed a graphical, easy-to-use operating system so that millions of non-tech people could use it. Then, operating systems offered by Apple and Microsoft, and easy-to-use tools like VisiCalc and later MS Access brought personal computing to the masses.
The cloud is quickly evolving in ways that are similar to desktop computing of the 1980s. As PaaS tools emerge, they're quickly transforming the cloud into a true computing platform... one in which anyone can participate who has a good idea and basic computing skills. In the same way the early graphical operating system brought computing to ordinary people, cloud computing is already moving towards a level of democratization and pervasiveness that is having a dramatic impact on how people work. Just as PCs were once seen as something "with potential" but nonetheless only used by a handful of "hobbyists" as Jobs put it, cloud computing is seeing the same revolution. Just like prior computing platforms, the cloud needs an operating system to make it more useable and approachable by the masses. In cloud jargon, PaaS will soon be the operating system for the cloud.
Getting Under the Hood of the Cloud
These days, it's difficult to imagine the desktop PC without operating systems. The OS is what makes the PC easy to use, and without it we'd all be still using cardboard punchcards. It just makes the underlying infrastructure more approachable by providing a common user interface and common security model, and by shielding users from all of the behind-the-scenes complexities that make computers do what they do. Inasmuch as some people may scoff at PC operating systems, they're an incredible bargain. Where else can we buy millions of lines of code for a couple hundred dollars? Operating systems make computing possible because they make computers easier for everyone to use.
The same is true for PaaS. Whether we're talking about a desktop operating systems or PaaS, many things remain the same across both paradigms. They are both designed to shield developers and other users from under-the-hood complexities of managing complex infrastructure. They both help developers build and deploy applications faster. They both serve as the middle layer of the "three layer cake" that rests between software applications and the underlying infrastructure. They both make it easier to run and monitor software applications. They both give users a Graphical User Interface (GUI) and shared visual experience across applications. They both make computing easier for everyone.
Regardless of how similar, cloud platforms may also be a lot more complex than their desktop OS predecessors. The cloud is more than a single computer, and even more than a collection of computers. The cloud is at its best with multiple users sharing resources that are provisioned and deprovisioned on the fly. The cloud needs to deal with special security challenges. The applications may be spread across thousands of web services that need to be served as an integrated experience. So, speaking of an operating system for the cloud requires a broader philosophical discussion.
I Don't Want to Live in a World Without OSes
What Cloud Platforms Do for You
The operating system is a big part of the conversation when it comes to PCs, laptops, and smartphones, but when it comes to the cloud, the operating system conversation gets a bit...cloudy. What is the operating system for the cloud? Individual components - the servers on the back end - each have an OS, but the servers themselves are not the whole cloud. At a more abstract level, it's PaaS that serves the operating system role when considering the cloud as a whole.
If you're developing an app for Microsoft Windows, you can count on the OS to transparently handle routine things like getting the mouse to move, connecting to the printer, or common features such as copy/paste or search. Cloud platforms work the same way, implementing a core set of functions with common features (such as user signup, security, reporting, etc.). Developers then use that to build on top of that instance, customize it, and build features on top such as form creations, data entry, or report writing, without complex programming.
The National Institute of Standards and Technology (NIST) defines PaaS as:
"The capability provided to the consumer is to deploy onto the cloud infrastructure consumer-created or acquired applications created using programming languages and tools supported by the provider. The consumer does not manage or control the underlying cloud infrastructure including network, servers, operating systems, or storage, but has control over the deployed applications and possibly application hosting environment configurations."
In short, what the NIST definition says, is that PaaS allows users to gain access to a set of services for accomplishing a variety of tasks by providing a layer of abstraction over things like scaling, storage, and management - and is therefore very much like an operating system.
Obviously, the cloud has a physical layer, with cloud data centers running multiple computers that may be based on Windows, UNIX, Linux, or any one of several other true operating systems; but if we think on a grander scale and take the cloud as a single, large entity, Windows and UNIX isn't really what drives it.
PaaS is one of the centerpieces of the cloud revolution. Just as with the operating system in traditional computing, PaaS gives users a standardized infrastructure and common security, signup, reporting, and countless other features and functions. Though it is not exactly the same thing as an operating system, and is in fact much simpler, Cloud Platform is the logical replacement for OS as we enter the cloud era.
Imagine Having to Forge Your Own Padlock
However, these concerns need not be an issue. Windows, Linux, OS X, and most every operating system has built-in security mechanisms. Cloud platforms by their nature impose common software elements, which are used by developers as a type of "bolt on" functionality so that they do not have to write them from scratch - and more importantly, to add a level of maturity to the final application.
This bolt-on approach of cloud platforms is what ultimately solved the security concerns many companies had over the cloud. PaaS imposes a standard, tested security model for managing things like authentication and authorization, role-based access, multi-tenancy, and policies. As a result, any SaaS application running on top of this platform immediately benefits from that built-in security, in the same way that Windows, UNIX and OS X users benefit from the proven security built into those systems.
From Punchcards, to Command Line, to Modern Day
Cloud platforms, like operating systems, have evolved and today we're seeing two different types of PaaS that are as different as command-line DOS and Microsoft Windows 8. Like early command-line MS-DOS, the first cloud platforms were fairly basic and limited in scope, providing mostly auto-scaling and runtime services that made it easier to deploy and scale software for large numbers of users over the cloud. These systems made it possible to add features such as performance monitoring, scaling, provisioning VMs, and load-balancing, without having to re-invent the wheel each time. These types of platforms do offer useful functions, but stop short of helping to create code and applications.
As operating systems have moved from being less like crossing the wilderness in a covered wagon and more like crossing the Universe in Captain Kirk's Enterprise starship, cloud platforms are starting to see a similar shift. A true cloud platform takes on more of an end-to-end approach. Going far beyond the basic auto-scaling and runtime services of the first cloud platforms, today's Cloud Platforms are true software development platforms that start with hosting and deployment, and move all the way to development with a hosted toolset with built-in cloud functionality. It provides tools for building and deploying software on the cloud. In the true spirit of operating system functionality, this type of cloud platform provides for push-button deployment with no server-side configuration required, and the platform itself is in the cloud so that there is no need for downloading to, or uploading from a desktop environment to access its functionality.
Who Benefits from the Cloud?
Cloud platforms are still dramatically underutilized, despite their enormous potential and power. Enterprise systems are still costing multiple millions of dollars, often taking years to implement, and experiencing a high failure rate - even though a cloud platform would easily bypass many of these troublesome problems and roadblocks. Some developers still create proprietary, stovepiped applications and functions at great expense, often causing IT buyers to pay substantially more than necessary, and experience lock-in.
This resistance is curious and unnecessary. Some of the more open cloud platforms offer open APIs as well, which allow for even greater flexibility and openness.
Early operating systems were monstrous beasts, hard to understand, and ordinary people never approached using their full functionality. Modern operating systems on the other hand, are geared towards making things easier for end users, not engineers. This is exactly the case with the cloud platform. Software developers can, of course, make excellent use of a cloud platform, but ordinary IT users who are not skilled programmers also make use of the cloud by having a platform for easily and quickly creating useful applications, proof-of-concepts, and prototypes, often without having to involve the IT department and without any programming at all; while easily incorporating all of that built-in core functionality.
The cloud has become the computing platform of the future. There is a popular quote attributed to Thomas Watson, founder of IBM: "I think there is a world market for maybe five computers." That quote assumed that computers were only for the very largest customers. We've come a long way since that speculation, and the general trend has been to move computing into the hands of everybody from big business users all the way down to preschool children. Cloud computing continues that trend by bringing greater levels of access to high-end applications and data storage, as well as new techniques for collaboration, to even the smallest mom 'n pop businesses, telecommuters, and independent work-at-home contractors.
Mr. Watson got many things right and to his credit once again, what if his quote was saner than it once sounded? The term "cloud" refers to the computing power that is available across the Internet. In a sense, the cloud is rapidly transforming a worldwide network of computers into the largest single [virtual] computer in the world. And even more, PaaS is quickly becoming the operating system for Mr. Watson's futuristic computer.
Reader Feedback: Page 1 of 1
Subscribe to the World's Most Powerful Newsletters
Subscribe to Our Rss Feeds & Get Your SYS-CON News Live!
SYS-CON Featured Whitepapers
Most Read This Week