FINEOS Extends Its Core Platform with Serverless Microservices and AWS CDK
FINEOS works with Trek10 to extend its Platform with microservices.
FINEOS is a publicly-traded SaaS company in the life, accident, and health insurance industry. They help their clients—largely insurance companies and governments—create modern, customer-centric infrastructure that will streamline operations and make it easier to provide care.
FINEOS Platform on AWS provides no-code and low-code capabilities for customers to build out unique differentiators and can be easily extended with microservices and REST APIs. They wanted to develop an example starter pack that customers, partners, and FINEOS’ own consulting team could use as a fast accelerator starter pack for extending FINEOS Platform with microservices.
Like many companies, FINEOS wanted to move fast and build the most robust solution possible. They started looking into AWS partners who could work alongside them while building the POC to lend their experience and answer questions.
“We had several calls with Trek10 and it was clear that they were experts in serverless,” said Michael Quinn, Chief Technology Architect at FINEOS. “We could tell they would be excellent to work with on this project.”
Extendible Microservices with AWS CDK
The goal of the POC was to build a CI/CD pipeline for deploying microservices on AWS that extend FINEOS Platform using REST APIs. The end solution needed to be documented well enough for customers and partners to use autonomously and serverless for ease of maintenance. It also needed to be generally easy to use, without dependency on other systems or proprietary skills, and with all communications between FINEOS Platform and the extending microservices using REST APIs.
Because of this, the two teams decided to use AWS CDK (Cloud Development Kit) instead of Cloudformation. Cloudformation can result in hundreds of lines of code that are hard to read and change; AWS CDK would let developers define resources using Typescript and make it easier to customize and define additional APIs and microservices.
“What I really like about AWS CDK is how it brings engineering principles to infrastructure by giving you the opportunity to programmatically and declaratively define things,” said Quinn.
For FINEOS, using CDK made the infrastructure much easier to maintain and tailor to different tenants.
Building the CI/CD Pipelines
The project provided an isolated environment with an AWS CDK project deployed into it. Developers can have multiple environments for development and testing environments, and a CDK project from a single source can be deployed to multiple environments using the CI/CD pipeline in an automated way.
Trek10 defined FINEOS’ original Java code implementing example extensions in AWS CDK, creating the Lambda functions, API Gateway with endpoints, and DynamoDB tables, which can be repeated the same way for any tenant of FINEOS Platform. The deployments are automated—after code changes are pushed to Git repos, a CDK project is deployed to the appropriate development, testing, or production environment on AWS. Customers are also able to modify the template to implement a Gitlab flow if they wish, with the CI/CD pipeline supporting feature development, continuous integration, UAT, staging, and production environments. Deployment is fully automated for all environments and stages of the CI/CD pipeline. The Java compiling process is also automated as part of the CI/CD flow and the source Java code is maintained within the project.
The process for creating new CI/CD pipelines and customizing CDK projects is thoroughly documented, complete with sample APIs, to make the project dead simple for customers to use.
“We’re a SaaS company and we like to make it easy for customers to extend FINEOS Platform using leading standard technologies, without any dependency on FINEOS technology stacks or skills,” said Quinn. “The robust documentation we have and the easy-to-use CI/CD pipelines with CDK make extending our platform using microservices so much easier.”
From POC to Production
The validated POC has made it much simpler for clients to extend FINEOS Platform without dependency on FINEOS skills. The entire process is thoroughly documented; AWS CDK is easy to use and flexible.
Quinn says that, beyond creating a new piece of infrastructure for their clients, learning AWS CDK has led to changes on their own team. FINEOS now uses CDK internally themselves, as they found it much easier to configure and maintain than Cloudformation. Throughout the process of working with Trek10, the engineering team at FINEOS has accelerated their adoption of serverless along with all the benefits it brings.
“Serverless removes so much overhead,” said Quinn. “We don’t have to worry about infrastructure—calibrating what size every container has to be, knowing when to run it—we just let AWS manage it while we focus on building new features for our customers.”