hamburger icon close icon

Data Transfer Fees: As Inevitable as Death and Taxes

December 18, 2018

Topics: 5 minute read

A fellow cloud architect sent me a text today about the NetApp® Cloud Volumes Service and egress charges. His customer has an application that had already been moved from on the premises to a competitor’s cloud file service, then moved once again to one of our own NetApp Cloud Volumes ONTAP® clusters. Because neither environment had been up to the task, the architect wanted to bring Cloud Volumes Service to bear.

The text went something like this:

“A customer of mine is looking at moving their application to Cloud Volumes Service. The workload is pretty intense, so I’m concerned that the egress charges will make it too expensive….”

Egress Fees? How About Transfer Fees?

It’s well understood that Amazon Web Services (AWS) charges a fee of $0.02 per gigabyte on egress through AWS Direct Connect and that ingress is free. So, for the rest of this blog post, I will instead focus on a more interesting data transfer scenario: Inter-Availability Zone transfer. I will also compare the transfer fee to the Direct Connect egress fee.

From scale-out, shared-nothing applications such as MongoDB and Cassandra to scale-up applications such as Oracle Database with Data Guard, the $0.02-per-gigabyte charge is hard to escape in AWS. You incur this charge even with AWS services such as RDS and Redshift. So, you pay it one way or another, as I will show later in this blog post. Data transfer fees, they’re as inevitable as death and taxes!

But these fees are just a part of the cost of running your business. More important than these fees is your TCO. That’s where NetApp Cloud Volumes Service can help.

How Inter-Availability Zone Transfer Works

When Amazon Elastic Compute Cloud (Amazon EC2) instances in separate Availability Zones transfer data, you incur a double charge:

  • The sending instance is charged at $0.01 per gigabyte.
  • The receiving instance is also charged at $0.01 per gigabyte.

Let’s take a file read as an example:

  • Let’s say that Amazon EC2 Instance1 is placed in us-east-1a, and Amazon EC2 Instance2 is placed in us-east-1b. So, we’re using two different Availability Zones.
  • If Instance1 issues a request to retrieve a 1GB file from Instance2 (secure copy, for example):
    • Instance2 sends the file over the Amazon Virtual Private Cloud (Amazon VPC) internal network, and this 1GB send costs $0.01.
    • Instance1 receives the file over the Amazon VPC internal network, and this 1GB receive costs $0.01.

Now let’s look at another example, a file write:

  • The Amazon EC2 instances are placed as in our first example.
  • If Instance1 issues a request to write a 1GB file onto instance2 (another secure copy example):
    • Instance1 sends the file over the Amazon VPC internal network, and this 1GB send costs $0.01.
    • Instance2 receives the file over the Amazon VPC internal network, and this 1GB receive costs $0.01.

What does it all mean? It means that egress alone is charged over Direct Connect, but both ingress and egress are charged when that transfer involves Amazon EC2 instances that are placed across Availability Zones in the same region.

Affected Services

What other services (besides Amazon EC2) are affected by this charge? According to Amazon’s On-Demand pricing documentation, you incur charges for Amazon RDS, for Amazon Redshift, for Amazon DynamoDB Accelerator, and for other services. The following screenshot from the On-Demand pricing page shows these charges.

AWS data transfer

Sample Affected Applications

What are examples of applications that are affected by this charge?

Any application that both requires locally attached storage and has a need to communicate with Amazon EC2 instances in another Availability Zone incurs this charge. Example scenarios include applications with a replication component such as MongoDB, Cassandra, and Oracle with Data Guard:

  • Shared-nothing applications such as MongoDB and Cassandra—when they are well designed—use replicas in failure domains (Availability Zones in AWS) that are separate from the primary instance. Writes to the replicas incur the total $0.02-per-gigabyte Inter-Availability Zone charge.
  • An Oracle standby database (think Data Guard) is placed in a failure domain that is separate from the production copy. Writes from the production database to the standby database incur the total $0.02-per-gigabyte Inter-Availability Zone charge as well.

How Cloud Volumes Service Lowers Costs

Data Transfer Fees with Cloud Volumes Service for AWSWith NetApp Cloud Volumes Service for AWS, you get cloud-adjacent, fully managed technology. Access to the Cloud Volumes Service is provided to EC2 instances  (or Amazon EMR clusters) through your own virtual private gateway by way of NetApp provided Direct Connect links. Egress to this managed service is charged at a rate of $0.02 per gigabyte, and ingress is free. With Cloud Volumes Service, Amazon EC2 instance placement within the region has no bearing on your storage costs. Writes always cost $0.02 per gigabyte, and reads are always free.

The egress fee is the same, but Cloud Volumes Service can help you lower your TCO, which is more important to your overall business. How does the service help lower your TCO? By giving your data storage the durability, availability, and protection that help drive your business. You get the high availability, high durability, and security that you need to keep your business running optimally, managed by Cloud Volumes Service at no additional charge. For details, read the blog post NetApp Cloud Volumes Service for AWS: Promoting Data Durability, Availability, Encryption, and Snapshot Copies.

If you want to go beyond the basics of Cloud Volumes Service, learn how to capitalize on the recently launched NetApp Cloud Backup service. With Cloud Backup, you get long-term data protection, archiving, and disaster recovery capabilities for your Cloud Volumes Service volumes.

Pay Your Dues but Still Lower Your TCO

You just can’t escape the $0.02-per-gigabyte charge in AWS. You pay it for scale-out, shared-nothing applications such as MongoDB and Cassandra, and you pay it for scale-up applications such as Oracle Database with Data Guard. And you have to pay it even for AWS services such as RDS and Redshift. You either pay $0.02 per gigabyte for egress, or you pay $0.01 + $0.01 per gigabyte for receiving and sending in Inter-Availability Zone transfers.

When you’re choosing which technology to deploy to meet your business needs, you might find solutions that are optimized for this issue, but, mostly, this issue is ignored. Like death and taxes, this charge is going to get you one way or another.

After reading this blog post, I hope that you can better understand the data transfer fees that are associated with doing business in the AWS cloud. The line items on your bill might be interesting, but they’re frequently misleading. It’s your TCO that matters, so consider this information your call to action.

And your first action should be to find out how NetApp Cloud Volumes Service for AWS can help you reduce your TCO with high data availability, high durability, and security. Sign up to get started with NetApp Cloud Volumes Service for AWS today.

Senior Cloud Solutions Architect, NetApp Cloud Data Services