Ever since containers taken over the software development, everyone thinks that containers are silver bullet. It is far from truth. Although, containers can definitely help you speed up your development and deployment process, the real challenge comes from the orchestrating these containers.
It is easy to get started by installing and packaging your application. Once you start deploying is when the real problem starts. For starters, these are the questions you need to ask when deploying containerized application.
How and where do my containers run?
How to expose my application to outside world?
Should I run proxy in another container and create a networking connection with my application container?
What are the connectivity options for my persistence storage (DB)?
How to achieve high availability?
…. and many more.
If you are in a dilemma and find that Kubernetes is intimidating, look no further, here is the solution Elastic Container Service from AWS.
Kubernetes is considered as the go-to solution for all orchestration requirements of containers, but it is equally complex to learn and manage. The required infrastructure cost is also very high.
Overall, ECS is a great solution to run your containers at a scale with the option of managed VMs or without managing them yourself (Fargate). Before you want to get yours hand dirty with Kubernetes, you can give ECS a try.