October 15, 2020 | by: Savigo Team
In today’s world, we are moving towards automation and simplicity. Your smartwatch sends you basic information about your health, you make your cup of coffee with just one press on the machine and self-driving cars like Tesla are getting more and more popular. Of course, this whole trend has not bypassed the IT world. Public Clouds are a perfect example of this, preparing your architecture never been easier, you do not have to think about hardware, network, and many other things. Your Cloud provider will maintain the architecture and make sure that is available all the time. That is why we see major companies moving their architecture to the Public Clouds such as AWS, Azure, or GPC. Clouds Providers not only delivers architecture but even complex Services like Elastic Kubernetes Service on AWS, which makes deploying Kubernetes Cluster as easy as typing one command. Isn’t it beautiful? As a Savigo team, we will share our thoughts on deploying Kubernetes Cluster on Premise vs in the Cloud.
Kubernetes On-Premise – Challenges
Choosing and configuring the suitable infrastructure for Kubernetes Cluster is another challenge that requires extensive knowledge. You have to plan how many master and worker nodes you will need, and what resources you will give each of them. Don’t forget that setting the right storage and network is also required.
- Disabling SWAP memory since K8S can’t work with it.
- Configuring the network settings files, like netplan – if your VM choice is ubuntu 18.04
- Adding IP addresses and hostnames to /etc/hosts file so nodes can communicate with each other.
- Modifying the ssh access.
Infrastructure automation tools as Ansible or Terraform will surely help you with doing all of these tasks, but now you need to learn how to use them or find someone who does.
Kubernetes On-Premises – Benefits
You can wonder now why companies choose running Kubernetes on-Premises instead of easy implementation in the cloud.
Cloud services sometimes might not be cheap. The bigger traffic you will generate the bigger your invoice gonna be – in opposite to architecture on-premise where most of your expenses come to the hardware – that is why sometimes this is a better solution for small companies.
Some companies prefer or simply have to keep all of the sensitive data in their own Data Canters due to regulations and data privacy issues.
Kubernetes Cloud Solution
When it comes to cloud solutions, the most important thing on your behalf is choosing the right instance type – it’s not as easy as it sounds as there are tons of them. While some instances just don’t have enough resources, others may be too expensive. Once your instance type is chosen you can just create the cluster within few minutes using command lines such as eksctl on AWS.
You don’t need to be concerned about management, deploying and maintaining aspect because everything is figured out for you by the Cloud Provider, on the other hand, it means that you don’t really know how the fundament architecture is built. If you don’t care how it works then this is perfectly fine – but if you want to deeply understand and customize your cluster it is better to start with an on-premise solution.
Summary
In conclusion, running Kubernetes Cluster on-prem is quite challenging and requires comprehensive knowledge, but will give you a deep understanding of its whole architecture. On the other hand if you choose Public Cloud solution you can start deploying your apps on K8S in minutes, but it can also be quite expensive. Which solution is better? – The choice is yours