Skip to main content


How to Minimize Network Transfer Costs for Your Microservice

By Mike Cohen

Network transfer costs have always been a reality of life in the public cloud.

For AWS at least, this has fallen in the range of $0.09 / GB for egress traffic and $0.02 / GB for traffic that crosses zone boundaries (although it can be a lot more complex). These transfer costs can quickly add tens of thousands of dollars to your cloud computing bill. Today, we’re excited to announce a part of the Flowmill application —- the Network Cost Dashboard —- that provides complete visibility into network transfer costs between services.


Microservices Drive Network Transfer Costs

In the days of monolithic applications, one could look at the stats on a network interface and get a reasonably accurate picture of how much expensive traffic it produced. Of course, since the application was monolithic, most of the internal communication never had to touch the network at all.

However, as workloads have migrated to microservices, the impact and importance of network transfer costs have changed substantially. Platforms like Kubernetes, ECS or Nomad make it incredibly easy to spin up new services, and clusters are frequently spread across availability zone boundaries. This has made network transfer costs:

  • Substantially larger in magnitude due to increased service to service communication and
  • Increasingly opaque since it’s hard to map network consumption to a distributed service that may run across tens or hundreds of instances.

When operating a service-based architecture, it’s critical to measure network transfer costs by service so you know what components in your system to change / optimize.

We’ve encountered a number of real world examples of runaway network costs and in each case, the team found themselves with thousands of dollars of unexpected costs.

  • Machine Learning Jobs: Several large GPU instances which happened to land in different zones (the default behavior of their scheduler) transferred 10’s of TBs per day as part of a long running machine learning job.
  • Logging Infrastructure: A large logging cluster generated over hundreds of TB’s of cross zone traffic per month by writing data across zone boundaries
  • CI / CD: The CI / CD infrastructure inadvertently shuffled large container images between zones on every commit.

Enter the Flowmill Network Cost Dashboard

Today, we’re excited to be launching a new analysis tool for network transfer costs for service-based environments. This interface shows you the services that generate the most cross zone and egress traffic in your environment and lets you to drilldown to see the destination services with which they communicate. Services here will include both internal services you run and operate as well as managed services run by a cloud provider or 3rd party platform.


This allows you to quickly identify the service to service communication that generates the most cross zone and egress traffic to drive your network transfer costs so you know what to change to optimize your architecture.

Flowmill gives you complete visibility into network traffic costs between services with no code changes and minimal overhead. Our lightweight agent —- that can be deployed in minutes —- uses eBPF to collect data on every connection of every cloud instance, which it reports to a real-time streaming engine that matches and enriches connections to give a complete picture of service-level communication. You can learn more about it in this whitepaper. You can also see a demo of this page in action in our recent webinar or set up some time with our team for a live demonstration.

Learn more about Splunk Observability Cloud