Ula Leverages Amazon EC2 Spot Instances to Build a Cost-Effective, Scalable Purchasing App for Small Businesses
Micro enterprises—businesses employing less than nine employees and selling locally—comprise 98 percent of Indonesia’s economy. Inventory management and cash flow issues commonly plague micro to small and medium businesses (MSMEs) in Indonesia. Inconsistent deliveries or lack of delivery options, plus limited working capital, can cause undue stress for MSMEs.
Ula, short for Untung Lancar Aman, is a B2B ecommerce marketplace app with a goal to solve these pain points through technology. Its MSME customers can order the products they need on their mobile phones and expect delivery within two days. The startup serves more than 100,000 customers across Java Island from its warehouses that stock over 6,000 in-demand stock-keeping units (SKUs).
Pricing is competitive and transparent, and customers have the option to pay later, which eases MSME’s cash management challenges. “We aim to be like Amazon for our customers—assuring them of the quality and timeliness of their deliveries,” says Alan Wong, cofounder and chief technology officer of Ula.
AWS continues to guide us on how to build our business while optimizing cost along the way.”
Engineering Manager, Ula
Simple, User-Friendly App with over 100,000 Users
The Ula app launched in January 2020 and has acquired over 100,000 users over the last two years. The app was built with simplicity and utility in mind, as many small business owners have basic mobile devices and struggle with poor network connections. “We shape our app and technology stack with a customer-first mentality,” says Samuel Pamudji, engineering manager at Ula.
Ula’s founders chose to build the app on the Amazon Web Services (AWS) Cloud, based on their past positive experience with the platform in their previous company. The app is at least one-third lighter than its competitors, making it easier for MSMEs to download and use in any setting. The Ula app uses about 10 MB of mobile device memory, whereas its competitors use between 15–19 MB.
Controlling Costs as the Business Grows
In addition to simplicity, the Ula app was built to scale. Its business volume has grown 300 times since the company’s launch, and Ula plans for further expansion across Indonesia and into other Southeast Asian countries. The business adopted a fully containerized approach, using Amazon Elastic Container Service (Amazon ECS) for automated orchestration at any scale. The startup also controls costs by using Amazon Elastic Compute Cloud (Amazon EC2) Spot Instances in its development, staging, and production environments.
Ula saves up to 70 percent on its monthly infrastructure bill by deploying the “Amazon ECS plus Spot” strategy across its entire technology stack. By controlling its backend costs, Ula provides an affordable service to cost-conscious customers as it grows.
Ensuring High Availability and Reliability
Ula’s DevOps and Engineering teams configured its AWS infrastructure, including Spot Instances, using Terraform infrastructure as code software. The startup also consulted with its AWS account team and used the AWS Well Architected tool to ensure high availability and reliability from the get-go in its production environment. As a result, the Ula app maintains at least 99 percent uptime.
In addition, the startup leverages backup Amazon EC2 Reserved Instances, in case Spot Instances get terminated, and uses AWS Auto Scaling to scale resources on demand. Pamudji and the team also adopts the capacity-optimized allocation strategy in AWS Auto Scaling Groups and configures Amazon ECS to spread priority workloads across AWS Availability Zones.
Improving App Performance with Architecture Support
Ula still consults regularly with AWS to fine-tune its app, improve availability, and scale up in a cost-optimized manner. “The support AWS provides is a key differentiator from other cloud platforms. AWS continually engages with our DevOps and Engineering teams on a variety of topics,” Pamudji says.
The head of Ula’s DevOps team has completed AWS Certification courses and is a source of inspiration and guidance for Ula’s IT teams when designing architecture for specific use cases. As a result of these engagements and training, Ula has adopted new practices to improve app performance. For example, the startup centralizes logging with Amazon CloudWatch to monitor and identify areas that require debugging. This ensures its app runs smoothly whenever customers log in.
Collaboration Fuels Efficient Release Cycle
Collaboration among team members, an innovative, customer-first mindset, and the ease of finding and using tools on AWS contribute to an efficient build-and-deploy cycle. As such, alignment between Ula’s DevOps and Engineering teams is critical to the startup’s successful operation. Its DevOps team strives to create templates and tools that expedite engineers’ ability to carry out their jobs.
“AWS provides a range of solutions we can experiment with to solve different challenges,” Pamudji says. “We can build something quickly with minimal effort, using solutions such as AWS Lambda to cut down development time with quick iterations.” The startup performs more than one release each week, which includes updates and patching to ensure its app is running optimally across varying network conditions and user devices.
High-Profile Expansion Planned
Looking ahead, Ula plans to explore more AWS services to scale rapidly as it eyes domestic and international expansion. The business has captured the attention of Amazon’s Jeff Bezos, who invested in Ula’s most recent financing round. Its DevOps team is also working on enhancing its continuous integration/continuous deployment (CI/CD) pipeline, to roll out new tools for engineers and new features for Ula users even faster. “AWS continues to guide us on how to build our business while optimizing cost along the way,” Pamudji concludes.
To learn more, visit Amazon EC2 Spot Instances.
About Ula (Untung Lancar Aman)
Ula is a B2B ecommerce marketplace app that helps small retailers better manage their working capital and stock through technology, to improve their margins and grow their business. Launched in January 2020, the app currently has over 100,000 users, with domestic and international expansion planned.
- Scales to support 300x increase in business volume
- Saves 70% on monthly infrastructure costs
- Maintains 99% or higher uptime
- Receives ongoing support for business needs
- Deploys weekly with a wide range of tooling
- Creates templates to expedite cloud engineering
- Facilitates local and international business expansion
AWS Services Used
Amazon Elastic Container Service
Amazon ECS is a fully managed container orchestration service that makes it easy for you to deploy, manage, and scale containerized applications.
Amazon EC2 Spot Instances
Amazon EC2 Spot Instances let you take advantage of unused EC2 capacity in the AWS cloud.
AWS Lambda is a serverless, event-driven compute service that lets you run code for virtually any type of application or backend service without provisioning or managing servers.
AWS Auto Scaling
AWS Auto Scaling monitors your applications and automatically adjusts capacity to maintain steady, predictable performance at the lowest possible cost.
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.