Thursday, August 25, 2016

Isolate Django apps in different Docker containers

Hello,
 
On a Django project (which will consist of several REST web services), I would like to isolate my services (each service would be a Django application) into different Docker containers to aim to a micro-services architecture. It will allow to benefit of Docker isolation to update independantly the different apps of the project and also to scale each service idependantly according to the load increase by using load-balancers in font of each group of services-containers (plus the numerous advantages brought by Docker).
I understand that, by doing so, each container will run a Django server and that this different servers will surely have to share some data.
 
First, do you think it is possible to do so ?
I have searched examples of such architectural choice but I always found the use of Docker to encapsulate a Django project (one container for the server, one container for the DB for example) and never this idea of "one app per container" architecture.
Do you think it is a valid approach ?
Has someone already tested such a solution ?
One problem I identify is : will each Django server have to be aware of all the services or not ?
 
To go further, if the previous idea is valid, do you think it can be coupled with a separation of databases ? As Django can already manage different databases, I imagined that each application could use several databases : a common Django database (accesible from all the apps) for the generic data and a specific database for all the app-specific data. It would push further the isolation of the services and improve the modularity of the whole project (by allowing to easily delete or add a service without impacting the others)
 
Do you think it is coherent with Django concepts ?
 
Thank you for your help
 
Regards,
Guillaume

--
You received this message because you are subscribed to the Google Groups "Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to django-users+unsubscribe@googlegroups.com.
To post to this group, send email to django-users@googlegroups.com.
Visit this group at https://groups.google.com/group/django-users.
To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/2745d24c-8de4-4922-8ace-72feeb8fdfa8%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

No comments:

Post a Comment