Image Source: Internet

Why you should go cloud native?

Vishnu ks
techietalks

--

It’s been years we have moved to the cloud and went through a series of transformations on application architecture from monolith to microservices to serverless and now what?? Cloud native?

Cloud native — Fallacy

When I said cloud-native at least some of you might have thought of your serverless application which is deployed in AWS or Azure or GCP using its serverless components might be cloud-native. What else is cloud-native? If you are thinking, deploying an application in the cloud using there PaaS or SaaS services in the cloud makes your application cloud native, WRONG!!
If your application can be deployed serverless in any cloud or on on-premise, then that solution can be said as cloud-native. So now the question is how can we achieve that?

Serverless application deployed in AWS cloud using lambda, S3, RDS need to be re-engineered if we have to bring that app to Azure or GCP and vice versa. So when you deploy application serverless even by achieving benefits of microservices, your application gets vendor locked!!

Cloud native provides a vendor-neutral solution to achieve serverless and microservice benefits. Let’s see how.

Cloud native computing uses an open source software stack to deploy applications as microservices, packaging each part into its own container, and dynamically orchestrating those containers to optimize resource utilization. Cloud native technologies enable software developers to build great products faster. — CNCF

Kubernetes the saviour!!

For deploying a cloud-native application, you have to build the platform, refactor the application to decouple the dependencies using open-source tools and containerize each of the microservices and deploy them in kubernetes cluster.

There is a wide variety of tools to build platforms for compute functions, object store, API management, message queue, monitoring etc. You can get the complete list here.

What will be the result in doing so?

You will get a highly resilient, immutable application which will never fail until and unless your application has a bug. The application can be run on on-premise kubernetes cluster, in the cloud or in a hybrid model.

I would recommend going with managed services provided by public cloud vendors like EKS in AWS, AKS in Azure and GKE in GCP. Cloud will bring more resiliency and immunity to your Kubernetes cluster. And scaling of the cluster will be a cakewalk on the cloud.

So, in a nutshell, we can say that deploying an application in a cloud-native way makes your application cloud neutral, resilient and more immune to hardware failures. The application will be merged more with the platform layer, and we can decide the tools to build the platform from CNCF landscape https://landscape.cncf.io
Hope you guys enjoyed reading about cloud-native computing. Have a good day!!

--

--