I was looking into K8s and Amazon Web Services.
I am confused if they are alternative approaches/solutions for the same problem or complementary.
For instance:
In my understanding if we have a classic 3 tier web application we can have it in AWS where we can have an Amazon LB, EC2 and database backend instance.
Or we could have each component in a container and use K8s for orchestration which will deploy to scale up/down automatically.
So what exactly is the relationship between AWS and K8s?
Is K8s essentially what AWS is doing but all the responsibility of the infrastructure is on the users?
2
Answers
AWS and Kubernetes aren’t directly comparable, in my opinion. That would be akin to asking if Ford Motor Company and minivans are comparable.
AWS is a platform that provides you lots of options to run applications, including:
See Kubernetes on AWS for more details of the two main options described above.
I think EC2 is much more comparable to K8s than all of AWS. AWS provides many, many services, while EC2 is much more focused on providing virtualized computing resources. Add in the AWS autoscaling groups, and you get the same sort of scale-up/scale-down capabilities as K8s.
I personally think it’s a little crazy to use AWS EC2 to re-aggregate slices of a virtualized server into a K8s cluster just so that you can then re-slice into differently sized slices (which are then often re-assembled into application-level clusters to provide downtime protection).
AWS EC2 makes big servers into little servers, K8s assembles those little servers into a big server, then slices it into little servers, which then can be load balanced to make them act like a big server… I’m sure someone can tell me why…