Capillary Modernizes AWS Architecture to Scale 15x While Controlling Costs
Scaling a Rapidly Growing Business
Capillary solutions power more than 100 loyalty programs across the globe, and the company continues to onboard increasingly larger enterprises every year. In 2019, Capillary onboarded a multinational corporation with daily transaction volumes that were 10–15 times higher than any of Capillary’s existing customers. This sparked conversations about maintaining performance and profit margins at scale, and improving elasticity to support such high-volume customers.
Vice President of Engineering, Capillary Technologies
Optimizing Storage Volumes
One of the low-hanging fruits that Capillary immediately addressed was switching to a different storage volume type on Amazon Elastic Block Store (Amazon EBS). Many of the company’s workloads were attached to higher throughput storage volumes on Amazon EBS, but the teams found redundancies during the deep dive. Capillary was able to cut storage costs by about 40 percent by switching to more cost-effective volumes, while still maintaining the high-performance levels the business required.
Unlocking Value with Managed Services
Database administration, typically a major IT cost center for businesses, was the first target for conversion to a managed services model. The company stores and processes 200–250 TB of data, and database maintenance was a time-consuming task for its engineers. To address this, Capillary migrated from self-managed MySQL database clusters—which it has used since its founding—to Amazon Aurora. “With Amazon Aurora, we’re spending just one-third of the time we spent on our previous databases, and we no longer have to worry about recovery and failover, which are completely automated,” says Goel. Engineers now spend their time writing code and looking at new ways to automate performance monitoring as their infrastructure scales.
Faster, Smoother Deployments
In addition, Capillary’s customers no longer experience brief periods of downtime associated with deployment. In most cases, Capillary is exceeding its customer service level agreement of 99.5 percent uptime, and it now achieves 99.9 percent availability thanks to containerization on AWS. “This improvement in customer satisfaction gives the sales team the confidence to target multinational clients,” Goel says.
Realizing Multiple Benefits with Containers
The company is on a journey to move completely to a continuous integration/continuous deployment (CI/CD) model, which Goel says has brought a lot more engineering discipline to his teams. “Because containers can scale up and be deployed in a rolling pattern, this shift is an organic first step to a fully developed CI/CD approach.”
Reducing the Cost of Machine Learning Inferencing
With this service, Capillary benefits from an always-on model for inferencing that automatically scales up and down according to demand. This reduces the cost of inferencing by avoiding overprovisioning of memory-heavy GPU compute resources. “We can host multiple ML models on the same Amazon Elastic Inference unit, and we optimized the cost even further with multiple units on the same host machine, which keeps CPU utilization low,” Goel says.
Investing in R&D to Launch New Products
Looking back, Capillary recognizes the value of the collaborative approach to problem-solving it has developed with AWS. “AWS solutions architects, sales and support teams have worked closely with us to understand our app architecture in great detail,” says Goel. “They keep us updated on how we can leverage particular components of our existing architecture, and consistently provide personalized and relevant suggestions.”
Capillary Technologies provides an AI-powered loyalty management, customer data, and omnichannel customer engagement platform that powers more than 400 brands. Its client portfolio includes Fortune 500 enterprises in more than 30 countries across multiple regions.
Benefits of AWS
- Reduces monthly infrastructure costs by 30%
- Improves service availability to 99.9%
- Decreases storage costs by 40%
- Enables immutable deployments and a CI/CD approach
- Reduces database management time by two-thirds
- Cuts deployment time from 50 minutes to 20 minutes
- Accelerates time-to-market with multiple releases per day
AWS Services Used
Amazon Elastic Kubernetes Service
Amazon Elastic Kubernetes Service (Amazon EKS) gives you the flexibility to start, run, and scale Kubernetes applications in the AWS cloud or on-premises. Amazon EKS helps you provide highly-available and secure clusters and automates key tasks such as patching, node provisioning, and updates.
Amazon Aurora is a MySQL and PostgreSQL-compatible relational database built for the cloud, that combines the performance and availability of traditional enterprise databases with the simplicity and cost-effectiveness of open source databases.
Amazon Elastic Block Store
Amazon Elastic Block Store (EBS) is an easy to use, high-performance, block-storage service designed for use with Amazon Elastic Compute Cloud (EC2) for both throughput and transaction intensive workloads at any scale.
Amazon Elastic Inference
Amazon Elastic Inference allows you to attach low-cost GPU-powered acceleration to Amazon EC2 and Sagemaker instances or Amazon ECS tasks, to reduce the cost of running deep learning inference by up to 75%. Amazon Elastic Inference supports TensorFlow, Apache MXNet, PyTorch and ONNX models.
Companies of all sizes across all industries are transforming their businesses every day using AWS. Contact our experts and start your own AWS Cloud journey today.