Google App Engine - 前端和后端Web开发

cro*_*cks 6 google-app-engine node.js angular

我目前在许多专用主机上管理一组VM,以提供apache,nginx和节点实时和开发服务器.这当然需要持续且耗时的维护以确保安全性和可靠性.我发现花更多的时间来处理这个平台,然后编写新的令人兴奋的项目.因此,我一直在研究Google App Engine,以消除管理任何虚拟机的需要,但我正在努力找出如何让它为我的功能!

目前我发现自己主要在Angular(v4-5)开发我的前端和nodejs用于后端.我的开发nginx服务器支持我的角度应用程序和路由到ng-serve以及运行我的节点应用程序的单独vm.我使用PM2来管理两台服务器上的应用程序.

这很棒!我可以在本地编写代码,通过rsync脚本将我的更改推送到服务器,应用程序重新启动并更新更新.更重要的是,我可以在前端和后端之间进行情感编码!准备好后,我可以轻松地将代码轻松切换到实时服务器 - 很好!

这是我在努力的地方......

我似乎无法工作如何在一个App Engine项目中开发和发布前端和后端代码的版本.

这可能吗?我将如何部署/发布这两个方面?

我会更好地拥有两个项目,例如example.com和api.example.com吗?如果是这样,我可以让两个项目在开发时互相交流吗?

我已经可以在App Engine中创建angular/nodejs应用程序,但我无法在此托管服务中使用前端和后端开发的基础知识.

我想使用App Engine的强大功能,例如版本控制,轻松扩展以及重要的应用程序和更新部署.此外,将我的所有网站(包括PHP中的一些旧网站)移至App Engine.

任何有关这方面的帮助将非常感激.谢谢!

Tud*_*rmi 5

正如@ Yandrak3所建议的那样,您需要一个微服务架构。但是请记住,该文档与不支持Node.js作为运行时环境的App Engine标准环境有关。但是在部署到App Engine Flexible时,请牢记微服务架构。

在后端和前端
前端后端不再用于描述App Engine应用程序的表示层和数据访问层。文档中唯一的参考是在这里。配置为具有自动缩放功能的(VM)实例管理您的应用服务,这些实例被视为前端基础结构的一部分,而配置有手动缩放的实例被视为后端基础结构。 原因是自动缩放是App Engine的功能之一

强大的功能,易于扩展,

自动以与传入应用程序的外部请求数量成比例的方式显示应用程序的前端。

手动缩放更适合于后端操作,在后端操作中,您可能希望根据一段时间内的内存状态或其他情况运行操作。您可以在此处找到有关缩放类型的更多信息。请记住,后一个文档位于App Engine标准文档中,并且包含基本扩展功能,该功能在App Engine Flexible环境中不可用。

关于服务和版本控制
在您的情况下,应用程序的前端后端模块将成为App Engine Flex中的两个独立服务。对于每个服务,您可以部署多个版本。更多,在这里解释。
服务之间的通信,在这种情况下,是您的前端后端之间的通信,可以通过它们之间的HTTP请求来完成。
如果下一个问题是来自用户的HTTP请求如何到达服务(或服务)的适当版本,请检查此文档
部署多个服务,您将使用相同的命令您将通过它们的相应配置文件分隔每个部署和服务app.yaml

您的问题需要有相当广泛(和深刻)的概念范围内的答案。希望这个答案很好。