Skip to main content
BlogComputeHow One Customer Cut Costs by Migrating from EFS to Object Storage

How One Customer Cut Costs by Migrating from EFS to Object Storage

Icons representing a migration of data, with text.

In cloud computing, dealing with scale is both a goal and a challenge. This is especially true for companies that need to distribute software or firmware updates over the air (OTA). The challenge here is managing volume—ensuring that uploads and downloads are secure, efficient, and timely. A common setup for something like this is to use a virtual file system mounted to a private cloud server with a CDN to distribute the software globally. While this is a decent setup that many companies have relied on to help scale their distribution, how do you balance this with also reducing costs? This isn’t just a hypothetical scenario, lots of companies face similar challenges, including an electronics customer of ours that needed to distribute firmware updates OTA to millions of smart TVs all over the globe.

Distributing software like this comes with high stakes. These updates could be for new features, UI refinement, security patches, or performance improvements. A company handling OTA updates needs to make sure that if tens of thousands of customers update their TVs at the same time, the solution can handle the load efficiently without additional costs or overhead. This isn’t a unique challenge. Thousands of companies use OTA for their products and software.

In the case of our customer, the manufacturer initially used several different services to manage this: Akamai’s Content Delivery Network (CDN) for global distribution, AWS’s Elastic Compute Cloud (EC2) for compute power, Elastic Load Balancer for incoming traffic, and Elastic File System (EFS) for storing and managing the firmware files. This setup was built to handle immense scales of data distribution all over the world. However, it also came with a heavy price tag, particularly for egress costs.

AWS’s EFS was an integral part of the manufacturer’s operations that allowed them to store and manage OS and firmware updates centrally, as well as efficiently distribute them globally through integration with EC2 and the Elastic Load Balancer. However, the cost associated with EFS, particularly when dealing with large-scale data transfers outside AWS’s networks, became a growing concern.

The rising costs associated with EFS—particularly in egress fees for transfer out of AWS—prompted a reevaluation of the storage and distribution system for their smart TV updates. This marked a pivotal moment in the manufacturer’s strategy to manage costs while maintaining their robust global distribution system by moving from EFS to Linode Object Storage.

Solution

Object Storage being more cost-effective wasn’t enough to convince this customer to migrate from EFS. It also had to integrate seamlessly with their existing workflow. They managed to do this with the help of Akamai’s support team and some open source tools.

Within their architecture, they set up a primary Object Storage bucket in the Asia-Pacific & Japan region and a second bucket in the United States to serve as a backup. This redundancy avoids data loss and ensures that the availability of firmware updates remains constant even if the primary storage bucket fails. The two buckets are synchronized using rclone, an open source utility known for its efficiency in file transfer and synchronization. This tool was instrumental in ensuring that both buckets could serve as reliable origin servers for the CDN.

The transition involved a significant technical challenge: replacing their existing storage solution (EFS) with a new storage protocol (Object Storage) without disrupting their workflow. EFS and Object Storage are fundamentally different in their architecture and functionality. EFS provides a file system interface and semantics, which are essential for many applications that require a traditional file system. In contrast, Object Storage, is accessed through a web API, which does not natively support file system operations. As a result, you cannot simply swap out EFS for Object Storage.

To overcome this, we leveraged S3FS, an open source tool that simulates a file system interface on top of the S3 API. S3FS enabled us to “mount” the Object Storage buckets onto the manufacturer’s existing EC2 instances, so it behaves like EFS. This approach allowed the existing applications and processes to interact with Object Storage as if it were a traditional file system, minimizing the changes needed in the application code and reducing the risk of errors during the transition.

This architecture (above) not only streamlines the process of updating software across millions of devices all over the globe, but also brings about significant cost savings. By transitioning from AWS’s Elastic File System (EFS) to Object Storage, the company drastically reduced storage costs, with Object Storage proving to be over 15 times less expensive per GB than EFS. They also saw a 90% decrease in egress costs, marking a substantial improvement over the previous AWS environment. These savings illustrate the effectiveness of the new storage solution in managing both operational efficiency and cost-effectiveness.

This was not just a technical upgrade but a realignment with the manufacturer’s goals of efficiency, scalability, and cost management. By adopting Object Storage and integrating it smoothly (with the help of tools like rclone and S3FS), the manufacturer could significantly reduce their operational costs without compromising on the reliability or speed of their global firmware distribution. This case study demonstrates how decisions in technology adoption can significantly impact an organization’s bottom line.

