Utilizing AWS API Gateway and FAAS Serverless Tech for Kynectiv Report Generation

Who They Are

Kynectiv is a global company that provides realistic simulations to the medical and education industries, providing real-world training and engagement. Custom Report generation is a popular component of the system, and utilizing serverless principles would help save server load and off-load core generation of a PDF file to create a clean frontend experience for the user.

Objective

  • Users were generating so many Reports, that the core underlying logic of creating a Report from PHP code into a PDF was taking considerable amount of server load.
  • Server load would spike and slow the overall system down during large Report generation.
  • Off-load Report generation, while keeping the "legacy" option available if needed.
  • Free up additional space by storing created files in the cloud instead of on local client server.

Solutions

  • EFS Networks created a robust Amazon Web Services API Gateway endpoint that would connect to the Kynectiv codebase.
  • When the API endpoint is triggered, a Chrome browser instance in the cloud is turned on to be directed to the page(s) needing to be converted into a PDF.
  • Utilizing serverless concepts such as Functions-As-A-Service (FAAS), an AWS Lambda FAAS was created using Node.js to view the webpage in the Chrome browser instance in the cloud and convert the page into a clean PDF.
  • Created PDF is then saved into an Amazon S3 file storage bucket, and the link to this file is then returned to the Kynectiv codebase to be presented to the user.
  • The legacy PDF generation logic was kept, and this new solution was added as an alternate solution, to keep the codebase clean and concise.
Case study image

The Results

With EFS Networks as an Amazon Web Services Partner, the opportunities to leverage current trends in the tech and software space were available to create a robust and scalable solution to off-load server intensive processes into the cloud. While sometimes they may sound like catchy buzzwords, using cloud and serverless technology helped speed up the Kynectiv codebase and provide a foundation for further off-loading and abilities to create a better frontend experience for the user.