Introduction
Containers based micro-services architecture offers simplified management, configuration, improved performance and scalability. vRealize Automation 8 has been rearchitected to support this modern container based architecture. As a result, vRealize Automation 8.0 can scale better and greatly enhance the ability for its customers to deploy and manage multi-cloud environments. vRealize Automation services can be run on a single virtual machine environment meeting most customer requirements and can be easily scaled to three-node cluster configuration for increased virtual machine compute resources. vRealize Automation 8 also overcomes the need to run portions of the architecture on a Windows server as earlier versions.
Learn more about vRealize Automation at https://www.vmware.com/products/vrealize-automation.html
Modern Platform using Kubernetes based Micro-Services Architecture
The vRealize Automation Appliance is powered by Photon OS 3.0 and has native Kubernetes (K8S) installed on the OS to host containerized services. When the vRealize Automation appliance is deployed and at the first boot, docker is installed and kubernetes clusters are configured. Docker images are stored in a private Docker registry on the appliance.
Helm is a package manager for Kubernetes. Helm packages, configures, and deploys applications and services onto Kubernetes clusters. Services configuration is stored in the Kubernetes-native helm package manager format called charts. A chart describes a service in vRealize Automation: its containers, number of instances, network settings, persistence, and so on, and is stored in a human-readable text format. Helm takes images that are stored in a private Docker registry on the appliance and deploys Kubernetes services that are running as pods. All the core vRealize Automation services run as Kubernetes pods within the namespace called “prelude”. Namespaces are a way to divide Kubernetes cluster resources between multiple users. vRealize Automation has 16 core containerized services with each having its own web server running on Kubernetes cluster.
Documents related to reference architecture can be found at https://docs.vmware.com/en/vRealize-Automation/8.0/vrealize-automation-reference-architecture/GUID-8D390D65-55A9-4CAE-9EB2-ABE64F6D5591.html
Exploring VRA8 Architecture
- Connect to the vRealize Automation appliance through SSH.
- Run the kubectl get pods -n prelude command to list the pods running. A pod is a group of one or more containers (such as Docker containers), with shared storage/network, and a specification for how to run the containers
- Run the kubectl get services -n prelude command to list the services running. A key job of the Kubernetes service is to enable network access to a set of pods.
- Run the kubectl get deployments -n prelude command to list the deployments running. A deployment is responsible for keeping a set of pods running.
Few things to remember
vRealize Automation 8 cannot be installed on your own Kubernetes environment. It comes in the form of an appliance with all the bits and pieces needed to run vRA 8 and this is the only way VMware can support it. Besides the four core vRealize Automation 8 components, Code Assembly, Service Broker, Code Stream and Orchestrator, two supporting services such as vRealize Identity Manager and vRealize Lifecycle Manager are needed to install and run vRealize Automation 8.
Getting Started
vRealize Automation Cloud, the software as a service option, is available and offers the same user experience as on-prem software. With its free trial option, you can get started today to explore the power of vRealize Automation, which is the new industry standard for multi cloud management and deployments. Check out https://cloud.vmware.com/vrealize-automation-cloud to request your free trial.
Disclaimer: Some content from this post is aggregated from trainings and posts I explored to understand VRA 8 architecture.