Web应用托管服务(Web App Service,简称Web+)是一个用来构建和部署应用的全托管式平台,您可以在Web+上部署Web类、移动类和API类应用。您可以使用Java、Node.js、Go、PHP、Python、ASP.NET Core和Ruby语言编写并构建应用程序,在无需管理底层基础设施的情况下,即可简单、高效、安全和灵活地对应用进行部署、扩缩、变更配置和监控。
Web应用托管服务产品功能
- 支持多种主流编程语言
支持多种主流语言,包括Java、Node.js、Go、PHP、Python、ASP.NET Core和Ruby,您也可以按需构建自己的语言运行时环境。
- 对外开放配置模板和API
开放的部署环境配置模板规范以及POP API,让您可以构建自己的开发工具和脚本集。
- 插件化
除应用运行所必须的基础设施和运行环境之外,Web+提供了多样化的插件能力,可对接多种产品及服务。
- 全托管
您无需自行申请和购买任何云资源,也无需进行任何复杂的系统软件配置,只需上传应用程序部署包并提交对资源的使用需求,系统便能自动完成全部资源的创建工作。
- 自动配置环境
Web+采用面向终态的资源调度方式自动将应用部署环境按照您指定的配置进行创建。
- 监控、日志及诊断
Web+内建对应用及部署环境的监控能力,可以查看和下载日志及诊断信息,方便对应用健康状况和性能进行监控,并对应用进行调试及问题排查。
- 管理应用版本
有序管理所有部署过的应用版本,方便进行版本维护和应用回滚。
- 部署环境模板
部署环境配置信息可以保存为模板,使用此模板可以快速构建一个相同配置的部署环境。
Web应用托管服务Web+具有广泛的应用场景,既可以部署普通Web应用、小程序移动应用和开源应用,又可以与其他阿里云服务集成提供丰富的应用托管方案。
普通Web应用
- 单机部署模式下,反向代理、用户的应用程序和数据库等均部署在一台主机上,最大限度的解决资源和成本问题。
- 分布式部署模式下,用户的应用可以使用弹性能力方便的进行横向扩展,再通过SLB对请求进行负载均衡;数据库将被部署到RDS上,以保证服务的高性能和高可用;最后应用所使用的静态资源将通过CDN服务进行分发,以加快资源的访问速度。
灵活的应用部署方式
用户应用在不同的部署环境上可能有不同的配置要求,开发和测试环境对系统性能和可用性的要求较低,可以使用更简单的单机部署来节约成本;而预发和线上环境则会按照服务能力要求进行分布式部署。Web+可以灵活支持这两种场景下的部署方式。
自动化的全托管环境
用户无需关心底层基础设施的管理与配置,系统会按照用户提交的配置请求对系统资源和软件环境进行自动管理。包括但不限于购买、变配、扩缩容和释放等。
深度整合阿里云的各项服务
依托于阿里云提供的各项基础设施服务(如ECS、RDS、OSS、SLB、云监控和CDN等),用户能够通过Web+快速搭建一套具有云原生能力的Web应用系统。
小程序移动应用
Web+支持部署小程序移动应用。小程序移动应用的前后端是严格分离的,前端程序运行在宿主应用中,后端程序运行在云厂商提供的基础设施服务之上。使用Web+可以轻松运维小程序移动应用的后端部分。在组织内部,通过共享配置模板或将配置模板提交到代码仓库进行版本管理,团队内部成员可以使用这些配置模板快速创建一个相同配置的部署环境。
使用多语言开发后端应用
Web+提供的多语言支持能力可以让用户使用多种主流的开发语言开发小程序后端应用,包括但不限于Java、Python、Node.js、PHP、Ruby和Go,同时用户还可以使用Docker镜像或插件扩展自己的运行时环境。
基础设施即代码(Infrastructure as Code)
Web+开放格式的资源描述文件(Wpfile)可以随应用代码一起管理和分发,通过命令行工具或控制台,任何有权限获取该文件的用户都可以通过其创建一套相同配置的部署环境。
部署环境按需创建
开发和测试过程中的部署环境通常非常不稳定,出现问题后将相关服务推倒重来可能是最经济的解决办法。使用Web+用户可以随时重建部署环境,或创建新的部署环境,而且在非频繁使用期可以随时释放并销毁资源,以节约资源占用成本。
开源应用
在开发过程中,通过命令行工具与CI/CD系统集成,开发者可以快速构建、测试、验收并发布开源软件。在发布过程中,通过分发资源描述文件(Wpfile),维护者可以帮助用户进行系统配置和初始化工作。由于运行应用所需的运行时环境各不相同,在Web+插件体系的支撑下,开源应用将可以按需依赖任何第三方组件,而无需等待Web+产品对此进行官方支持。
从研发到交付的全流程整合
无论是从代码到产出交付物,还是从交付物到最终可运行的系统,Web+都可以在其中帮助开发人员、测试人员、发布人员和最终用户解决环境的部署问题。
更灵活的组件依赖
开源应用维护者可以通过Web+提供的插件能力,扩展应用所需的资源和运行时环境。这些扩展插件可以是私有的,也可以作为新的开源项目贡献给社区。
打造开源应用支持生态
在Web+官方、开源应用维护者和整个社区的共同参与下,Web+致力于打造一个快速体验开源应用的开放生态环境。
Web+作为用来构建和部署应用的全托管式平台,支持多种主流的开发语言、提供了多种访问方式、提供了开放的平台和工具、拥有对资源的完全管控权力、可以轻松运维与监控应用。
全托管式应用平台
在全托管式的平台上构建和部署应用,您完全无需关心底层资源和运行时环境的申购与配置,只需上传应用程序部署包并提交资源的使用需求,Web+便能自动完成全部资源的创建与编排工作。
多语言生态
支持多种主流的开发语言,如Java、Node.js、Go、PHP、Python、ASP.NET Core和Ruby;除此之外,您也可以使用Docker镜像配置在特殊场景下使用的自定义运行时环境,或根据平台的开放插件体系开发更多编程语言的支持能力。
多种访问方式
Web+提供了多种访问方式。使用Web控制台,您可以用图形化的方式来管理应用和部署环境;使用命令行工具,您可以在命令行窗口以全键盘模式与系统进行交互,还可以使用Shell脚本将基本命令组合成适用于特定场景的可复用工具集。最后开放的POP API接口以及由此派生的各种开发语言SDK,可以将对Web+平台的访问能力集成到任何第三方系统中(如持续集成与持续交付系统、软件市场等)。
开放的平台和工具
Web+提供了多种插件体系和配置规范,以打造一个开放的平台及工具生态体系。资源型插件可以对接更多种类的基础设施,如数据库、缓存、日志服务、应用程序性能监控(APM)等;软件型插件可以让您在操作系统中安装更多指定的库和支持软件,以满足自定义开发语言或应用运行时的需要。Web+还开放了用于部署环境的配置文件格式(Wpfile),用户可以在此基础上自定义扩展插件所需的配置。
提升开发人员生产效率
Web+负责配置和操作基础设施,并帮您管理应用的技术栈(平台),因此您无需花时间专门维护应用的技术栈。您可以集中精力编写代码,将管理和配置服务器、数据库、负载均衡器、防火墙和网络等工作交由Web+代劳。开发人员可以只关注应用代码,在零服务器管理和零配置的情况下发布一套应用部署环境。在团队内部,也可以由运维人员将部署的配置信息调整完毕,通过共享或源代码管理的方式将配置描述文件分发给开发人员和测试人员,从而实现部署环境的快速复制。另外在开源场景下,您可以使用由Web+官方或开源软件提供方分发的公共配置描述文件来快速搭建一个开源软件的试用或生产环境。
完善的资源控制
您可以根据应用发布需求自定义最适宜的阿里云资源,如ECS实例、数据库、负载均衡器和网络等资源。使用Web+,您可以完全控制应用所需阿里云资源,并且可以将管理和配置这些基础资源的工作交由Web+代劳。
轻松运维与监控
Web+提供了内建的基础监控和服务监控能力,您可以在控制台或命令行中实时查看部署环境的健康状况和性能水平,同时在控制台和本地终端上实时查看和下载环境日志,以帮助解决应用启动或运行中遇到的问题。另外针对不同的语言环境,Web+还提供了具有针对性的诊断功能,进一步辅助您解决性能问题及各种疑难杂症。