INDmoney Reduces Computing Costs by 50–70% with Amazon ECS on Spot Instances
A Super Money App
When it comes to effective personal finance management, keeping your financial health in good shape isn’t always easy. Many people focus on building a retirement plan and an investment strategy, but in order to do so and achieve financial wellness, it’s important to be able to track your complete financial life on one app.
Founded in 2018 in India, INDmoney is a “super money app” that offers users a comprehensive tracking platform that includes machine learning (ML)–driven recommendations and the ability to invest directly in financial markets. With in-depth analysis on more than 14,000 funds and 10,000 stocks—including US-based instruments—app users have the tools they need to track, save, and grow their money, all in one app. Additionally, users can integrate their family members and company assets into one account for a holistic view of their financial standing.
“AWS allows us to experiment and reimagine our deployment strategies as we innovate, and control costs at the same time.”
Engineering Director, INDmoney
Blitzscaling to Grow User Base
When INDmoney first launched, it had a clear goal in mind to “grow the business relentlessly.” It adopted a blitzscaling strategy, defined as achieving massive scale at incredible speed. To this end, INDmoney’s engineers are working at a feverish pace to double the number of service offerings by 2021 and expand its user base. However, this strategy requires a solid architecture to propel INDmoney to the next phase of explosive growth.
To support the pace of innovation the startup envisions, INDmoney chose the Amazon Web Service (AWS) Cloud. “AWS allows us to experiment and reimagine our deployment strategies as we innovate, and control costs at the same time,” explains Aman Gupta, engineering director at INDmoney.
Finding the Right Cost-Saving Strategy
As the business started expanding, engineers sought lower costs by containerizing its app in line with its shift to a microservices approach. In the past, some of INDmoney’s engineers had prior experience using Amazon Elastic Compute Cloud (Amazon EC2) Spot Instances in conjunction with Amazon Elastic Container Service (Amazon ECS) for stateless applications. They looked to replicate this strategy at INDmoney and reached out to AWS for support.
AWS set up an “Amazon ECS plus Spot Instances” strategy, using a dummy environment for hands-on testing with INDmoney data. In one-and-a-half months—two weeks faster than expected—the startup had containerized its entire application stack using AWS Auto Scaling groups.
“The AWS team was very supportive throughout the implementation. We had some doubts about deciding how to set up computing units and Amazon ECS clusters, but we could easily seek advice from the team, so we didn’t get stuck,” shares Vibhor Malhotra, senior DevOps engineer at INDmoney. A key learning from the process was how to build applications to run Amazon EC2 On-Demand Instances and Spot Instances in parallel. With this approach, the on-demand server is always available as a backup to cope with traffic coming from a load balancer if a Spot Instance drains. This tactic ensures high availability for all workloads.
This provides a reliable platform for INDmoney’s users— one that they can access at any time to monitor their financial position, which is especially important for users who need to make investment decisions in near real-time. If a third-party service goes down, users won’t lose total accessibility.
Improving Security Posture
Containerization has also improved INDmoney’s security posture. Because Amazon ECS launches containers in the company’s virtual private cloud, no compute resources are shared among INDmoney’s different product offerings. “The base security level for AWS services exceeded our expectations,” Aman says.
Furthermore, INDmoney was particularly impressed with AWS Identity and Access Management (IAM), which it uses to assign granular permissions for each of its containers in order to restrict the services and resources that a container can access. The company also leverages Amazon CloudWatch for monitoring applications, combined with security alerts triggered using AWS Lambda scripts that are sent automatically to key stakeholders.
Accelerating New Products to Customers
Since implementing the Amazon ECS plus Spot Instances strategy, INDmoney has reduced computing costs by 50–70 percent. The company anticipates an even greater proportional cost reduction when it launches six new products planned for 2021.
Time-to-market is key to ensuring the success of such an accelerated product development pipeline. “AWS provides a slew of services that enable us to quickly deliver to our customers,” Aman says. “Once we have the basic configuration and automation in place using Amazon ECS plus Spot instances, it takes just a few hours to one day at most to put a new microservice into production.”
Data Powers Custom Advisory Engine
With a solid scaling strategy in place, INDmoney is currently leveraging Amazon Managed Streaming for Apache Kafta (Amazon MSK) and Amazon Redshift to build a real-time data pipeline and data warehouse. A data pipeline will provide dashboards for an in-depth analysis of customers’ financial state. INDmoney is also creating internal dashboards that enhance business intelligence with the same data extraction framework.
Customized analytics are just one of the functions that make INDmoney an all-in-one, super money app. The data warehouse solution is the foundation of an enhanced advisory system that guides users to make the right decision at the right time to improve financial health. When the app identifies a risk or opportunity in a user’s portfolio, it nudges investors to make decisions quickly to protect their gains. “This is a game changer because we can leverage data and analytics technologies out of the box, making only small tweaks to suit our business requirements,” Aman says.
At present, INDmoney has an in-house ML team that builds models and deploys them to Amazon ECS systems to generate recommendations, but the team is testing AWS cloud-native services to further automate this process. “While we are still experimenting with machine learning on AWS, we trust that AWS offers a solid range of machine learning services that will be useful for us in the future. That’s why we chose AWS to begin with.”
INDmoney, based in India, is a “super money app” that offers users a complete solution to track, save, and grow their financial assets. Customers receive tailored advisory services driven by machine learning and can invest directly in thousands of stocks, mutual funds, and similar instruments.
- Saves 50–70% on computing costs
- Automates scaling for massive growth
- Improves resiliency with isolated containers
- Analyzes user data to customize recommendations
- Enables dashboards for user insights and business intelligence
AWS Services Used
Amazon Elastic Container Service
Amazon Elastic Container Service (Amazon ECS) is a fully managed container orchestration service. Customers such as Duolingo, Samsung, GE, and Cookpad use ECS to run their most sensitive and mission critical applications because of its security, reliability, and scalability.
Amazon EC2 Spot Instances
Amazon EC2 Spot Instances let you take advantage of unused EC2 capacity in the AWS cloud. Spot Instances are available at up to a 90% discount compared to On-Demand prices.
Redshift powers analytical workloads for Fortune 500 companies, startups, and everything in between. Companies like Lyft have grown with Redshift from startups to multi-billion dollar enterprises.
AWS Auto Scaling
AWS Auto Scaling monitors your applications and automatically adjusts capacity to maintain steady, predictable performance at the lowest possible cost. Using AWS Auto Scaling, it’s easy to setup application scaling for multiple resources across multiple services in minutes.
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.