All the pros and cons of Kubernetes are coming from its nature of a multifunctional platform with tons of possibilities you cannot cover alone, or even with your team over a short period of time.
You need an additional pair of brains—like Dysnix.
Serverless architecture benefits are irreplaceable for some types of projects, but you have to think really carefully if your app fits this category.
Okay, that was huge, but we've only got closer to the most interesting part of the use cases overview, where you'll be able to find your app's case and see our recommendations.
The general cause to use k8s is a need for flexibility and the absence of problems when it comes to the migration of legacy projects with a myriad of third-party connections and data flows to running all sorts of applications, whether that is a modern cloud-native distributed application or a bunch of simple websites with MySQL database.
Your other possible demands:
When not to use Kubernetes or consider that the process can require extra efforts because of the following possible risks:
Kubernetes is one of the best solutions for a wide range of apps and services: from websites with small databases to big legacy apps. And even if k8s infrastructure demands a bigger team to handle, and it takes longer to set up and maintain, the variety of open-source solutions will simplify your daily tasks greatly. So with Kubernetes, you pay for more control and options to decrease costs in a flexible but stable environment.
Long story short, use Serverless if you need to "go fast, not far": quick development and deployment, auto-scaling, and a decrease in minimal possible runtime costs.
More details of use cases for when to use Serverless architecture:
When not to use Serverless and consider the specificity and possible risks:
We won't live in the 21st century if someone hasn't tried it yet or gone beyond the typical Kubernetes vs. Lambda comparison. The common practice will split your app into microservices-based containers part and cloud-based functions. In these combinations, it's possible to complement weak points of each part.
AWS Fargate gives the freedom to experiment with hybrid solutions by allowing you to work with containers without any concern about servers and clusters. Knative is another example used for k8s, applying the Serverless approach and disabling idle containers.
We've got through the dark forest of the flaws and benefits of the Serverless architecture, viewed the pros and cons of k8s, and come to a number of summaries. Even if the subjects of our research were totally new for you, we hope that we've clarified some things for you, especially in terms of the advantages of Serverless architecture and Kubernetes in comparison. Also, it would be another comparison if we were to look at AWS Lambda vs. Kubernetes. But anyway, everything depends on your company's structure, development preferences, and resources. And to make the right choice, you have to get information from true specialists in both k8s and Serverless—and maybe even from a third party who says that you don't need any, and see how it'll work for you.
If you have a manual transmission car that is well-tuned to your driving style, then you get used to changing gears and are not afraid of the clutch. as a result, it'll take you anywhere you want until the car runs out of fuel.
But if you need a car that you can just jump into and drive, then maybe an automatic transmission is what suits you now.
Thanks for your attention. Let's keep in touch for our future articles. If we still have something to clarify, you are welcome to give us feedback.