百度应用引擎(BAE)是百度推出的网络应用开发平台。基于BAE架构,使开发者不需要维护任何服务器,只需要简单的上传应用程序,就可以为用户提供服务。BAE有能力将原本单机的LAMP架构,变成分布式架构。
基本概念
执行环境:云环境中应用程序执行的环境。执行环境由执行组组成,每个执行组包含执行单元。执行环境分为公共集群和私有集群。
执行单元:执行单元是云环境里面运行用户代码的最小服务实例。
执行组:若干执行单元组成的集合。同一个执行组内的不同执行单元的环境是同构的。执行组内执行单元个数会根据实际负载自动调整,但会受到系统阈值的限制或用户配额的限制。
公共集群:指属于云环境系统的执行组的集合。云环境会保证公共集群里面不同用户不同应用之间代码和数据的安全隔离。公有集群对用户来说是完全透明的。
私有集群:完全属于用户自己的执行组的集合。用户可以选择自己应用的代码部署到自己拥有的任意执行组内。私有执行组内的执行单元不会和其它用户共享。
运行原理
BAE在架构上分为执行环境、管理系统和多种分布式服务。其中,执行环境包括接入层、代码执行层及数据层。管理系统包括用户管理平台、系统管理平台、调度服务、监控服务、资源审计服务等。分布式服务包括多种基础服务和业务组件,如数据库、缓存、云存储、FetchUrl等服务。
执行环境接入层是一个HTTP反向代理,实现将应用流量分配到指定后端的功能,并能够在多个可选后端中进行负载均衡。除此之外,它还具有防火墙功能。
代码执行层是实际运行用户代码的地方,计算资源分组管理。执行组的处理能力由它包含的执行单元个数决定,可以根据需求动态伸缩。执行组分为公共和私有两种,私有组中的资源为用户独享,稳定性更强。执行单元本身是一个沙盒环境,保证不同应用之间的代码、数据以及执行都不会相互影响。执行环境支持PHP、Python和Java语言(Java和Python环境目前处于邀请测试期)。
执行环境数据层用于存储用户的代码和一些临时数据。
管理系统调度服务负责控制执行环境接入层的流量分发和负载均衡策略、应用代码在数据层的分发以及代码执行层计算容量的自动伸缩。
监控服务将系统各个模块、执行单元的状态实时汇报给状态中心,作为调度服务决策的依据。
资源审计服务负责统计并控制应用对资源的访问。公共组会根据用户使用所有服务的具体使用量来进行统计和计费,如页面流量、CPU使用量、内存使用量等。私有组以对执行单元的使用时间来进行统计。
优势
1. 支持多种语言开发环境:支持PHP、Java、Python语言,后续还会支持更多语言。
2. 强大的服务能力:您可以通过申请执行单元的方式来取得更多的服务资源,服务资源的扩展对开发者完全透明。
3. 简单可依赖的开发环境:您可以像写单机程序一样写出一个分布式架构的程序。
4. 可靠、稳定、高效的运行环境:百度有着丰富的云主机,同时又有最专业的运维团队来保证整体环境的稳定性,您在开发过程中完全无需担心机器故障会影响您所获得的服务。
5. 丰富的云服务:BAE提供了丰富的云服务供开发者使用,并有专门的团队对服务进行维护和扩展。
6. 丰富的监控信息:BAE对开发者的服务进行实时监控,并实时提供监控报表。
服务介绍
云环境
云数据库
云存储
云推送
云消息
LBS云
其他服务
BAE的使用
使用BAE,您不用再为服务器是“多余”还是“不足”而苦恼,也不用再为托管和带宽花很大的成本但享受低劣的服务而愤怒,尽可按需选择;使用BAE,从资源到架构,有全面专业的运维服务为应用护航;使用BAE,简单、安全,帮您聚焦目标,成就未来。Hao123,百度音乐、百度搜索风云榜、
百度指数等产品都运行在BAE上。