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.

Technology concept. 3D render

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.”

Umakant Dwivedi
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

In 2020, Upwork became an early adopter of Compute Savings Plans, which automatically apply instance usage regardless of family, size, Availability Zone, AWS Region, operating system, or tenancy. “It gives us umbrella coverage,” says Dwivedi. “It doesn’t matter what the underlying instance family or type is—it covers everything. We don’t need to check usage reports every day. We know everything is covered, so we can focus on other high-priority items.”

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

Since making the switch to Compute Savings Plans, Upwork has reinvested the savings in its staff. “The savings went into head count for our teams,” says Pei-Lin Ong, program manager at Upwork. “The solution also enables us to think about applying our savings toward other technologies.” With more time, Upwork’s team of engineers has researched new volume types for Amazon Elastic Block Store (Amazon EBS), a block-storage service designed for use alongside Amazon EC2 for both throughput- and transaction-intensive workloads at any scale. The team is exploring a migration between Amazon EBS volume types—from gp2 to the new gp3 volumes—which could save the company an additional 20 percent on storage costs.

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.

Upwork Global Inc., “the world’s work marketplace,” serves over 18 million freelancers and 5 million business clients. Its mission is to place independent talent in every business and make economic opportunities for freelancers more accessible.


  • 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

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.

Learn more »

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.

Learn more »

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.

Learn more »

Amazon EBS

Amazon Elastic Block Store (Amazon EBS) is an easy-to-use, scalable, high-performance block-storage service designed for Amazon EC2.

Learn more »

Get Started

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.