Evolving Infrastructure in the Cloud

It’s no longer a question of if we will run apps in the Cloud, but rather when?

Just two or three years ago we were all looking at the Cloud in terms of the future and a model for hosting our next generation of apps. In this short space of time, Cloud-based technologies have matured and evolved into very useable strategies and we are actively seeking them out.
This accelerated rate of change has been brought about by a number of converging factors:

  • 10 years ago AWS was ploughing a lonely furrow; today, all of the major colocation providers like Rackspace have now started competing with them for different flavours of Public Cloud services
  • Services have matured and you can now buy PaaS (Platform as a Service) as well as IaaS (Infrastructure as a Service) as demonstrated in Microsoft’s Azure focus
  • Specialist datacenter and infrastructure suppliers offering Private Cloud installations are emerging at an violent rate, with OpenStack at the center of next generation of Cloud operating platforms
  • All the most common existing technologies can be bought in the cloud: WordPress, MySQL, SQL Server, Office, Exchange, etc.
  • The technologies that run the Cloud have developed to the point where you needn’t be a complete geek to understand and take advantage of them — you still may need a geek to operate them but that is changing too

Looking back at the early adopters and trends that moved us towards using the Cloud

The first Cloud launches were Internet startups offering true SaaS (Software as a Service) like Salesforce.com. Trendsetters were soon taking advantage of the Public Cloud IaaS offered primarily by Amazon Web Services (AWS). Load balancing, security and deployment services from Amazon, Google and Microsoft allowed vendors to operate at a cost that grew with their business model — expandable, pay-as-you-go service.
These cloud developers have shown us a new way to scale and protect our software. Their original LAMP and Python-based approach was simple. Initially, many of us questioned it’s integrity but once we became aware that this meant new features get to market quicker and less overhead is expended on Enterprise architecture, we start to improve the weaknesses. Now we are all building RESTful APIs, NoSQL databases, ElasticSearch features, all using load balancers and virtual images that start and stop servers on a demand driven basis.
While this was all emerging, the rest of us were progressing our own roadmaps with implementation of virtualization and more flexible ways of managing our Enterprise systems. This has driven an immediate demand for Private Cloud as traditional Enterprise IT strategies now look to outsource these systems in order to drive down costs.
So, hands up if you’re already in an organization that is using infrastructure in the Cloud or has serious, imminent plans for this. Hands up if your software vendors are trying to persuade you to upgrade to a Cloud-based model of their app.
If your hand stayed down, you are probably in a very lonely spot right now.

Cloud computing is now safer and easier to use thanks to the service-based models

If you were worried about security then the answers are there already. Protection of data and apps within Public and Private Cloud environments is at least as good as we could every manage in our own traditional datacenter. There are encryption, firewall, logging and virtualization management techniques to deter, prevent, detect and correct issues. There are even means of wiping disks or returning them to you after use. Presumably you destroy them yourself in some eco-friendly manner
The argument really now centers on where your data and apps reside and here there are three options which will cover all the requirements.

  • Public Cloud — For flexibility when it doesn’t matter where your data resides. But even this gives you some control over the location and jurisdiction. You can go to a Private Cloud with full control and ownership of your servers.
  • Private Cloud — Your computers and no one else’s. Typically this is in a datacenter of your choice, making certain of the precise location of data and apps. But increasingly Private Clouds can be created in Public Cloud datacenters.
  • Build your own Private Cloud — Your own datacenter using the same tools that the Cloud providers use. This 3rd option is not an outsourcing choice but a definite step up from the traditional Enterprise architecture for infrastructure in terms of utilization.

Not only is the security factor addressed but you can combine all of the options above to create a Hybrid Cloud that provides access to the right kind of infrastructure for the business requirements in any given part of your data processing.

So what is up and coming in the Cloud to support our future aims and ambitions?

Most people will need and buy Hybrid systems. There are more and more open source and commercial projects emerging to support the setup and integration of Cloud services. But there are also some real issues that people need to consider where differences between traditional hosting and Cloud services start to diverge.

What will data storage look like?

We used to buy disks and put files in file systems and data in SQL databases. We can look ahead to a much more distributed setup in future using NoSQL databases for speed and performance, object storage for scalability.
One must recognize that there are more than just security issues as the amount of data generated and used increases, particularly if we want to move data. Our software needs to adapt to work better in the Cloud. Enterprise code in a virtualized container will still work but they can be made to work better and this needs to feature on the product roadmap.

What will computing look like?

Right now our multi-layer architectures are designed with fixed, compiled interfaces. Again, as above computing is going to become more distributed and we will see factors that support this. Everything will have an API. Services will have looser coupling, become more asynchronous, smaller and rely less on vLANs. We will see very generic apps that run only when required and in RAIS (Redundant Arrays of Inexpensive Services). SDN (Software-Defined Networking) will also feature in this world providing support for both Cloud and Enterprise software operations.

On a final note…

Platform services will start to emerge where we see combined business apps bundled and packaged together. This is a strategy we have seen Google actively promoting with tools like AppEngine for development and their other data, email and accounting packages in support.
Some of this is still some way off but if recent history is anything to go by, expect these to come to your attention any day soon!