VMware 是云计算和软件定义数据中心的领导者,在 VMware 的 SDDC 解决方案中,vSphere、VSAN、NSX 是底层的基础架构,分别提供计算虚拟化、存储虚拟化、 网络虚拟化的能力,vRealize Automation (简称vRA) 就是把这些虚拟资源自动化整合成软件定义数据中心的核心。
系统架构师可以在 vRA 中定义系统的设计蓝图 (Blueprint),在蓝图中定义系统是由哪些构件组成的和构件之间的关系,然后 vRA 就可以自动调配(Provision) 完全可运行的系统,这就是软件定义数据中心的真正实现。
举个例子:你要搭建一个典型的三层架构做系统测试,手工方式是建几个虚拟机,装上操作系统和相关软件,再配置好各种系统参数让各种组件相互配合起来协同工作,一般情况下没2、3天功夫搞不定这件事儿。如果用 vRA 的话,因为这是一种可重复的典型架构,我们可以在 vRA 中定义一个蓝图,vRA 只需要1~2个小时就能够自动生成整个架构,无论是测试环境、还是生产环境,都可以依此泡制。
一切皆服务 (XaaS)
蓝图中的这些基础构件称之为服务,vRA 的工作理念是一切都是服务 (XaaS – Everything as a Service),服务是 vRA 自动化调配的基础单元。vRA 中主要有以下几类服务:
- IT 架构服务
包括各种物理资源(服务器、存储、各种网络设备等)、虚拟化资源(虚拟机、VSAN虚拟存储、NSX的各种虚拟网络设备等)、公有云中的各种计算资源。vRA 利用这些服务就可以定义和生成 IT 基础架构。 - 应用软件服务
软件资源当然也可以成为服务,数据库、中间件、应用软件都可以被封装成为服务,vRA 支持所有主流的数据中心服务软件,新的软件也可以很方便地通过 vRA 提供的工具和接口来封装成服务。 - 定制服务
利用 vRA 提供的 Advanced Service Designer 可以把任何现有的 IT 基础架构或软件应用定制成为服务,从而被其他的系统架构或服务所引用。哪些可以被定制成服务完全取决你的想像,你可以把一个第三方的设备或软件定义成服务,也可以把一段业务流程(如新员工报到)定义成一个服务,每个服务都可以有输入参数来灵活适应不同的应用场景。
IT 架构自动化
利用上面的这些服务构件来定义好系统架构,vRA 就可以根据蓝图来自动化地生成各种 IT 架构,例如创建一台配制好操作系统的服务器,或是为某一个 Web 应用创建一个完整的三层应用架构。也可以制定一个管理策略来控制整个流程,使用者要先提出审请,被批准后才能够创建和使用相应的计算资源。vRA 提供了一个自服务的界面来支持云计算资源的生命周期管理,用户通过这个界面来申请或注销云计算服务。
vRA 可以创建 IT 架构,当然也可以回收不再使用的计算资源。一种是使用者主动提出终止相关服务,如一个测试项目结束之后,申请的测试平台不再使用,就可以申请这些虚拟服务器的退休,vRA 会自动地删除这些些虚拟机并回收计算资源。当然更多的情况下用户并不愿意主动提出终止服务申请,vRA 可以把一段时间内未曾使用过的虚机找出来,并且发邮件询问它们的使用者是否还需要继续使用这些虚机,如果使用者在指定的时间内还是没有访问虚机或采取相应的动作,vRA 就会把相关的虚机删除掉并回收计算资源。通过回收不再使用或过度申请的计算资源,可以节省大量的成本,很多客户通过这一措施节省了多达 30% 的采购成本。尽管客户的最初出发点是要通过 vRA 实现 IT 自动化,但是很快他们就发现花在 vRA 上的钱很快可以收回成本。
支持 DevOps
vRA 也可以定义应用蓝图 (Application Blueprints),应用蓝图描述了应用部署的拓扑结构,一个应用蓝图描述完之后就可以被 vRA 部署到 IT 运行架构上去。手工部署应用经常因为运行环境的不同而产生问题,管理员需要花比较多的时间来排错,自动化部署避免了手工部署的这些问题,同一个应用蓝图可以被迅速地部署到任何一个云计算环境中,vRA 的应用部署自动化对于复杂的多层架构的应用特别有帮助。
vRA 的应用部署自动化可以很好地支持 DevOps,自动化部署可以保证应用在跨平台部署中的一致性。例如开发是在 AWS 公有云中完成的,而测试和生产环境是基于 vSphere 的私有云,同一个应用蓝图可以在异构环境中被一致地部署,避免任何运行平台的差异、应用配置的错误或其他手工操作的出错。
2015 年市场调研公司 Forrester 针对 vRA 的客户做了一次调查,他们的调查结果发现 vRA 能够帮助客户充分利用现有的计算资源,从而有效降低采购成本 CAPEX;同时全自动的管理流程也能大大减少运营成本 OPEX。综合起来,vRA 能够给客户带来高达 243% 的投资回报。