4.2.2 采用托管应用部署业务
将Web应用托管到云平台可以降低开发者使用云计算的门槛,只要写完了正确、健壮的代码,剩下的交给Web应用托管服务,它可以提供各种环境来运行你的代码,最终你只需要关心代码是否顺利运行并顺利提供服务。大多数Web应用、个人应用、中小系统比较适合采用Web应用托管服务,尤其是希望减少底层服务器运维的情况。如果你有代码,不想关心服务器环境,那么为什么不用托管呢?
和应用服务器比较类似的还有一些传统服务器租赁厂商提供的VPS和页面空间,它们也给用户提供了底层Linux操作系统,可安装Apache等环境并运行代码,不过其登录方式仅限FTP。大量VPS和页面空间运行在同一台虚拟机或物理服务器中,给单个租户分配的CPU、内存、存储、网络带宽很有限,用户在使用和管理空间时有很大限制,因此这种形式只限于早期的托管使用。当前阶段,肯定要考虑云主机或Web应用托管服务的方式。
在创建应用及部署环境时,实际上是云平台打包创建了一系列资源,包括绑定VPC、创建安全组、更新弹性伸缩组等,根据设置的费用创建一台合适的云主机,最后会在云主机中部署程序语言环境等技术栈并创建监控等服务。完成配置之后实际上得到的是一台云主机,不过在云主机上部署了所选的程序语言环境并部署了上传的程序代码。在浏览器中访问该云主机中的公网IP,即可访问该应用。
托管应用服务支持PHP、Java、Node.js、Python等程序语言环境,用户只需上传代码,后端会自动运行环境配置、应用部署、资源监控、日志收集等。对于托管在GitHub或SVN中的网站代码,可直接通过Git或SVN的方式部署代码,同样支持压缩包上传。
提供应用版本管理,支持回档到历史部署过的版本中,方便进行版本维护和应用回滚,而采用云主机的形式进行版本管理需要自行维护。相比采用云主机的形式运行程序,托管应用一站式的形式集成了日志管理、监控能力,可以对应用的运行状态及性能进行监测,同时支持部署业务的高可用,无须用户介入构建服务高可用。
如果需要对该服务器及运行环境进行进一步的配置,可以在部署环境中进行修改。部署环境包括最前端的域名,可选择绑定已经购买过的域名,根据备案要求绑定的域名需要经过备案。网络部分包括VPC网络、公网负载均衡、内网负载均衡,通过配置负载均衡将流量分发到后端的一台或多台主机实例中。在主机实例中可以再创建新的云主机来运行应用,支持代购(新购买)和导入(选择已存在的)云主机。在每一台主机实例中可以配置反向代理及应用,对于应用,这里可以设置对外提供服务的端口,如80或8080端口;可以启用健康检查来通过HTTP或TCP的方式检查应用是否在线。另外还可以选择绑定MySQL、PostgreSQL、SQL Server等关系型数据库及Redis内存数据库,绑定同样支持代购和导入的方式。这样,通过托管应用可以节省大量环境配置、基础运维的工作,并且能够获得功能配置齐全、监控及健康检查完善的应用环境,方便随时进行更改或调整。