Welcome!

Microservices Expo Authors: Pat Romanski, Jason Bloomberg, Automic Blog, Elizabeth White, Harry Trott

Related Topics: @CloudExpo, Java IoT, Microservices Expo, Containers Expo Blog, Machine Learning , Agile Computing

@CloudExpo: Article

PaaS Is What Drives the Cloud

The cloud is quickly evolving in ways that are similar to desktop computing of the 1980s

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
From a purist's perspective, operating systems are defined as software that manages computing resources, and that's exactly what PaaS is doing for 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
There was a time when there were no operating systems. PCs were difficult to use. Security was terrible, because every software program had its own way of doing things. Those early PCs were usable, but only barely, and only by a small community of uber-geeks. It took hundreds of lines of source code to accomplish a simple task. In the post-Windows world, things changed and the world of computers became democratized. Forty years ago, who would have imagined that pre-schoolers would be using computers today? With the advent of the graphical user interface and the operating system calling the shots behind the scenes, non-tech users were suddenly able to use computers to accomplish complex tasks. The OS contains millions of lines of code, handling things we now take for granted, but in those early days would have had to have been engineered at a cost of millions of dollars. Can you imagine writing a software application without an operating system platform to support it? It would be an exercise in futility. Yet, web developers are still bypassing the cloud platform - the operating system for the cloud - on a regular basis, and spending countless unnecessary hours and dollars in development and deployment.

What Cloud Platforms Do for You
A standardized, recognizable user interface, combined with common security and support features, has assured for decades that computers are speaking the same language. The standardization and stratification afforded by operating systems led to the capability of computers to be efficiently and effectively connected.

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
Not everyone needs to be a blacksmith. Most of us wouldn't have a clue if we had to create a padlock out of forged steel, or put together the door locking mechanism of an automobile. Yet far too many companies are still taking that approach with application development. Take hardware and software security as an example. Even within the cloud, many providers have approached security as an afterthought to be considered after everything else, or worse, implementing their own proprietary security approaches. It was this early lack of uniform security that caused concerns over the security of the cloud.

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
Like any OS, the cloud platform drives down development costs, reduces time-to-market, improves profit margins, lowers risks, and improves security and interoperability. It lowers the skill requirements needed for most tasks. Ultimately, the cloud platform - whether you use one as an end user or not - is what makes cloud computing available to everyone, and that's the real power of the cloud.

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?
We've talked about how cloud platforms offer a lot of common core functionality, but they do a lot more than that. They can also reduce the software footprint and maintenance costs - since responsibility for maintaining platform code is the responsibility of the platform provider.

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.

1980

2015

PC

Cloud

Software in a Box

Software as a Service

Operating Systems

Platform as a Service

Hard drives

Infrastructure as a Service

More Stories By Cary Landis

Cary Landis owns and operates Virtual Global, Inc., where he currently serves as lead architect for the SaaS Maker™ cloud platform. In the past, Cary has engineered nationally-deployed software systems for federal agencies, including the US Department of Health and Human Services (HHS) / Food and Drug Administration (FDA), National Institute of Standards and Technology (NIST) and NASA. He also co-founded KeyLogic Systems. Cary currently resides in Morgantown, WV.

Comments (0)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.


