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.

"We knew what our end goal was but also knew that accomplishing that goal would require six to nine months of internal effort. In addition, we knew that we would make mistakes along the way as we educated ourselves on the AWS infrastructure. ClearScale led us every step of the way and built exactly what we were looking for, often suggesting approaches that were far superior to our originally envisioned choices. The ClearScale team also kept us in the loop with great documentation and executed a thorough testing process to make sure their solution met our needs. They built us a fast and efficient solution that has cut down our customer onboarding time significantly."
Bennett Reddin
CTO, Visualize HR

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

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.