For most people, the term “cloud platform” is even fuzzier than cloud computing as a whole. Yet, when cloud platforms are properly understood and embraced, they potentially offer the greatest impact over any other aspect of cloud computing.

Cloud platforms can drive down software engineering costs tenfold, reduce time to market, improve profit margins, and lower risks. They can promote higher levels of security and system interoperability, and can allow system integrators to enter into new markets within days, instead of years. They can dramatically lower the skill requirements needed to create new software applications, so that entrepreneurs are empowered to serve their customers, and customers are empowered to serve themselves. In a nutshell, cloud platforms takes cloud computing to the masses.

Let’s start with a simplistic understanding of the term “platform” for computing, and then we will expand our definition to the realm of cloud computing.

A platform generally refers to a “prefab” software architecture upon which you can build computing solutions. It provides core software functionality, which would otherwise need to be engineered from the ground up. Can you imagine building an oven every time you wanted to cook dinner? Probably not. Fortunately, the oven is already built; otherwise your meals would cost $500 each.

Likewise, the cloud needs platforms to do a lot of the grunt work, which otherwise needs to be engineered into every software application from the ground up at great expense. Cloud platforms serve as a launch pad for cloud software, providing “prefab” functionality such as a user interface, user sign up and administration, role-based security, federated search, multi-tenant data management and so on. If you’re asking the question, “What the heck is multi-tenant data management?” then exactly! You’re seeing the point. It’s complicated stuff, and you wouldn’t want to program it to every app. Unfortunately, most cloud developers are not talking full advantage of platforms.

By their very definition, cloud platforms are offered “as a service”, meaning that you can use them over the Internet with no need to ever install, upgrade or host. Cloud platforms are readily distinguished from other platforms, which require installations, uploads, downloads and managed hosting. As-a-service means that cloud platforms are easy to use. More important, if you build cloud software on top of a cloud platform, then your solution is inherently cloud-enabled, taking advantage of underlying cloud infrastructure, elasticity and as-a-service models.

Cloud platforms also may include online tools and APIs that make it easier for developers to build on top of the platform. When choosing a cloud platform, it’s important to make sure that the API is open, allowing for integration with 3rd-party, open source and legacy software and web services, otherwise, you could become overly locked into the platform provider for all your needs. This is referred to as an “open platform” versus “proprietary vendor lock-in.”

Major Benefits of Cloud Platforms

On the surface, it’s easy to think that cloud platforms are for software developers, but it’s the IT buyers who are suffering the most from astronomical software engineering costs and delays.

For IT buyers, investors and developers, the advantages of cloud platforms are tremendous. Creating a cloud application from the ground up is a complex process, involving not just ordinary coding, but also adding a layer of abstraction, and incorporating a far-flung communications layer as well as security protocols. If every SaaS provider had to create each of these things from scratch, then cloud-based application development would be hindered, and limited to only the larger software companies. Cloud platforms address this problem by allowing developers to build cloud applications on top of an existing architecture that includes core functionality. In essence, developers can use platforms to get their software to “80-yard line” without programming, and avoid reinventing the wheel.

The benefits are many:
• Lower costs – In some cases, a cloud platform can reduce costs by 80% or more, because non-core code is already engineered;
• Lower risks – Likewise, a cloud platform can reduce risks by as much, because common functions are already tested, sometimes over a period of years;
• Faster time-to-market – Cloud platforms dramatically reduce time-to-market, because they serve as a launch pad for software engineering efforts;
• Higher profit margins – Software developers and system integration firms can deliver more for substantially less, thus higher margins on fixed price contracts;
• Rapid prototyping – Create and deploy concept applications without writing code;
• Higher security and interoperability – NIST indicates that the cloud suffers from major security issues, largely because vendors are implementing disparate and unproven security models. Cloud platforms provide a common, proven security model. If cloud software uses the platform, then it is inherently secure.

As an added advantage, cloud platforms shield both software engineers and end-users from the behind-the-scenes complexities of the entire cloud. Dan Tapscott, the author of Wikinomics, talks about the growing complexity problem this way: “the Web look[s] increasingly like a traditional librarian’s nightmare — a noisy library full of chatty components that interact and communicate with one another.” He is referring to the cloud as a cluttered hodgepodge of Web apps and services, each with their own logins, data sources and security/resource functions. In the absence of cloud platforms, we are recreating the wheel millions of times over. In a few years, the redundancies will drive up costs by billions within federal IT systems, health-IT systems and other enterprise IT systems that rely on cloud services. All these IT systems will struggle with disparate security models and interoperability concerns.

