我正在创建一个web应用程序,允许用户使用我创建的一些tensorflow模型。这里没有什么新的东西,streamlit可以完美地处理这个问题。这里的问题是,我希望用户能够用自己的数据甚至参数训练新模型。因此,将创建许多用户特定的模型,我对Django有一些经验,它听起来像是一个可以完美处理身份验证和数据库管理的框架,以及推理和训练等Tensorflow任务。
我建议的架构是一个Streamlit前端,连接到Django后端,有3个应用程序:一个用于一般后端任务以及与前端和数据库的通信(可能通过REST),一个用于Tensorflow相关的任务,一个用于身份验证。我想到这个是因为这样我可以假设为另一个数据科学项目部署另一个Streamlit前端,同时使用相同的Django后端。我的问题是我应该如何容器化(使用Docker)这个系统。我在考虑一个Streamlit应用程序的容器(前端)(如果将来我有几个前端,每个前端一个容器),一个用于Django,一个用于数据库。哦,这是部署在一个本地机器上的。下面是建议的架构图:x1c 0d1x
是太多了还是太少了?我不知道这里的标准方法是什么。
提前感谢!
1条答案
按热度按时间qjp7pelc1#
我认为你采取了正确的方法。当你使用单个Django应用程序时,不同的前端服务应该被容器化在不同的容器中,所以它应该在一个容器中