Over the last months cloud technologies have been constantly advancing in a way never seen before in internet. Technologies that didn’t exist three years ago like Docker or Openshift have become reference points in their field. Below we will go through the main technologies in every area taking into account their advantages and disadvantages.
Public Cloud Platforms (IaaS + PaaS)
Amazon Web Services
It was the first player in the market and it’s still the most popular platform. It’s far ahead of its competition in terms of features, number of datacenters and number of customers.
It’s important to look into all the services it offers before jumping into ad-hoc development considering it basically covers almost all of your possible needs: managed BBDD, servers, CDN, firewall, monitoring, queues, etc.
If we have to mention a problem it would be that, with a few exceptions, it is based on its own technologies.
Google Cloud Platform
It entered the market somewhat late but it has an incredible growth capacity, it’s capable of doing in months what other platforms need years for and it hasn’t taken long for it to have a very compact offer.
Its offer might be more reduced than that of AWS but it makes up for it by being simpler and at a lower cost.
We can also highlight the fact that it’s also based mainly on open standards and that it uses google datacenters connected through its own fiber and in constant innovation.
It has a very well- rounded offer not only of Microsoft technologies but also open source technologies which, surprisingly, Redmond has been betting on for the last few years.
We can also point out its integration with legacy systems considering it was conceived from the very start as a hybrid Cloud. As a disadvantage we can say that using it doesn’t come intuitively.
Other interesting platforms are Rackspace, the only one offering “bare metal” to make the most of the power of all the containers without a virtualization layer and Heroku, a pioneer platform and a reference point in terms of the architecture of what a PaaS should be. IBM Bluemix, HP Helion and Oracle Cloud are also moving up a gear with their own platforms but they can’t still get to the level of the reference points in the market.
PaaS for you private Cloud
Version 2 was based on a proprietary template technology by Red Hat and lacked many things, but recently they released version 3 for which the template engine has been redone around Docker and Kubernetes.
It’s currently one of the most interesting options for private Clouds as it is based on open standards, it integrates with reference open source technologies and has a constantly growing market. Its disadvantages are that the documentation is confusing and most of the information you can find online about it is for version 2. There is a paid version with Red Hat support and a free Openshift Origin versión.
The most popular PaaS open source platform and the one that can support more technologies. Besides its broad offer it also covers the software’s whole lifecycle with continuous delivery tools.
As a disadvantage we can say installing it is complex and over the last few months it’s been left behind by Openshift v.3. There is also a paid version of it, Pivotal Cloud Foundry that brings extra features and is easier to use.
IaaS for your private Cloud
It’s the most popular and mature platform. It allows you to manage your internal datacenter as if it were a private Cloud, with a visual panel similar to that of Amazon. It also integrates with Docker and recently with Kubernetes, so right now it cover all the needs of an IaaS. If we have to mention a disadvantage it would be that it’s not easy to install or use.
Other alternatives like Apache CloudStack are still far below OpenStack.
Technologies to set up your Cloud ad-hoc (public or private)
Open source project that allows you to manage containers, some sort of virtual machines but lighter and fully portable. It allows you to encapsulate any architecture, turning it into a self-sufficient, portable container, so that it can be managed through standard operations and run consistently in any hardware.
It’s bringing up a true revolution in the way environments are managed and apps are deployed. It’s the most recommended choice when setting up ad-hoc environments with open source technologies either in public or private clouds.
Its detractors accuse it of being somewhat unready for production, nevertheless this statement is currently no longer true.
Open source library that works as an orchestrator to manage entire architectures based on Docker containers. It’s starting to be accepted as a standard by other companies like Microsoft, Red Hat, VMware o IBM.
Its use is vital when controlling auto-escalation and the deployment of complex architectures made up of several containers.
Open source operating system based on Linux that has become lighter and has been optimized in order to deploy and escalate containers.
A very good option to get rid of the virtualization layer if your whole infrastructure is based on containers.
Other technologies to consider are Packer in order to facilitate container management and Atomic or Swarm as an alternative for orchestration.