As an entrepreneur, how many developers have you hired to build, deploy, and maintain your app? As a developer, how many hours do routine tasks take you per day?
And the answer to both questions — a lot! Agree?
Today’s Go-to-Guy in App Development
Five years ago, Linux Foundation released a Kubernetes project — an open-source service that aims at the automation of deploying, scaling, and management of application containers. Exactly — containers. Kubernetes facilitates the lives of those developers that operate containerized apps. Don’t worry, though. In case your app isn’t containerized, Docker is there to help you!
A lot of cloud services, including giants like Google, Amazon, and Microsoft, now provide Kubernetes-based platforms. Since app owners rushed to snag and taste all benefits of Kubernetes, it’s today predicted to approach $3,446 billion USD by 2021.
Here is what your business will transform into with Kubernetes:
- A rocket-solid infrastructure. From time to time, containers “die”. There is nothing you can do to prevent this. You will only have to spend time and money to get them back on track. Yet, when orchestrated by Kubernetes, a container that dies is immediately replaced by another. The platform automatically launches a replacement process.
- No performance spikes. Sometimes services experience so-called “traffic peaks” — a time when a website cannot manage an influx of customers. In this case, Kubernetes will create as many container-clones as needed to keep the service running.
- No idle-fees. For example, you’re holding a food-delivery app. There is no need to pay for the same performance at night, right? Kubernetes is optimizing the performance according to the app requirements.
- Product-development oriented. There is no need to waste time on operations anymore. It’s all automized by Kubernetes.
As we said before, there are several cloud services that offer k8s platforms. Let’s find out the difference between those.
Azure, Amazon or Google: That Is the Question!
The choice of service should only depend on your business’ specifics. So, let’s spot the features of three services and decide which one would be a perfect fit for your business!
What Does It All Mean?
Even though Amazon started offering Kubernetes services later than GKE (19% adoption share), their public adoption share stands at around 61% and only around 52% for Microsoft. But this shouldn’t make you rush to use Amazon or Azure as you have to make sure your region is supported. Unlike Google, which is available worldwide.
Amazon AWS EKS
Amazon has always had its containers orchestration solution, however, customers’ demand for Kubernetes was getting bigger and bigger. So, now Amazon is offering an official integration with Kubernetes — AWS EKS.
Control Plane HA in Amazon should be, definitely, considered as an advantage. Amazon offers its users a Multi-AZ Deployment which ensures that the system won’t go down in case one master node is faulty — it’s instantly exchanged by another master node.
AWS is constantly improving, though. They’ve promised an integration with Fargate that will fizz out the need for worker nodes provisioning and potentially let Kubernetes scale automatically.
A pity is that Amazon users will have to add worker nodes through CloudFormation which is quite a disadvantage. This can be good for role separation but not for a simple integrated setup. But there is hope! AWS has recently released AWS CDK, a platform that will help you define your cloud infrastructure with less code and flexibility.
Basically, there are plenty of third-party configuration management tools that you can use either for AWS, Azure or GKE. You must have heard of Ansible, Chef, Puppet or SaltStack. To find out the difference between them visit our blog.
Initially, Azure offered ACS, a solution that supported Apache Mesos, Kubernetes, and Docker Swarm. However, in 2017, they gave preference to a dedicated Kubernetes hosting service eliminating the other features.
While AWS is promising to change its approach to worker nodes management, Azure has a virtual-kublet project that integrates with Azure Container Instances. This cuts out the need to provision the nodes. This saves huge trouble for systems with high loads.
Everything seems fine until you consider developers’ experience. To set up every tool you need, you will have to use a combination of Azure Portal Manager, PowerShell, and CLI.
Google Kubernetes Engine has the best integration with Kubernetes as Google made a huge influence on k8s as a founding member. So, you can trust Google Cloud as an up-to-date solution which, correspondingly, affects security in a positive way.
Time and Money
To keep business profitable, CEOs have to sensibly manage time and money spent on infrastructure management and optimization. Thus, let’s compare three services from the perspective of the time&money concept.
Using Amazon Kubernetes management, you will pay 20 cents per hour for each cluster that you’ve created that is, by the way, around $140 USD per month (for one cluster).
As for time, it takes around 15–20 minutes to start a cluster on AWS EKS.
There is no charge for cluster management and container service in Azure. However, the nodes — this is what you pay for. The user is charged only for those resources they use, and here is a calculator to estimate the price.
In fact, a cluster creation time is twice lower than it is on AWS.
Similar to Azure, Google Cloud offers free-of-charge control plane usage. Pricing is calculated depending on the number of nodes you need as the nodes are what you pay for on GKE. In addition to this, Google offers integrated logging and monitoring.
And GKE seems to be the fastest in cluster creation. Moreover, let’s not forget that Google’s and Amazon’s clusters can contain up to 5000 worker nodes, while Azure’s cluster operates a hundred nodes.
As a DevOps Provider We Prefer…
But…What is better BMW or Mercedes? Exactly! There is no better or worse cloud provider, there are ones that solve your business goals and the ones that don’t.
Here at OpsWorks Co., we find DevOps solutions for our clients so they scale their IT infrastructure up, save funds, and automate their processes. To find out what Kubernetes service fits you the best, contact us and get your Cloud Consultation from our team of experts.