Source: cio.com
If ever there has been a need to adapt, 2020 has let it be known that this is the year. COVID-19 has brought about all kinds of workplace changes, from remote work with video meetings to temporary layoffs. It may seem like just another buzzword, but microservices can help human capital management (HCM) systems face the multitude of challenges that 2020 brings and help ensure workforce resiliency.
What microservices are
Darshan Kapadia, director of platform engineering at Lifion by ADP, explains that microservices are a way of designing and developing software so that each of the individual components can be worked on and deployed independently of the others. The key here is components are self-contained. This architecture allows for a rapid software release cycle because one component team doesn’t need to wait for another to finish before deploying.
Compare this model to more traditional monolithic architecture, which is still used widely: The product is developed as a whole by one large team and released as one large product. That means all the smaller teams working on components need to coordinate and deploy the product simultaneously.
Why microservices work so well
There are two reasons Kapadia touches on that explain why microservices have an edge.
- Releasing a new product in small pieces that can run independently, instead of one large product, allows teams to focus on their own smaller piece of code. There’s a lower chance of failure when a new product is deployed, “and the blast radius is small,” he says. In addition, bug fixes and performance updates can be deployed as they are ready on an individual basis vs having to sustain a longer cycle between updates.
- With constant innovations in technology, microservices enable organizations to add new components without waiting for a complete overhaul of an outdated system. Kapadia explains how at Lifion, they went from self-managed databases to entirely genuine in just under nine months. “That is unimaginable if you are in a traditional monolithic system with multiple databases,” he says. “It isn’t possible because you have to coordinate everything before that can happen,” something that can take a year’s depending on system complexity.
Moreover, the research and improvements happening in the UX space are significant right now, and in order to get those tools into the hands of customers, UI needs to be a separate component that can be deployed independently.
Microservices also employ simple routing methods, receiving requests, processing those requests, and then responding accordingly. This is in contrast to architecture involving enterprise service buses which use more complex integration approaches.
The HCM pivot during COVID-19
Most, if not all, organizations have needed to pivot as the pandemic changed the way we work. In the case of HR products, there have been changes in taxation and new payroll terms added as well as return-to-work protocols.
Microservices can expedite these types of changes, making them easier to deploy than a traditional product, since the tech team is able to work continuously behind the scenes, releasing updates as they are ready.
Not only that, with everyone working from home for months at a time communication can become a problem no matter how many video calls are scheduled. With microservice architecture, however, “communication doesn’t become a barrier,” explains Kapadia. “That’s because the microservices are talking to each other with a very strict set of contracts that can’t be broken.” This allows team members to perform updates behind the scenes with minimal communication, he says.
Aside from the presence of the global health event, what makes microservices so valuable to HCM is the ability to mitigate costs by scaling services as needed and independently of others. Spikes in traffic for specific systems, such as payroll, time, or benefits, come at predictable times, Kapadia says, so scaling each one individually rather than altogether for every single one of those times can save money.
What you should have first
Kapadia explains that there are some circumstances in which a company won’t benefit from microservices. An organization should be completely on board with the microservice paradigm, since services will be divided into small chunks for different teams. All teams should be in agreement, he says, because while each piece is developed independently, they need to all work together. It’s also critical to ensure that the boundaries of microservices are well defined. If a large number of microservices need to communicate for performing a single task, it can cause performance issues due to network latency between services.
In addition, it’s important to have a robust Continuous Integration and Continuous Deployment (CI/CD) pipeline in place because developing, testing, and deploying products will take place independently. The right tools and platforms should also already be in place, with active support for flexible runtime deployment and automated monitoring, as well as container hot deployment.
Organizations need to be agile and willing to adapt to a larger variety of scenarios than ever. The ability to pivot and adapt quickly is exactly what microservice architecture is designed for.