VMware is all about decoupling. Decoupling servers from your hardware by using vSphere, decoupling the network by using NSX and implementing VSAN to decouple your storage. In the world of automation & orchestration we can decouple an application from the underlying operating system with vRA Application Services.
Lately I’ve been working on some automation & orchestration projects involving vRealize Automation, Orchestrator and Application Services. In this article I will talk about Application Services which is a part of vRealize Automation. vRA Application Services, formerly known as vFabric Application Director, is a solution which enables you to automatically deploy server-side applications. You might think at this point, what’s new here? I already can deploy a Windows server with for example SQL server on it.
Well, the thing is that Application Services, or AS, allows you to define an application definition. Using this application definition, or blueprint, you can install the application automatically on a new virtual machine. It’s not about including the application in the virtual machine template, it’s about creating application building blocks to be deployed on a targeted virtual machine.
To achieve this goal, AS is closely tight together with vRealize Automation. AS uses one of the blueprints available in the vRA catalog to deploy a new virtual machine, and installs the application on the virtual machine after the vm is deployed. To complete the circle, AS can publish the application blueprint to the vRA catalog. This means a user requests an application blueprint from the vRA portal. AS receives the request, but needs a virtual machine which is requested on its turn from the vRA portal. After the vm is deployed, AS installs the application on the vm. On completion a new item is added to the vRA catalog and available to the original requesting user.
vRealize Automation Application Services, the full name for the product, offers a framework to define application blueprints which automate an application deployment. Notice that the actual installation of an application is not done by AS but managed through an installer script. AS will start the installer script when needed. You have to develop this installer script yourself, separately from the AS application blueprint.
The power of AS lies in the fact that AS can use and re-use predefined OS templates and application building blocks. This means you can re-use a blueprint definitions for various applications and can define unique combinations of OSes and application blueprints. Imagine you want to upgrade the OS on which an application is running on: with AS you don’t do an OS upgrade, you redeploy the application with a change (the underlying OS) in the blueprint. The blueprint now contains the new Windows OS version.
When defining an application blueprint you can create one or more versions. A application blueprint is [from the manual] the logical topology of an application for deployment. A blueprint captures the structure of an application with logical nodes, their corresponding services and operating systems, dependencies, default configurations, and network and storage topology requirements. After you’ve created a application blueprint you have to create a deployment profile which is a collection of settings for the application blueprint. With a deployment profile you can define different resource settings for development, test, acceptance and production environment.
All the items that are used in an application blueprint are stored in the AS library. The library contains logical templates, which are pointers to vRA blueprints. Reusable services that can be used in multiple applications and installed on a virtual machine. Tasks that can perform additional customized tasks in an application deployment.
This is a first introduction to vRA Application Services. In a follow up article I will show you how thing are organized in the AS workflows. Just follow me on twitter to learn when any updates are posted. I hope this was helpful!