@MicroservicesExpo Stories
As many know, the first generation of Cloud Management Platform (CMP) solutions were designed for managing virtual infrastructure (IaaS) and traditional applications. But that’s no longer enough to satisfy evolving and complex business requirements. In his session at 21st Cloud Expo, Scott Davis, Embotics CTO, will explore how next-generation CMPs ensure organizations can manage cloud-native and microservice-based application architectures, while also facilitating agile DevOps methodology. He wi...
As today's digital disruptions bounce and smash their way through conventional technologies and conventional wisdom alike, predicting their path is a multifaceted challenge. So many areas of technology advance on Moore's Law-like exponential curves that divining the future is fraught with danger. Such is the problem with artificial intelligence (AI), and its related concepts, including cognitive computing, machine learning, and deep learning.
Docker is on a roll. In the last few years, this container management service has become immensely popular in development, especially given the great fit with agile-based projects and continuous delivery. In this article, I want to take a brief look at how you can use Docker to accelerate and streamline the software development lifecycle (SDLC) process.
While some vendors scramble to create and sell you a fancy solution for monitoring your spanking new Amazon Lambdas, hear how you can do it on the cheap using just built-in Java APIs yourself. By exploiting a little-known fact that Lambdas aren’t exactly single-threaded, you can effectively identify hot spots in your serverless code. In his session at @DevOpsSummit at 21st Cloud Expo, Dave Martin, Product owner at CA Technologies, will give a live demonstration and code walkthrough, showing how ...
Cloud adoption is often driven by a desire to increase efficiency, boost agility and save money. All too often, however, the reality involves unpredictable cost spikes and lack of oversight due to resource limitations. In his session at 20th Cloud Expo, Joe Kinsella, CTO and Founder of CloudHealth Technologies, tackled the question: “How do you build a fully optimized cloud?” He will examine: Why TCO is critical to achieving cloud success – and why attendees should be thinking holistically ab...
There are several reasons why businesses migrate their operations to the cloud. Scalability and price are among the most important factors determining this transition. Unlike legacy systems, cloud based businesses can scale on demand. The database and applications in the cloud are not rendered simply from one server located in your headquarters, but is instead distributed across several servers across the world. Such CDNs also bring about greater control in times of uncertainty. A database hack ...
Did you know that you can develop for mainframes in Java? Or that the testing and deployment can be automated across mobile to mainframe? In his session and demo at @DevOpsSummit at 21st Cloud Expo, Dana Boudreau, a Senior Director at CA Technologies, will discuss how increasingly teams are developing with agile methodologies, using modern development environments, and automating testing and deployments, mobile to mainframe.
As DevOps methodologies expand their reach across the enterprise, organizations face the daunting challenge of adapting related cloud strategies to ensure optimal alignment, from managing complexity to ensuring proper governance. How can culture, automation, legacy apps and even budget be reexamined to enable this ongoing shift within the modern software factory?
With Cloud Foundry you can easily deploy and use apps utilizing websocket technology, but not everybody realizes that scaling them out is not that trivial. In his session at 21st Cloud Expo, Roman Swoszowski, CTO and VP, Cloud Foundry Services, at Grape Up, will show you an example of how to deal with this issue. He will demonstrate a cloud-native Spring Boot app running in Cloud Foundry and communicating with clients over websocket protocol that can be easily scaled horizontally and coordinate...
@DevOpsSummit at Cloud Expo taking place Oct 31 - Nov 2, 2017, at the Santa Clara Convention Center, Santa Clara, CA, is co-located with the 21st International Cloud Expo and will feature technical sessions from a rock star conference faculty and the leading industry players in the world. The widespread success of cloud computing is driving the DevOps revolution in enterprise IT. Now as never before, development teams must communicate and collaborate in a dynamic, 24/7/365 environment. There is ...
If you cannot explicitly articulate how investing in a new technology, changing the approach or re-engineering the business process will help you achieve your customer-centric vision of the future in direct and measurable ways, you probably shouldn’t be doing it. At Intellyx, we spend a lot of time talking to technology vendors. In our conversations, we explore emerging new technologies that are either disrupting the way enterprise organizations work or that help enable those organizations to co...
DevOps at Cloud Expo, taking place October 31 - November 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA, is co-located with 21st Cloud Expo and will feature technical sessions from a rock star conference faculty and the leading industry players in the world. The widespread success of cloud computing is driving the DevOps revolution in enterprise IT. Now as never before, development teams must communicate and collaborate in a dynamic, 24/7/365 environment. There is no time to w...
In his session at 20th Cloud Expo, Scott Davis, CTO of Embotics, discussed how automation can provide the dynamic management required to cost-effectively deliver microservices and container solutions at scale. He also discussed how flexible automation is the key to effectively bridging and seamlessly coordinating both IT and developer needs for component orchestration across disparate clouds – an increasingly important requirement at today’s multi-cloud enterprise.
We define Hybrid IT as a management approach in which organizations create a workload-centric and value-driven integrated technology stack that may include legacy infrastructure, web-scale architectures, private cloud implementations along with public cloud platforms ranging from Infrastructure-as-a-Service to Software-as-a-Service.
IT organizations are moving to the cloud in hopes to approve efficiency, increase agility and save money. Migrating workloads might seem like a simple task, but what many businesses don’t realize is that application migration criteria differs across organizations, making it difficult for architects to arrive at an accurate TCO number. In his session at 21st Cloud Expo, Joe Kinsella, CTO of CloudHealth Technologies, will offer a systematic approach to understanding the TCO of a cloud application...
API Security has finally entered our security zeitgeist. OWASP Top 10 2017 - RC1 recognized API Security as a first class citizen by adding it as number 10, or A-10 on its list of web application vulnerabilities. We believe this is just the start. The attack surface area offered by API is orders or magnitude larger than any other attack surface area. Consider the fact the APIs expose cloud services, internal databases, application and even legacy mainframes over the internet. What could go wrong...
The goal of Continuous Testing is to shift testing left to find defects earlier and release software faster. This can be achieved by integrating a set of open source functional and performance testing tools in the early stages of your software delivery lifecycle. There is one process that binds all application delivery stages together into one well-orchestrated machine: Continuous Testing. Continuous Testing is the conveyer belt between the Software Factory and production stages. Artifacts are m...
In IT, we sometimes coin terms for things before we know exactly what they are and how they’ll be used. The resulting terms may capture a common set of aspirations and goals – as “cloud” did broadly for on-demand, self-service, and flexible computing. But such a term can also lump together diverse and even competing practices, technologies, and priorities to the point where important distinctions are glossed over and lost.
Most companies are adopting or evaluating container technology - Docker in particular - to speed up application deployment, drive down cost, ease management and make application delivery more flexible overall. As with most new architectures, this dream takes a lot of work to become a reality. Even when you do get your application componentized enough and packaged properly, there are still challenges for DevOps teams to making the shift to continuous delivery and achieving that reduction in cost ...
Enterprise architects are increasingly adopting multi-cloud strategies as they seek to utilize existing data center assets, leverage the advantages of cloud computing and avoid cloud vendor lock-in. This requires a globally aware traffic management strategy that can monitor infrastructure health across data centers and end-user experience globally, while responding to control changes and system specification at the speed of today’s DevOps teams. In his session at 20th Cloud Expo, Josh Gray, Chie...