This article is part of an Essential Guide, our editor-selected collection of our best articles, videos and other content on this topic. Explore more in this guide:
1. - What's happening with cloud apps: Read more in this section
Explore other sections in this guide:
What can we anticipate for the next generation of cloud computing platforms? What features or functionalities are the next-gen platforms likely to offer -- or what are some early contenders offering now?
The nice thing about the cloud computing platforms we have today is that they eliminate the need for companies to own and operate their own hardware.
In the future, we can look forward to virtual servers that can scale hardware automatically based on specific usage.
Unfortunately, you still need to have some knowledge of hardware in order to properly manage your cloud services. Providers today are requiring you to spin up "servers" or "instances" that have specific hardware specifications. They usually have different "bottles" or types of servers with set specifications that you can launch, but, in the end, you still need to know what hardware you need for your systems.
There are automatic systems for scaling your servers up and down, but that capability alone isn't enough. Platform as a Service (PaaS) cloud providers are starting to grow in popularity, but, for now at least, these are typically too restrictive. Most PaaS options still require you to use a specific programming language or a specific set of tools.
The next generation of cloud computing platforms needs to move away from the traditional server model. We're starting to see this with recent PaaS services that offer pieces of services that you need to build your application -- databases, search systems and so on -- but to run applications, often you still need to run servers. This layer should be handled by the cloud provider, not by the developer.
In the future, we can look forward to virtual servers that scale hardware automatically based on specific usage. You shouldn't be required to specify how much CPU power, RAM and so forth that you want on an individual server; instead you should be able to build your application to run on a single virtualized server that can take advantage of expanding CPU, RAM or disk space as needed.
We have seen similar technologies with VMware's "hot migration," but that functionality hasn't yet been migrated to the cloud. With increasing speeds in network technologies, we should see this sort of technology extended to cloud computing platforms within the next few years. That, in turn, will completely eliminate the need to start and stop individual servers.