It’s difficult to define what the "Cloud of Tomorrow" will look like because of all the changes happening in the IT industry – changes to fundamental application architecture, service models and interactions between components. The cloud continues to disrupt IT in new ways so predicting tomorrow is a perpetual moving target.
Understanding that, a clearer picture of the future of the cloud might be gleaned by looking at the current offerings and identifying how they should change to accelerate the cloud market.
It’s important to recognise why the cloud is different and what – from a technical standpoint – drives its disruption.
- Independent architecture: Historically, enterprises select technologies, partners and vendors and then integrate these (mostly) different elements to form an IT solution. With cloud services, businesses aren’t decision-makers anymore. The cloud provider makes all of the decisions about the infrastructure and how it can be configured and managed.
- Multi-tenant infrastructure: Public clouds are inevitably multi-tenant. This is how a cost-effective and scalable architecture is built and it has profound effects on the behavior and capabilities of the infrastructure, and ultimately the user applications.
- Different control models: When a business designs and manages its own infrastructure, it leverages familiar tools, expertise and technology controls. Internal experts in each and every layer of the infrastructure – from servers and storage arrays to network switches, routers or firewalls – are leveraged to manage and monitor this complex stack. In a cloud, almost all of this work has moved to the cloud provider and the "consumer" interaction changes to the controls that the cloud provider exposes instead of those familiar controls from internal infrastructure.
These differences are forcing enterprises to change their cloud use habits as well as limiting functionality and what can be done within the cloud. The applications and services that have already made the jump to cloud have most often been web-based applications specifically designed to work in the cloud. Of course, there are many applications that have not made the transition – these are mostly enterprise applications such as CRM, ERP, B2D, SCM (and just about any other three letters you choose to combine). They are "the hard stuff" that makes a business run.
They are also deemed difficult because they are restricted by the limitations imposed by cloud architecture. This leaves two choices – change the applications or change the cloud. As in the technology industry, all things evolve and these applications will eventually be "re-written" or discarded as newer ones are developed. However, there is an opportunity to change the clouds so that they do more allowing us not to wait for the evolution of applications.
What do we have to do to make the cloud better for tomorrow?
- Security: This is often a two-fold problem as there are different measures taken to protect both the servers and the data.
- Network protection: We have spent many hours protecting data centre perimeters, while allowing applications to communicate to one another within the data centre. With cloud, the developer or the cloud service provider is responsible for protecting the server. Future cloud offerings should provide isolation that is similar to traditional IT environments. At the same time, the cloud should provide strong protections coupled with policies that can be applied across the whole organisation – freeing developers from this responsibility.
- Data protection: Several cloud providers have given data protection special attention and developed policies to control access to information. The cloud should provide more data protection services like user controlled encryption functions to provide customisable methods of protecting customer data independent of the cloud providers.
- Management: The elements that compose a virtual infrastructure are different and how the IT staff interacts with those infrastructure tools and components are varied. Today, cloud management is complicated because the systems and applications must account for each different deployment environment. The next cloud evolution needs to provide enough control so that the user can match the various environments and eliminate the need for additional translations and conversions.
- Maintenance: The number of pieces that make up an IT solution is extremely challenging and time-consuming for cloud users due to the various dependencies of each element. In a typical IT model, when security vulnerabilities are discovered, a security patch is usually a good solution. In a cloud environment, it’s critical that the rest of the components are taken into consideration to ensure the new security patch does not affect other functionality. When other functionality is affected, most cloud solutions require the addition of agents, scripts, or device drivers to carry out control of the cloud environment – driving up cost. This creates a huge number of new dependencies and interactions complicating maintenance of the deployed applications. Going forward, cloud providers need to simplify the management process to assure systems stay up while costs stay down.
- Performance: Performance is absolutely critical. Security has traditionally been the top concern of companies considering cloud deployments, but increasingly performance is overtaking it. It’s extremely difficult to manage and predict performance in current cloud offerings but several cloud providers have developed a series of procedures that help control performance issues through careful provisioning and a strong infrastructure. The major hurdle is overcoming the multi-tenancy effect. Future offerings need to address performance as a fundamental goal. The cloud of tomorrow will treat performance as a critical function by allowing the users to select the level of performance they need for their applications.
If we don’t just accept the limitations that have been built into the cloud today, we will see many more cloud-based applications. By enabling more traditional workloads to join the cloud revolution we don’t just enable the "old," but we provide greater controls and capabilities to build even more amazing cloud applications. We must change the cloud in order to make things easier for the users and not force users to adapt to the cloud. The only question that remains is who will be the first to bring powerful, yet simple, answers to the cloud space?