Critical Analysis of Cost Effectiveness

In examining the transition from AWS to Linode via Akamai, the decision initially appears as a clear win in cost savings. However, a deeper dive into the cost structures and product comparison reveals some nuance. Here are some key decision points to keep in mind:

  1. AWS S3 vs. Linode Object Storage: The initial architecture channeled considerable egress traffic through the Elastic Load Balancer to the Akamai CDN. Given this structure, using Object Storage emerged as more cost-effective than AWS S3 due to significantly lower egress costs. However, if paired with AWS Cloudfront, the egress costs for object storage could be zero.
  2. AWS Cloudfront vs. Akamai CDN: The choice to stick with Akamai over AWS Cloudfront was influenced by the need to minimize architecture changes. The organization valued Akamai’s proven performance, reliability, and support, and the flexibility provided by using multiple cloud providers.

To quantify the financial impact, let’s consider a hypothetical scenario where, on a monthly basis, a customer manages 50TB of stored data with 100TB of outbound transfers. Below is a simplified cost breakdown for AWS EFS, AWS S3, and Linode Object Storage:

Storage SolutionCalculationTotal Cost
AWS EFS($0.3/GB * 50,000GB) + ($0.03/GB * 100,000GB)$18,000
AWS S3($0.023/GB * 50,000GB) + ($0.09/GB * 10,000GB) + ($0.085 * 40,000GB) + ($0.07/GB * 50,000GB)$8,950
Linode Object Storage($0.02/GB * 50,000GB) + ($0.005/GB * 49,000GB)$1,245

(Note: holistic price comparisons are hard. This only accounts for storage and bandwidth costs for the file storage, but does not account for the CDN. It’s also worth mentioning that some providers offer more discounted rates for customers with exceptionally high volume.)

Now, let’s look at the comparative costs associated with storage and egress for these cloud services (Note: prices are based on the cost at the time of writing this.)

Service TypeCost DescriptionPriceNotes
EFS StoragePer GB per month$0.30/GBIntuitive API and easy to use, but high cost. Consider alternatives for large volumes
S3 StoragePer GB per month for the first 50 TB$0.023/GBEconomical for large data storage
S3 EgressPer GB for the first 10 TB$0.09/GBMore costly for high data transfer, unless paired with Cloudfront. 
Per GB for the next 40 TB$0.085/GBScaling costs with volume
Per GB for the next 100 TB$0.07/GBBetter rates for even higher volume transfers
Linode StoragePer GB per month$0.02/GBMost cost-effective for storage
Linode EgressFirst 1TB free, then per GB$0.005/GBSignificant savings on data egress, maximizes budget efficiency

In this analysis, using Object Storage is approximately 1/15th the cost of the original solution with AWS EFS, and about 1/7th the cost of using AWS S3 (assuming AWS Cloudfront is not utilized to offset egress fees).

Conclusion

This cost comparison illustrates the significant savings achieved by switching to Linode Object Storage. It also highlights the importance of tailoring cloud solutions to the specifics of a company’s traffic patterns and content delivery network (CDN) requirements. When businesses analyze their data usage and distribution strategies, they can uncover significant cost-saving opportunities that might otherwise be overlooked.

The decision to switch storage solutions was not made lightly; it was backed by a detailed evaluation of the company’s operational requirements and financial objectives. By understanding the volume of data being managed, the frequency of data access, and the geographic distribution of users, the company was able to identify Linode as the most cost-effective solution that also met their needs. This kind of informed decision making is critical in cloud architectures, where costs can vary dramatically based on storage type, data transfer volumes, and access frequencies.

While programmers and architects should focus on performance and scalability of a solution, they might also need to be considerate of the financial impact on the companies they work for. Solutions must not only meet the technical requirements but also align with the broader financial strategies of an organization. Doing so can prevent budget overruns and ensure that IT investments deliver the maximum possible return.

We help companies architect solutions like this all the time. If you’d like to learn more about how to implement this yourself, sign up for our newsletter, connect with us on Twitter or LinkedIn, or subscribe to our YouTube channel. In addition to these technical guides, if you or your organization is considering optimizing its cloud storage and CDN solutions, you can try Linode’s solutions using by signing up to get $100 in free credits.

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *