How to arrange web application docker containers in production stage
I’m approaching to the Linux Container world by looking at one of maybe the most famous and used containers manager that is Docker. I have quite clear the advantages of using Docker at the development stage. Fast and easy creation of image including any sort of application (database, server, etc…) but I haven’t clear yet the advantages in production. I mean let’s assume two have three different instance running on AWS running docker. In one instance I decide to run a web server container (nodejs), in the second one a database container (mongodb) and the last one a cache container (redis). All these ones running in their own container running in one separate instance. The deployment is fast and easy but how many others containers can I run in the other instance and which one? I don’t mean to say the maximum number of containers. I know that it depends from the memory. I mean which other kinds of containers could have the reason to running in one of these three instance? For example I would add in the future nginx. In which of this one should I place it? Should I take another aws ec2 instance?
One Solution collect form web for “How to arrange web application docker containers in production stage”
As you said, it will depend on your resource requirements which containers you place together. However, AWS offers container service (in Preview) that allows running docker containers and comes with a scheduler that can decide where to put things. Maybe this would be an option?
Amazon EC2 Container Service comes with a default scheduler that
schedules containers to help find the optimal instance placement based
on your resource needs (e.g., CPU or RAM) and availability
requirements. The EC2 Container Service APIs also provide you with
complete cluster state information, allowing you to write your own
scheduler or integrate existing 3rd party schedulers if you choose.