VisualizeHR Builds Automated CI/CD Pipeline, Accelerates Customer Onboarding Process
Challenge
VisualizeHR engineers were provisioning hardware and onboarding customers to its PaaS product manually, which took considerable time and effort.
Solution
ClearScale implemented Infrastructure-as-Code (IaC) automation using a multitude of cloud tools and capabilities.
Benefits
VisualizeHR now has an automated CI/CD pipeline that onboards new users in a fraction of the time with minimal effort from the internal engineering team.
AWS Services
Amazon DynamoDB, AWS CodePipeline, AWS CodeBuild, AWS Step Functions.
Executive Summary
VisualizeHR is a Platform-as-a-Service (PaaS) company that makes it easier for enterprise customers to analyze HR and people data across many systems. The company’s Managed Cloud Data Platform serves as a central repository for HR information. With VisualizeHR, leaders can make better decisions about their workforces, recruiting, professional development, and much more.
Recently, VisualizeHR made the decision to redesign how it builds and deploys application code to its AWS environment. As an AWS Premier Tier Services Partner, ClearScale knew the best way to approach the project and help VisualizeHR achieve its goals on AWS.
The Challenge
VisualizeHR previously relied on a semi-manual, time-consuming process to deploy application code on AWS. The internal team used a Jenkins server and had to onboard new clients, AKA tenants, by hand. All hardware resource provisioning involved manual metadata creation, configuration, and customization. VisualizeHR also had to run isolated pieces of code and maintain two types of infrastructure resources for every client: common resources and tenant-specific resources.
Common resources included:
- VPC
- Private and public subnets
- AWS Lambdas
- Lambda authorizers aggregated by AWS Step Functions
- Amazon SQS queues
- Amazon Aurora PostgreSQL clusters
Tenant-specific resources included:
- Amazon DynamoDB tables housing unique customer configurations and workflows
- Amazon API Gateway Resources and Methods
- Secrets in AWS Secret Manager
- Amazon S3 buckets
- Time-based (cron) Amazon EventBridge rules
Overall, VisualizeHR’s cloud engineers spent most of their time customizing code and manually orchestrating the flow for new tenant deployments. The internal team also had to execute periodic or on-demand tasks for existing tenants upon request.
This all took too much time, which is why VisualizeHR wanted to start taking advantage of automated infrastructure provisioning. More specifically, the company wanted to build a flexible, automated, and extensible Infrastructure-as-Code (IaC) pipeline capable of building and delivering code to Lambda functions and other application components. This pipeline had to handle both the common and tenant-specific resources listed above. In addition, VisualizeHR, on ClearScale’s recommendation, wanted to migrate source code repositories from GitHub to AWS CodeCommit. ClearScale, with its AWS DevOps Competency, was the right fit for the job.
The ClearScale Solution
ClearScale designed a new table-driven onboarding process for VisualizeHR that involved three key components:
- A script that updates DynamoDB tables with relevant metadata and parameters for new tenants
- ENV variables to enable Terraform code automation
- AWS CodePipeline for continuous application and infrastructure update delivery
ClearScale used AWS CodePipeline and AWS CodeBuild to deploy new tenant resources with a manual approval stop for each deployment step. This all happened first in an AWS testing environment. The testing environment made it easier for ClearScale to explore and demo possible solutions with VisualizeHR before going live. As a result, when it was time to deliver the project, the client was confident that the new IaC-based approach would work.
The new solution can automatically accept and complete an input table consisting of tenant information and resource hardware requirements (common and tenant-specific). The pipeline then runs on an AWS production account. ClearScale also handed over detailed documentation for the deliverables with architecture, flow diagrams, and runbooks that provide instructions for configuring, running, troubleshooting, and maintaining the new CI/CD pipeline. The combination of well-constructed & documented CodePipeline along with formal documentation has already allowed VisualizeHR to maintain and extend the solution with new features.
Architecture Diagram
The Benefits
Thanks to ClearScale’s efforts, VisualizeHR now has an automated CI/CD pipeline that onboards customers in a fraction of the time with minimal manual work. The client’s internal engineers no longer have to worry about tedious, error-prone infrastructure tasks. They can focus instead on developing new features and supporting existing customers as they look to improve HR operations in today’s ever-changing world.