Why Cloud Data Egress Is Expensive
It is no secret that businesses new to running in the cloud are often gut-punched by unexpected data transit charges on their monthly invoices.
There are many business and technical reasons these charges, often referred to as “data egress” fees, can grow out of control. But there are ways to make them more predictable, which often requires knowledge and resources that most companies don’t have on staff.
Taking more time to understand the situation and investigate the tradeoffs could mean big savings for the organization and fewer surprises for the teams that manage cloud infrastructure.
What’s Data Egress Anyway?
They are called egress fees because most cloud providers charge customers for moving data out of their clouds or out of one data center and into another, including in the same region. Moving data in the opposite direction, or into a cloud provider’s data center, is typically free. Egress is the expression describing traffic that leaves a cloud as well as internal traffic within a cloud provider’s infrastructure that leaves a customer’s project to connect various internal cloud services or availability zones.
A typical customer will have many reasons for moving data out of a cloud. The data may need to be accessed by applications running in another cloud, or the customer may want to move the data when switching to another provider or to their own environment.
The data could move from one data center to another, regardless of who owns either facility, to replicate for disaster recovery. (This is an especially poignant example since getting DR data out of a cloud in an actual disaster scenario often comes with very high and unpredictable data egress costs.) A customer might want to deploy an application that’s already running in one availability zone into another region. These are just a few common reasons people move data out of a cloud environment.
Customers are often surprised by data egress fees that result from internal data transit. That is when a service running in one data center or availability zone uses data stored in the same region but in a different facility or zone. This transit could be between a cloud-managed service — a database, for example — and a cloud VM running in the same or different zone.
It makes sense to save money and time by using something like a managed database, but without understanding the data egress fees the customer could end up paying far more than expected. Some customers may not even know about the charges until the invoice arrives if they do not know where to look or how to monitor the transit.
The distinction between “internal” and “external” data egress is superficial. Regardless of where data is headed, all of the infrastructure and processes required to move the data from one zone to another are the same and cost real money both for the customer and the provider.
The Cost of Data Transit
Ensuring quality data transit is not cheap for cloud providers. Whether you feel the markup they charge for transit is fair is a different question. Let us ignore the cost of data center facilities like real estate, power, redundant utility feeds, backup generators, redundant mechanical and electrical equipment, racks, cables, and so on and focus solely on the infrastructure for moving data from A to B.
The infrastructure, which includes all the necessary switches, routers, and fiber between sites, can cost millions of dollars to implement at scale. This infrastructure needs to be managed, maintained and upgraded periodically, while capacity must be constantly expanded and extended as more customers spin up resources.
The provider must constantly expand this network. If they do not invest in expansion, then the quality of the links will eventually suffer as they get saturated.
The cloud provider has to create favorable relationships with IP transit providers while maintaining the IP space and have enough redundant high-bandwidth direct internet circuits ready to be fired up at all times. All of this comes at a substantial cost in not only physical gear, but the staff to implement, maintain and extend the network.
A cloud provider is expected to maintain multiple high-capacity links between facilities in a Metro to make sure there is always enough room for their customers’ ever-growing bandwidth requirements. The provider must constantly expand this network. If they do not invest in expansion, then the quality of the links will eventually suffer as they get saturated.
Cloud providers share the cost of building and operating their infrastructure with customers by charging for data egress or by bundling this cost into other services. How the provider packages the transit portion of their costs and how they mark them up varies from provider to provider. Some providers charge less for transit while compensating by charging more for data storage or compute services.
The provider is not pocketing all of this money, because investing in further development and capacity expansion is critical to their success in the market.
Simplicity Comes at a Premium
The opaqueness of cloud invoicing stems in part from providers trying to keep bills simple for customers who are looking for overall simplicity from the cloud. Avoiding excessive data egress charges requires a certain level of application architecture and infrastructure expertise. An important question for any cloud customer of scale is whether they want to invest in building that in-house expertise. Their other option is to pay a premium so they can hit the ground running and hope they don’t get crushed by success.
An application or infrastructure architect without deep cloud experience may design what on paper would look like the perfect architecture. It may include redundant systems in multiple availability zones, redundant network connections and so on. When the first cloud bill arrives, however, there could be some surprising charges for moving data between local sites, between cloud services or even across those redundant network links.
The seemingly perfect architecture might turn out to be cost-prohibitive, but sometimes that only becomes clear after that first bill arrives.
A more practical solution usually requires making some tradeoffs in the design to bring the cost down while solving for only a few critical failure points instead of all of them.
Many customers see enough value in getting a predictable but larger cloud bill without building the internal capability to create an optimal solution. Using managed cloud services that are higher up the stack, like database as a service, is a way to get that predictability. In most cases the charges for data egress are baked into the quoted service price. The egress is still there but the cost per API call or database read and write includes everything needed to use the service. Typically this results in a much easier-to-understand bill at the cost of flexibility in the application design and potentially higher costs.
There is an entire booming industry of managed cloud providers, consultants and system integrators who will design custom solutions for a fee. One way or another, there is a cost to using the cloud optimally. The cost could be in the form of a managed service provider’s fees, an in-house cloud architect’s salary or a price premium on pre-packaged cloud services.
We, too, Charge for Data Egress
It should come as no surprise that Equinix Metal, our cloudy bare metal server product, also charges for data egress — one of many options for interconnectivity at Equinix. Equinix Metal’s egress to the internet is for customers that cannot create their own solution. It could also include connections to another cloud provider or for transit between metros. We don’t charge for moving data between your Metal servers within the same metro — even if you are moving data between facilities in your deployment. (“Metro” is the Equinix equivalent of a cloud availability region. It is a metropolitan area that contains our data centers and private connections between facilities.)
Our overall approach here revolves around flexibility. You can make arrangements with carriers to connect a Metal environment to your existing network privately and design a flat-rate solution using Fabric (the Equinix-operated extensible private network) and whatever transfer rates you negotiate with the providers. This can be done for both north-south and east-west transit.
Everyone Would Lose in a Race to Zero
Billing for transit is not straightforward and different cloud providers take various approaches. Some devise complex metering systems, while others may offer flat rates per unit of bandwidth. The details are often abstracted behind the flat rate or the maximum bandwidth a customer is allowed to use. The customer may accidentally go over the limit and get a bill for the overage if they miscalculate their usage upfront. If customers are willing to get into the details of the data egress costs, there are options, but those options come with caveats.
Some cloud providers offer cost calculators which can be complex and require significant time, resources and specialized knowledge to apply effectively. Others do a great job of making the transit costs look simple, but it is hard to predict actual usage needs until the infrastructure has been launched.
A higher markup on transit costs means not only more profit for the cloud provider, but also more capital available to ensure a high-quality service. If providers started a race to zero for transit pricing, the customer might feel like there was value in the transit, but that value would be superficial.
This approach would be devastating, as it would leave little cash available to continuously expand and improve the underlying network infrastructure while the user base and utilization rates grow. That would likely lead to a degradation of service for everyone, or higher prices in other areas of the providers’ offerings.
As the next generation of data transport technology comes to market, it will enable cloud providers to offer things like a 1 Terabit transit limit instead of a 100 Gigabit one. The pricing will likely remain about the same, but the service will be much better. No matter the customer use case for cloud, they will always need to understand that a cloud is a business in a constant state of growth and improvement.
The egress fees help to create a new digital landscape, but as a user, it helps to understand what is going on under the hood. Understanding that transit is not as simple as plugging in a switch or router can lead the customer to a solution that strikes a balance between the needs of the application and the budget. The old saying still applies here: Good, fast, cheap … pick two.