|By Cary Landis||
|December 28, 2012 02:00 PM EST||
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.
Software in a Box
Software as a Service
Platform as a Service
Infrastructure as a Service
Manufacturing has widely adopted standardized and automated processes to create designs, build them, and maintain them through their life cycle. However, many modern manufacturing systems go beyond mechanized workflows to introduce empowered workers, flexible collaboration, and rapid iteration. Such behaviors also characterize open source software development and are at the heart of DevOps culture, processes, and tooling.
Jul. 2, 2015 12:15 PM EDT Reads: 511
SYS-CON Events announced today that JFrog, maker of Artifactory, the popular Binary Repository Manager, will exhibit at SYS-CON's @DevOpsSummit Silicon Valley, which will take place on November 3–5, 2015, at the Santa Clara Convention Center in Santa Clara, CA. Based in California, Israel and France, founded by longtime field-experts, JFrog, creator of Artifactory and Bintray, has provided the market with the first Binary Repository solution and a software distribution social platform.
Jul. 2, 2015 11:30 AM EDT Reads: 1,116
Conferences agendas. Event navigation. Specific tasks, like buying a house or getting a car loan. If you've installed an app for any of these things you've installed what's known as a "disposable mobile app" or DMA. Apps designed for a single use-case and with the expectation they'll be "thrown away" like brochures. Deleted until needed again. These apps are necessarily small, agile and highly volatile. Sometimes existing only for a short time - say to support an event like an election, the Wor...
Jul. 2, 2015 11:00 AM EDT Reads: 1,751
The cloud has transformed how we think about software quality. Instead of preventing failures, we must focus on automatic recovery from failure. In other words, resilience trumps traditional quality measures. Continuous delivery models further squeeze traditional notions of quality. Remember the venerable project management Iron Triangle? Among time, scope, and cost, you can only fix two or quality will suffer. Only in today's DevOps world, continuous testing, integration, and deployment upend...
Jul. 2, 2015 11:00 AM EDT Reads: 2,088
Sharding has become a popular means of achieving scalability in application architectures in which read/write data separation is not only possible, but desirable to achieve new heights of concurrency. The premise is that by splitting up read and write duties, it is possible to get better overall performance at the cost of a slight delay in consistency. That is, it takes a bit of time to replicate changes initiated by a "write" to the read-only master database. It's eventually consistent, and it'...
Jul. 2, 2015 10:15 AM EDT Reads: 1,741
"Plutora provides release and testing environment capabilities to the enterprise," explained Dalibor Siroky, Director and Co-founder of Plutora, in this SYS-CON.tv interview at @DevOpsSummit, held June 9-11, 2015, at the Javits Center in New York City.
Jul. 2, 2015 10:00 AM EDT Reads: 1,098
The most often asked question post-DevOps introduction is: “How do I get started?” There’s plenty of information on why DevOps is valid and important, but many managers still struggle with simple basics for how to initiate a DevOps program in their business. They struggle with issues related to current organizational inertia, the lack of experience on Continuous Integration/Delivery, understanding where DevOps will affect revenue and budget, etc. In their session at DevOps Summit, JP Morgenthal...
Jul. 2, 2015 10:00 AM EDT Reads: 753
Explosive growth in connected devices. Enormous amounts of data for collection and analysis. Critical use of data for split-second decision making and actionable information. All three are factors in making the Internet of Things a reality. Yet, any one factor would have an IT organization pondering its infrastructure strategy. How should your organization enhance its IT framework to enable an Internet of Things implementation? In his session at @ThingsExpo, James Kirkland, Red Hat's Chief Arch...
Jul. 2, 2015 09:30 AM EDT Reads: 799
Data center models are changing. A variety of technical trends and business demands are forcing that change, most of them centered on the explosive growth of applications. That means, in turn, that the requirements for application delivery are changing. Certainly application delivery needs to be agile, not waterfall. It needs to deliver services in hours, not weeks or months. It needs to be more cost efficient. And more than anything else, it needs to be really, dc infra axisreally, super focus...
Jul. 2, 2015 09:15 AM EDT Reads: 2,014
Discussions about cloud computing are evolving into discussions about enterprise IT in general. As enterprises increasingly migrate toward their own unique clouds, new issues such as the use of containers and microservices emerge to keep things interesting. In this Power Panel at 16th Cloud Expo, moderated by Conference Chair Roger Strukhoff, panelists addressed the state of cloud computing today, and what enterprise IT professionals need to know about how the latest topics and trends affect t...
Jul. 2, 2015 08:00 AM EDT Reads: 1,237
DevOps tends to focus on the relationship between Dev and Ops, putting an emphasis on the ops and application infrastructure. But that’s changing with microservices architectures. In her session at DevOps Summit, Lori MacVittie, Evangelist for F5 Networks, will focus on how microservices are changing the underlying architectures needed to scale, secure and deliver applications based on highly distributed (micro) services and why that means an expansion into “the network” for DevOps.
Jul. 2, 2015 07:45 AM EDT Reads: 2,592
Containers are changing the security landscape for software development and deployment. As with any security solutions, security approaches that work for developers, operations personnel and security professionals is a requirement. In his session at DevOps Summit, Kevin Gilpin, CTO and Co-Founder of Conjur, will discuss various security considerations for container-based infrastructure and related DevOps workflows.
Jul. 2, 2015 07:30 AM EDT Reads: 1,111
Containers have changed the mind of IT in DevOps. They enable developers to work with dev, test, stage and production environments identically. Containers provide the right abstraction for microservices and many cloud platforms have integrated them into deployment pipelines. DevOps and Containers together help companies to achieve their business goals faster and more effectively. In his session at DevOps Summit, Ruslan Synytsky, CEO and Co-founder of Jelastic, reviewed the current landscape of...
Jul. 1, 2015 05:00 PM EDT Reads: 2,241
Summer is finally here and it’s time for a DevOps summer vacation. From San Francisco to New York City, our top summer conferences list is going to continuously deliver you to the summer destinations of your dreams. These DevOps parties are hitting all the hottest summer trends with Microservices, Agile, Continuous Delivery, DevSecOps, and even Continuous Testing. Move over Kanye. These are the top 5 Summer DevOps Conferences of 2015.
Jul. 1, 2015 01:00 PM EDT Reads: 1,072
Cloud Migration Management (CMM) refers to the best practices for planning and managing migration of IT systems from a legacy platform to a Cloud Provider through a combination professional services consulting and software tools. A Cloud migration project can be a relatively simple exercise, where applications are migrated ‘as is’, to gain benefits such as elastic capacity and utility pricing, but without making any changes to the application architecture, software development methods or busine...
Jul. 1, 2015 10:00 AM EDT Reads: 1,933
Overgrown applications have given way to modular applications, driven by the need to break larger problems into smaller problems. Similarly large monolithic development processes have been forced to be broken into smaller agile development cycles. Looking at trends in software development, microservices architectures meet the same demands. Additional benefits of microservices architectures are compartmentalization and a limited impact of service failure versus a complete software malfunction. ...
Jul. 1, 2015 09:00 AM EDT Reads: 915
Many people recognize DevOps as an enormous benefit – faster application deployment, automated toolchains, support of more granular updates, better cooperation across groups. However, less appreciated is the journey enterprise IT groups need to make to achieve this outcome. The plain fact is that established IT processes reflect a very different set of goals: stability, infrequent change, hands-on administration, and alignment with ITIL. So how does an enterprise IT organization implement change...
Jun. 29, 2015 12:45 PM EDT Reads: 2,829
While DevOps most critically and famously fosters collaboration, communication, and integration through cultural change, culture is more of an output than an input. In order to actively drive cultural evolution, organizations must make substantial organizational and process changes, and adopt new technologies, to encourage a DevOps culture. Moderated by Andi Mann, panelists discussed how to balance these three pillars of DevOps, where to focus attention (and resources), where organizations migh...
Jun. 28, 2015 05:00 PM EDT Reads: 2,056
At DevOps Summit NY there’s been a whole lot of talk about not just DevOps, but containers, IoT, and microservices. Sessions focused not just on the cultural shift needed to grow at scale with a DevOps approach, but also made sure to include the network ”plumbing” needed to ensure success as applications decompose into the microservice architectures enabling rapid growth and support for the Internet of (Every)Things.
Jun. 28, 2015 01:00 PM EDT Reads: 1,925
Mashape is bringing real-time analytics to microservices with the release of Mashape Analytics. First built internally to analyze the performance of more than 13,000 APIs served by the mashape.com marketplace, this new tool provides developers with robust visibility into their APIs and how they function within microservices. A purpose-built, open analytics platform designed specifically for APIs and microservices architectures, Mashape Analytics also lets developers and DevOps teams understand w...
Jun. 27, 2015 11:00 AM EDT Reads: 1,960