ilustration image

Migration

Saas

Unveiling SaaS Potential: Scaling with Customer Demand

As with many software companies, there came a point in the Innovatrics DOT business journey when providing their software as a service (SaaS) became the most viable way to grow in the SMB segment. We kicked off our collaboration, defined all the bottlenecks that needed to be solved in order to begin their cloud migration, and introduce  to introduce their SaaS to the market fast and ready to scale for growing customer demand.

The Client

Innovatrics is an independent EU-based provider of multimodal biometric solutions whose algorithms consistently rank among the fastest and most accurate in fingerprint & face recognition. Innovatrics’ products are being used in more than 80 countries, benefiting over a billion people worldwide. Their Digital Onboarding Toolkit (DOT) allows customers to create apps for verifying identities remotely. It simplifies remote identity verification including features like facial biometrics, ID document verification, and liveness detection. 

Challenge

The DOT team decided to build a new SaaS platform to serve small and medium customers. They were aware that they needed external help from cloud partners as this technology was an uncharted territory for them, also taking into account their internal capacities. Facing several challenges ranging from pure business topics to technical solution bottlenecks and lack of experience in SaaS operations.

 

Biggest business challenge was to define cost per tenant precisely, in order to set up the pricing model. On the technical side, it was identification of constraints prohibiting them from scaling in the cloud environment, as well as ensuring proper data isolation and meeting highest security standards. Last but not least, it’s always difficult to start managing operations of a SaaS product for the first time, defining all processes, putting a proper monitoring system in place, or defining SLAs with the end customers.

Technology Stack

  • AWS Elastic Kubernetes Service, AWS ElastiCache for Memcache
  • Linkerd, Argo Workflows, ArgoCD, Terraform, Helm
  • Prometheus, Thanos, Vector, Loki, Grafana

What we did

We successfully provided DOT with fast and efficient delivery of their new cloud platform. By implementing automation in the performance testing process, we were able to identify the optimal sizing for the application infrastructure which allowed us to set up scaling mechanisms that ensured the application could handle increased user demands without any performance issues. 

 

Our focus on time to market was also a key aspect of the success. We delivered the project promptly and simultaneously improved the application’s overall performance. Through our efforts, we enabled our client to swiftly enter the market while ensuring a high-performing and scalable solution.

SaaSification Process

Infrastructure setup

First, we moved the entire SaaS product infrastructure to AWS cloud, setting up an AWS Organization with multiple accounts for workload separation. From a networking perspective we created interconnected VPCs, both public & private subnets and Route53 zones. For application runtime we spawned multiple AWS EKS clusters with service mesh and enabled observability with logs, metrics, and alerting. Alongside the application runtime, we incorporated services like S3, AWS Aurora for PostgreSQL, and AWS ElastiCache for Memcache.

Application onboarding

Having the infrastructure up and running, we moved to deploying the application into the Kubernetes cluster. Application already had fully functioning CI pipelines, so we focused on reviewing and optimizing container image build,  along with migration of the existing services to the new environment. With the new infrastructure in place we needed to add a deployment pipeline by adopting the GitOps pattern through ArgoCD.

Performance test automation and scalability

Innovatrics already had application user-scenarios captured in jMeter tests. We leveraged them to create automated test platform controlled from GitLab pipelines, using ArgoCD and Argo Workflows to orchestrate the whole test pipeline, i.e.:

  • Deploying the application in load test configuration
  • Running jMeter in distributed mode by executing load test on multiple jMeter agents with dedicated compute infrastructure
  • Collecting test logs, results and uploading them to S3

Application right-sizing

With load test results we were able to determine a minimal scalable unit for the application helping with choosing the most suitable EC2 instance type for the application Kubernetes nodes. Also, it helped us to configure Pod resources and auto-scaling baseline for Kubernetes Horizontal Pod Autoscaler.

 

In addition to that load testing revealed significant performance gain by using specific instance types. And on top of that it helped set up the host pricing model for their SaaS offering.

Data security and compliance

We also helped Innovatrics prepare data security and compliance documentation by providing application data paths, including transport protocols in use and capturing actors that access and manipulate the application data.

Outcomes

Successfully deployed cloud platform that enabled DOT to introduce their SaaS product to the market much sooner, ready for onboarding first users and allowing the product to scale with customer demand. For Innovatrics it means having a highly-available and scalable cloud platform that is cost optimised and easy to operate.

 

We also helped Innovatrics define the expected Cost-per-Tennant for their DOT SaaS solution. By considering their operational costs and the substantial investment in SaaS development, we have helped them create well-defined and competitive pricing packages. This strategic approach ensures that Innovatrics can effectively monetize their offering while delivering value to their customers.

Future Steps

Moving forward, together with Innovatrics we plan to focus on completing the integration with Identity Provider (IDP) systems, deploying canary applications, and implementing application and infrastructure hardening measures. We’ll also aim to enhance auto-scaling capabilities by utilizing tools like Karpenter and KEDA for improved flexibility. These steps will contribute to the continuous improvement and growth of Innovatrics’ DOT SaaS platform, ensuring a more robust and scalable offering for their customers.

Lýdia Hanusková

Technical Director DOT

When it came to the infrastructure handover and overall delivery, everything went smoothly. Also, we appreciate their ongoing support and fast response to our questions.

Need help
moving to a SaaS offering?

We are here for you
contact us

profile photo

Ivan Sakin

Growth & Partnership Manager

WHAT’S NEXT?