Unfortunately, cloud platforms remain vastly underutilized. That’s why some enterprise software systems unnecessarily cost millions of dollars and take years to implement, only to eventually fail! The resistance to platforms is sometimes baffling. It’s almost as if the logic is to stick with what we know, even though it doesn’t work. Ironically, some software integrators are creating totally proprietary stovepipes from the ground-up, just to avoid platforms. As a result, IT buyers are paying more than twice as much for their systems, and being locked into developers. Instead, they should be taking advantage of open APIs that are available with some of the more open cloud platforms.

Cloud Platforms as Middleware

It may also help to think of a cloud platform as the middle layer of a three-layer cake, in that it rests between the hardware and the software. Sure, you can remove the middle layer, but in doing so you’re also removing a lot of important “cake” that somebody needs to bake from scratch. In the case of software engineering, that’s some expensive cake. That is to say that software can be built without using cloud platforms, but the costs of doing so can be detrimental; and creates a barrier to entry for all but the largest development shops. You see – platforms actually do a lot more than just provide core functionality for software. They also lower the time and risks of engineering software dramatically because the platform engineers have already worked out the devils in the details on their own dollar.

Platforms also reduce the software footprint and maintenance costs, because the responsibility for maintaining platform code is essentially outsourced to a platform provider, who achieves economies of scale by maintaining one system.

Web software that is created without platforms is considerably more costly. On the other hand, cloud platforms provide core functionality that dramatically reduces time, risk and development costs.

Types of Platforms

Cloud platforms come in many shapes and sizes, depending on the application at hand. Arguably, Google is currently dominating the consumer app platform, whereas Facebook is dominating the social networking platform, and Salesforce.com is trying to make a footprint as an enterprise software platform. Several other players, Yahoo included, offer ecommerce platforms, which have driven down the time, risk and cost of ecommerce solutions.
The term “platform” as it relates to cloud computing is often misused to refer to customizable software. Software that can be customized is simply that: customizable software. Similarly, cloud infrastructure vendors sometimes promote their products inaccurately as platforms.  A platform, on the other hand, is something entirely different. A cloud platform rests between the physical infrastructure and customizable software.
Enterprise Platforms

Of all types of platforms, enterprise business platforms may provide the greatest value in the near future, simply because enterprise business systems are extremely expensive – sometimes costing $10s of millions to engineer. By enterprise business system, we’re referring to the types of scalable multi-user / multi-tenant cloud-enabled software that government agencies and Fortune 500 companies spend millions on, sometimes without blinking an eye. For enterprise business systems, platforms offer such great benefit only because the engineering costs are otherwise so high, sometimes representing more than 95% of the total cost of ownership.

Significance of Platforms

In the future, cloud platforms will make the cloud easier to use. To fully understand the significance of cloud platforms, we need simply look at the evolution of earlier computing models.  Can you imagine a world without desktop operating systems? We, the authors of this book, don’t need to imagine. We were there.

In the early days, PCs were hard to use; and security was terrible because every software program implemented its own way of doing the same things. The early PCs were only usable by an elite community of hacker geeks or well-funded NASA engineers. They were expensive to program, because old-time developers would author hundreds of lines of source code just to move a mouse or paint lines on a screen.

Then came operating systems like Microsoft Windows and toolkits like VisiCalc.  All of a sudden, anyone could use a PC. Secretaries were creating spreadsheets for their bosses. The mouse moved automatically, as if by magic. Inasmuch as some techies might knock Microsoft, their Windows platform indisputably changed personal computing. Think about it – for about $100, you get tens of millions of lines of code, which handle thousands of things that we take for granted, and which would otherwise need to be painstakingly engineered the into every software application at the cost of millions of dollars and years of development time. These days, no one in their right mind would remotely consider writing a software application directly to a PC without using some sort of platform, yet that’s exactly what Web developers are doing each and every day!
The cloud platform is evolving in many of the same ways as desktop computing. Cloud platforms are helping to bring cloud software to the masses. As the cloud increases in its complexity, the role of platforms is becoming more important.

Cloud Platforms are like Operating Systems for the Cloud

We tend to think of an operating system as a behind-the-scenes technology that manages resources, and that’s true. But in fact, they do much more than that. There is a major user-facing element to an operating system. Windows, for example, makes the underlying infrastructure easier to use. It provides a common user interface, a common security model, and shields users from all of those behind-the-scenes complexities.

A cloud platform works the same way. The platform implements a virtual instance of a core set of functionality, with common features such as user signup, security, reporting, and so forth. The platform will then allow developers to build on top of that instance to customize it for their specific needs, and to additionally build features on top of the platform without programming, such as creation of forms, data entry collection, report writing, etc. As a result, users can log into one place and experience an integrated solution, where they do whatever they do.

Leave a Reply

Categories
Links: