The best container hosting platform for the private cloud
By Artem Filimonov (aafilimonov_5@edu.hse.ru)
Introduction
Nowadays cloud technologies become more and more in demand. In a rapidly growing business not all companies have opportunities for deployment of internal IT infrastructure due to limits in time and resources. At that point organizations decide on the use of services of a cloud provider. Cloud providers often offer one of three types of clouds: public, private or hybrid cloud. Public cloud is more preferable for companies that uses it just for computations. If company wants to store confidential documents in cloud they rather choose private cloud as it hosted on hardware allocated only for the only client. In addition, users of private cloud always have an opportunity to switch for public cloud. Thus, choice of cloud infrastructure is associated with lack of hardware and software maintenance which results in no need on spending extra resources on that.
Another trend of our time is container technology. Use of containers become extremely popular due to more opportunities of virtualization over Virtual Machines (VM). Containers are more portable and offer greater flexibility than VMs [1]. Like VM, using containers allows to have any OS on your local machine. This makes the process of development more independent from environment. And extra technologies like docker-compose or kubernates help to develop scalable applications with distributed infrastructure. Among others containers can be effectively used in building microservice architecture. But developing containerized application is not enough if you want to make it available for other users. To achieve this, application should be deployed to the host machine which fulfills the requirements for its availability. Choosing a host is important procedure as it effects IT infrastructure of the company.
Main container hosting platforms and their features
In this article will be observed different aspects of using cloud providers for hosting containers. Container hosting differs from website hosting as it is more demanding on hardware characteristics. Website deployment doesn’t require a lot of computing power and therefore website can be hosted on any hardware. But considering containers, they should be deployed on hardware with enough computing power in order to run them properly. To choose the best container hosting platform should be analyzed cloud providers that offer powerful virtual private servers (VPS) and dedicated hosting with Docker either installed or easily installed. The list of most popular docker hosting platforms that support private cloud implementation: Amazon ECS, Google Cloud Run, Jelastic, Kamatera, Microsoft Azure.
Amazon ECS
Amazon Elastic Container Service (Amazon ECS) [2] is a highly scalable container service with docker support. It allows to manage containers in AWS environment. It provides windows compatibility and supports the management of windows containers.
ECS uses the AWS Fargate serverless compute engine to deploy and manage docker containers. AWS Fargate eliminates the need of server provisioning or cluster management. So you only pay for the exact amount of resources you use.
Also, Amazon ECS supports building containers from private Docker registry or third-party hosted Docker image repository. AWS Cloud Map supports building monolithic and microservice architecture, so it can containerize applications on either of the architectures. Security can be assured with Amazon virtual private cloud (VPC).
Google Cloud Run
Google Cloud Platform (GCP) [3] is one of the most popular cloud service providers and has datacenters around the globe. Google was developing Kubernetes, a popular container orchestration tool, which indicates that GCP supports container hosting.
Cloud Run is a serverless managed compute platform which allows to host and run docker containers. Using Cloud Run, containers can be deployed on production within seconds. Infrastructure can be scaled up or down without any downtime.
Jelastic
Jelastic [4] is a multi-cloud DevOps platform for enterprises needing to speed up development, reduce cost of IT infrastructure, improve uptime and security. The platform automates creation, scaling, clustering and security updates of cloud-native and traditional applications. Jelastic has more than 100 data centers worldwide and is available as public, private, hybrid and multi-cloud. The platform supports different environments for development, Docker and Kubernetes clusters. It provides pre-configured dockerized solutions with just one click and allows to set up standalone docker-engine or docker swarm cluster.
Kamatera
Kamatera [5] offers low-cost, low-maintenance, high-performance cloud infrastructure services, thanks to our global network of data centers, bespoke management console and unbeatable pricing policies. With Kamatera, capacity can be increased or decreased within minutes. Kamatera allows to add CPU, RAM, disk storage, load balancers, firewalls and many other hardware components to the infrastructure, or clone a whole cloud server, from cloud management console. All changes are effective immediately.
Microsoft Azure
Microsoft Azure is the 2nd biggest cloud service provider after AWS. Azure also provides services to host Docker containers on its platform or orchestrate them across 29 regions in the public or private cloud. There are three plans for storing and managing container images: Basic, Standard, and Premium.
Azure Kubernetes Service (AKS) can be used for deployment and management of containerized applications. With Azure App Service [6], you can also deploy custom windows containers or use ready-made docker apps from Azure Marketplace.
Comparison of container hosting platforms
In order to compare listed container hosting platforms will be used parameters: price, opportunities of using orchestration tools, features. Price is calculated for usage of hardware with following characteristics:
- CPU – 2;
- RAM – 4 GB;
- Usage – 30 hours per month.
Table 1 – Comparison of container hosting platforms
Data presented in the table 1 shows that the most expensive platform is Amazon ECS and the cheapest is Kamatera. If price is the most significant factor for a company, then Kamatera can certainly be chosen. But considering price and quality factors, then the best choice will be Jelastic as it offers large number of features for a mid-size price.
Conclusion
There are even more cloud providers which offer container hosting and company should decide personally what suits them best. Comparison of most popular container hosting platforms shows that for companies working mainly with containers and their orchestration is more preferable Jelastic provider. But if companies run containers from time to time, Kamatera would be the best option.