Why Signeasy chose AWS Serverless to build their SaaS dashboard
AWS Architecture BlogWhy Signeasy chose AWS Serverless to build their SaaS dashboardby Venkatramana Ameth Achar and Vivek Daramwal | on11 NOV 2022| inArchitecture,Customer Solutions,Serverless|Permalink|ShareSigneasyis a leading eSignature company that offers an easy-to-use, cross-platform and cloud-based eSignature and document transaction management software as a service (SaaS) solution for businesses. Over 43,000 companies worldwide use Signeasy to digitize and streamline business workflows. In this blog, you will learn why and how Signeasy usedAWS Serverlessto create a SaaS dashboard for their tenants.Signeasy’s SaaS tenants asked for an easier way to get insights into tenant usage data on Signeasy’s eSignature platform. To address that, Signeasy built a self-service usage metrics dashboard for their SaaS tenant using AWS Serverless.Usage reportsWhat was it like before the self-service dashboard experience? In the past, tenants requested Signeasy to share their usage metrics through support channels or emails. The Signeasy support team compiled the reports and then emailed the report back to the tenant to service the request. This was a repetitive manual task. It involved querying a database, fetching and collating the results into an Excel table to be emailed to the tenant. The turnaround time on these manual reports was eight hours.The following table illustrates the report format (with example data) that the tenants received through email.Figure 1. Archived usage reportsThe designSigneasy deliberated numerous aspects and arrived at the following design considerations:Enhance tenant experience— Provide the reports to tenants on-demand, using a self-service mechanism.Scalable aggregation queries— The reports ran aggregation queries on usage data within a time range on a relational database management system (RDBMS). Signeasy considered moving to a data store that has the scalability to store and run aggregation queries on millions of records.Agility— Signeasy wanted to build the module in a time-bound manner and deliver it to tenants as quickly as possible.Reduce infrastructure management— The load on the reports infrastructure that stores and processes data increases linearly in relation to the count of usage reports requested. This meant an increase in the undifferentiated heavy lifting of infrastructure management tasks such as capacity management and patching.With the design considerations and constraints called out, Signeasy began to look for the suitable solution. Signeasy decided to build their usage reports on a serverless architecture. They chose AWS Serverless, because it offers scalable compute and database, application integration capabilities, automatic scaling, and a pay-for-use billing model. This reduces infrastructure management tasks such as capacity provisioning and patching. Refer to the following diagram to see how Signeasy augmented their existing SaaS with self-service usage reports.Architecture of self-service usage reportsFigure 2. Architecture diagram depicting the data flow of the self-service usage reportsSigneasy’s tenant users log in to the Signeasy portal to authenticate their tenant identity.The Signeasy portal uses a combination of tenant ID and user ID inJSON Web Tokens(JWT) to distinguish one tenant user from another when storing and processing documents.The documents are stored inAmazon Simple Storage Service(Amazon S3).The users’ actions are stored in the transactional database onAmazon Relational Database Service(Amazon RDS).The user actions are also written as messages into message queue onAmazon Simple Queue Service(Amazon SQS). Signeasy used the queue toloosely coupletheir existing microservices onAmazon Elastic Kubernetes Service(Amazon EKS) with the new serverless part of the stack.This allows Signeasy toasynchronously process the messagesin Amazon SQS with minimal changes to the existing microservices on EKS.The messages are processed by a report writer service (Python script) onAWS Lambdaand written to the reports database onAmazon Timestream. The reports database on Timestream stores metadata attributes such as user ID and signature document ID, signature document sent, signature request received, document signed, and signature request cancelled or declined, and timestamp of the data point. To view usage reports, the tenant administrators navigate to the Reports section of the Signeasy portal and select Usage Reports.The usage reports request from the (tenant) Web Client on the browser is an API call toAmazon API Gateway.API Gateway works as a front door for the backend reports service running on a separate Lambda function.The reports service on Lambda uses the user ID from login details to query the Amazon Timestream database to generate the report and send it back to the web client through the API Gateway. The report is immediately available for the administrator to view, which is a huge improvement from having to wait for eight hours before this self-service feature was made available to their SaaS tenants.Following is a mock-up of the Usage Reports dashboard:Figure 3. A mock-up of the Usage Reports page of the Signeasy portalSo, how did AWS Serverless help Signeasy?Amazon SQS persists messages up to 14 days, and enablesretryfunctionality for message processed in Lambda. Lambda is anevent-drivenserverless compute service that manages deployment and runs code, with logging and monitoring throughAmazon CloudWatch. The integration ofAPI Gateway with Lambdahelped Signeasy easily deploy and manage the backend processing logic for the reports service. As usage of the reports grew,Timestream continued to scale, without the need to re-architect their application. Signeasy continued to useSQL to query datawithin the reports database on Timestream in acost optimizedmanner.Signeasy used AWS Serverless for its functionality without the undifferentiated heavy lifting of infrastructure management tasks such as capacity provisioning and patching. Signeasy’s support team is now more focused on higher-level organizational needs such as customer engagements, quarterly business reviews, and signature and payment related issues instead of managing infrastructure.ConclusionGoing from eight hours to on-demand self-service (0 hours) response time for usage reports is a huge improvement in their SaaS tenant experience.The AWS Serverless services scale out and in to meet customer needs. Signeasy pays only for what they use, and they don’t run compute infrastructure 24/7 in anticipation of requests throughout the day.Signeasy’s support and customer success teams have repurposed their time toward higher value customer engagements vs. capacity, or patch management.Development time for the Usage Reports dashboard was two weeks.Further readingBuilding a multi-tenant Software-as-a-Service (SaaS) solution using AWS Serverless(workshop)SaaS Lens for the AWS Well-Architected FrameworkVenkatramana Ameth AcharAmeth is a Solutions Architect at AWS. In his 20+ years of work experience he has helped customers achieve their business objectives using his skills in systems integration, prototyping, process automation, architecting solutions on cloud and data centers, as well as team management. He has served customers in ecommerce, semiconductor, finance, education, telecom, aggregators, logistics, media, gaming, security, and electric vehicles domains. On a personal front, he continues to improve his knowledge on renewable energy, music, and digital photography.Vivek DaramwalVivek is a Technical Architect at Signeasy who loves architecting and building backend systems at scale, and solving engineering problems.
Signeasy is a leading eSignature company that offers an easy-to-use, cross-platform and cloud-based eSignature and document transaction management software as a service (SaaS) solution for businesses. Over 43,000 companies worldwide use Signeasy to digitize and streamline business workflows. In this blog, you will learn why and how Signeasy used AWS Serverless to create a SaaS […]
Venkatramana Ameth Achar
Architecture Customer Solutions Serverless