我有一个 Django web 应用程序(一个论坛),其中有几个屏幕,如登录、个人资料、帖子、回复等。
在专用实例上进行常规部署(考虑到可扩展性和性能)似乎很昂贵。我在 AWS Lambda 上遇到过 Django 应用程序的无服务器部署。这是一个这样的example在 AWS 上。但我在 GCP 上找不到类似的内容。
使用 Google 云函数 (GCF) 是否可以实现类似的功能?
换句话说,GCF 是否可以用于部署以下任何内容:
- 可以提供动态页面的网络应用
- 具有多个休息端点的微服务
最佳答案
我不建议在 Cloud Functions 本身中部署 Django 应用程序,因为我不知道像 Zappa 这样的工具。 (仅适用于 AWS)轻松构建 WSGI Web 应用程序并将其部署到 Cloud Functions。我想说的是,产品本身更关注“附加到从云基础设施和服务发出的事件的单一用途功能”,并具有以下 use cases ,例如轻量级 API、webhooks 等,而不是部署 Django 应用程序。
我更愿意探索 Google Cloud Platform 的其他产品,主要是 App Engine或Cloud Run如果您对 Cloud Functions 的无服务器方面感兴趣(尽管您已经知道,如果您也有兴趣完全控制应用程序,您也可以依赖 Compute Engine 实例和 Kubernetes Engine)。
要回答您的上述问题,请注意,您可以轻松地将 Firebase Cloud Functions + Firebase 托管集成到 serve dynamic content and host microservices (但请注意,此解决方案将特别需要迁移以使用 JS Web 框架,如 Express.js ,因为 Firebase Cloud Functions 只能用 Node.js 编写,并且不支持 Django 所基于的 Python 运行时)。
关于django - 在 GCP 云函数上部署 Django App 无服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62167741/