Upwork Saves 45% on Compute Costs by Migrating to AWS Savings Plans
Upwork Global Inc. (Upwork), putting itself forward as “the world’s work marketplace,” connects highly skilled freelancers with businesses, seeking to help them build trusted, long-term relationships. For the company to do so, it requires a robust compute infrastructure that is secure, reliable, and cost efficient. Upwork meets its compute needs on Amazon Web Services (AWS) using Amazon Elastic Compute Cloud (Amazon EC2), a web service that provides secure, resizable compute capacity in the cloud.
In 2019, Upwork was planning a migration of its AWS infrastructure from the AWS US West (Northern California) Region to the AWS US West (Oregon) Region. To maintain the customer experience, Upwork needed its Amazon EC2 instance clusters to run in multiple AWS Regions simultaneously. However, effectively predicting compute demands 2 years in advance was a challenge. Upwork turned to AWS for a cost-effective solution to simplify the process and enable a more effective migration strategy.
The AWS account team suggested that Upwork use Savings Plans, a flexible pricing model providing lower prices compared to Amazon EC2 On-Demand Instances in exchange for a specific usage commitment. With more savings and flexibility, Upwork was well positioned to implement the needed infrastructure to mitigate migration impact and allocate additional savings toward initiatives facilitating the company’s continued growth.
Through the multiyear Compute Savings Plans, we’ve seen savings on Amazon EC2 instances jump from 25 percent for On-Demand Instances to more than 45 percent in a few months.”
Capacity Planning Engineer, Upwork Global Inc.
Paying On-Demand Prices to Transfer AWS Regions
Upwork serves businesses of all sizes, from one-person startups to 30 percent of Fortune 100 organizations. Although its headquarters are based in California, its operations extend internationally—with over 18 million users registered as freelancers and another 5 million registered as clients. In 2016, Upwork fully built its infrastructure on AWS.
Previously, Upwork used Amazon EC2 Reserved Instances. This pricing model provides a discounted hourly rate and an optional capacity reservation for Amazon EC2 instances. Although Upwork was saving an average of 25–30 percent on compute costs under this model, its team of engineers was required to limit instance types to those that had been reserved already.
Additionally, it presented a challenge, considering the regional migration project that Upwork had undertaken. “We purchased our Reserved Instances in Northern California, and they couldn’t be transferred to different AWS Regions,” says Umakant Dwivedi, capacity planning engineer at Upwork. “That pushed up the use of On-Demand Instances for some time.” Upwork used 300–400 instances per day in this mode.
Moreover, converting Reserved Instances was labor intensive. “We had to manually calculate how much of an old instance family we had and how much we were going to buy,” says Dwivedi. Typically, these calculations took a team of engineers several hours each week to analyze and send calculations to the financial department for review. The process could take days. It also required continual monitoring of usage reports in case adjustments needed to be made.
Optimizing Savings and Staffing through Compute Savings Plans
This change came with increased flexibility and improved costs. The company has been able to facilitate its regional migration project without time constraints. It can migrate the AWS Regions of its instances at any time. “Compute Savings Plans and Multi-AZ engineering give us flexibility to mobilize our resources from one AWS Region to another without worrying about the timeline or the number of resources we’re launching,” says Dwivedi.
Additionally, Upwork has seen a decrease in compute costs. “Through the multiyear Compute Savings Plans, we’ve seen savings on Amazon EC2 instances jump from 25 percent for On-Demand Instances to more than 45 percent in a few months,” says Dwivedi. The flexibility of Compute Savings Plans also enabled Upwork to improve its committed-use discount coverage from 75 to 95 percent. In the last year, Upwork has consistently maintained 95–100 percent coverage for its compute needs on AWS.
Investing in the Workforce and AWS Technology
For Upwork, the benefits of Compute Savings Plans have been substantial. “If it’s a sliding scale from On-Demand Instances all the way to Reserved Instances, Compute Savings Plans are the obvious fit for people who are between those two options,” says Ong.
About Upwork Global Inc.
- Saved 45% on overall compute costs
- Maintains over 95% coverage for its compute needs
- Streamlined operations and lifecycle management
- Reduced On-Demand Instance compute needs and costs
AWS Services Used
Savings Plans is a flexible pricing model offering lower prices compared to On-Demand pricing, in exchange for a specific usage commitment (measured in $/hour) for a one or three-year period.
Compute Savings Plans
Compute Savings Plans provide the most flexibility and help to reduce your costs by up to 66%. These plans automatically apply to EC2 instance usage regardless of instance family, size, AZ, region, OS or tenancy, and also apply to Fargate or Lambda usage.
Amazon EC2 Reserved Instances
Amazon EC2 Reserved Instances (RI) provide a significant discount (up to 72%) compared to On-Demand pricing and provide a capacity reservation when used in a specific Availability Zone.
Amazon Elastic Block Store (Amazon EBS) is an easy-to-use, scalable, high-performance block-storage service designed for Amazon EC2.
Organizations of all sizes across all industries are transforming their businesses and delivering on their missions every day using AWS. Contact our experts and start your own AWS journey today.