HomePortfolioA Microservices Module for an HRM Platform to Automate Recruitment

A Microservices Module for an HRM Platform to Automate Recruitment

Azure
CI/CD
Cloud-Native
Microservices

A provider of human resource management (HRM) software turned to Altoros to build a new module for its flagship platform, while enabling high availability, scalability, and operations automation.

A Microservices Module for an HRM Platform to Automate Recruitment

About the project

Brief results of the collaboration:

  • The organization built a highly available, scalable, and multitenant system that streamlines the recruitment process from hiring to onboarding, and attracted 30 new corporations as its clientele.
  • The microservices-based architecture ensured ease of maintenance, as well as contributed to offering the product both as a standalone module and part of the existing HRM platform.
  • The integration with Idibu ensured automated vacancy posting across 650 international job boards.
  • The security measures in place not only allowed to protect personal information of job applicants, but also laid the foundation for compliance with such standards as the General Data Protection Regulation.
  • With a continuous integration/delivery pipeline, the company was able to save 980 valuable man-hours on development, testing, and maintenance.

The customer

Based in Australia, the customer is a provider of software solutions for human resource management. Founded in 2018, the organization has offices in the UK, Malaysia, and Singapore. As of 2021, the company reported a revenue of $15 million.

The need

The customer provided an HRM platform comprising 7 modules for onboarding, wage payment, employee training, etc. Since the platform was an on-premises offering built upon an outdated stack, it has become effort- and time-consuming to maintain at each customer location. Striving to enable seamless multitenant experience, the company migrated to the cloud. As part of this journey, the team decided to build a separate recruitment module—streamlining the process from hiring to onboarding—and integrate it with a third-party service allowing to post vacancies across 650 job boards.

Aiming to expand to a global market, the provider relied on a profound cloud-native expertise at Altoros to deliver a highly available, scalable module that could be utilized both as a standalone system or part of its HRM platform offering.

The challenges

Under the project, the team at Altoros had to address the following issues:

  • As the system would collect, store, and process personal information of job applicants (e-mails, phone numbers, etc.), ensuring data security was a priority.
  • It was crucial to automate vacancy posting to 650 job boards available through a third-party service. However, each of the boards had its own configuration options (e.g., different fill-in fields) and settings (supported countries, currencies, etc.), resulting in discrepancies.
  • Since the job boards also featured different data formats, it was important to achieve unification for analytics and visualization purposes.

The solution

Stage 1. Using the Microsoft Azure technology stack, engineers at Altoros built the new module as a set of independent microservices. This both contributed to ease of maintenance without the need to rewrite the whole system, as well as satisfied the customer’s requirement to offer the module standalone or as part of the HRM platform. Utilizing the perks of event-driven serverless computing with Azure Functions, the developers enabled high availability, scalability, and multitenancy. Following Agile best practices, the team at Altoros was also able to deliver new functionality every 4 weeks.

Stage 2. To enforce security, the engineers implemented a few measures: set up a centralized storage for logins, credentials, etc., with Azure Key Vault and delivered role-based access control.

Stage 3. Developers at Altoros integrated the system with Idibu, a third-party service facilitating vacancy posting across 650 job boards. By building an API client using JetBrains Rider, the team prevented discrepancies coming from differences in configurations and settings of each job board.

Stage 4. To unify varying data formats, the engineers employed Azure Cosmos DB, a schema-agnostic database. Then, developers at Altoros tweaked materialized views, making it possible to retrieve information from multiple documents, consolidate it, and visualize in a single screen.

Stage 5. With code reuse in place, the team enabled HR managers to create and customize interview templates, thus facilitating all the associated recruitment workflows.

Stage 6. By building a continuous integration / delivery pipeline using Azure DevOps, engineers at Altoros saved 980 man-hours on product development, deployment, and testing.

Stage 7. Finally, the developers provided ongoing support and maintenance, introducing features and customizations based on end-user feedback.

The outcome

Partnering with Altoros, the provider built a highly available, scalable, and multitenant system—that streamlines the recruitment process from hiring to onboarding—attracting 30 new corporations as clientele. Thanks to the microservices-based architecture, the system is easy to maintain and can be offered both as a standalone module or part of the existing HRM offering. The integration with Idibu promoted automated vacancy posting across 650 job boards. With a continuous integration / delivery pipeline in place, the company was able to save 980 valuable man-hours and invest this time and effort into other business-empowering activities.

Technology stack

Platform

Microsoft Azure

Programming languages

C#

Frameworks and tools

.NET Core, JetBrains Rider, Azure Functions, Azure Key Vault, Azure API Management, Azure DevOps, Azure Blob Storage, Azure Queue Storage

Databases

Azure Cosmos DB, Azure SQL Database

30

onboarded
corporations

650

job
boards

980

saved
man-hours

Want to develop something similar?

Ryan Meharg

Ryan Meharg

Cloud Solutions Architect

ryan.m@altoros.com650 265-2266

4900 Hopyard Rd. Suite 100 Pleasanton, CA 94588