关于Apache Stratos
ApacheStratos介绍
平台即服务(PaaS)是云计算的一种模式,通过PaaS给开发人员提供平台和环境,使得他们可以通过互联网进行应用开发和构建工作。Apache Stratos是源于Apache社区的PaaS框架,用于解决当前PaaS所面临的不同挑战。同时,也充当多种不同类型PaaS平台的基础,例如:Application PaaS(aPaaS)、Integration PaaS(iPaaS)和Data PaaS(dPaaS)。
Stratos可以部署在Apache jclouds所支持的任意IaaS平台上,并且已经在EC2、OpenStack和GCE中进行了完整的测试。该平台通过Google Kubernetes和CoreOS实现对Docker的支持。同时,Stratos通过自带的Mock IaaS,提供了平台所需要的基本IaaS功能;因此,为用户提供了一个低成本尝试Stratos的方式。
Cartridge是一个运行在IaaS平台中的虚拟机,其中包含和Stratos PaaS交互的组件。在Stratos中,通过Cartridge的运行环境创建服务的运行环境。目前Stratos提供以下cartridge:Node.js,Wordpress,PHP,MySQL,WSO2应用服务器,Java,jBoss,Ruby和Tomcat。当然用户可以很容易地使用Stratos创建其他cartridge,无论是应用框架、数据、应用或是负载均衡等类型的cartridge,例如:MongoDB,Ruby on Rails,.NET,Spring,Joomla, Struts, PostgreSQL等。举个例子,如果你需要一个PHP运行(runtime)环境,你可以通过PHP cartridge获得PHP运行环境以便部署PHP应用。通过cartridge这个概念,允许用户利用Stratos来部署和运行自己的cartridge,cartridge可以使用任何语言或框架。Stratos支持多种开发语言同时使用,例 如:PHP,MySQL等。
Stratos的组合应用支持用户部署的应用使用不同的服务运行时(runtime)环境,这些服务运行时环境可以有相互关系或依赖关系。每个服务运行时环境可以关联伸缩或者和所依赖的服务组合在一起弹性伸缩。在组合应用的情况下,当一个租户的应用部署后,其他租户可以自动订阅到该应用的服务。
Stratos提供多租用的方式,一个Stratos实例可以支持多个租户。一旦部署了多租户应用,租户用户就可以登录到多租户cartridge,每个租户获得一个和其他租户相隔离的运行环境。由于Stratos提供租户级别的隔离,因此,可通过一个Stratos实例上托管多个租户来提高资源利用率。
另外,Stratos提供了开箱即用的负载均衡功能,并且提供了NGINX和 HAProxy的扩展,总之,Stratos可以很方便地扩展支持其他的负载均衡。在Stratos中可以为每个租户提供负载均衡,这样对租户URL的请求可转接到内部服务运行时环境上运行的租户应用。