Kentik - Network Observability
Kentik Blog
Kentik Blog

Managing the hidden costs of cloud networking - Part I

Cloud Solutions Architect
September 12, 2022

Technologies like virtualization and containerization have gained significant traction over the last decade as foundational tools for modern application development. As companies like Amazon (AWS), Microsoft (Azure), and Google (Google Cloud) started to invest in the hardware and software infrastructure required to support access to these virtualized resources, “the cloud” was born.

Networking in and with the cloud involves managing the interconnections of a wide array of devices, services, and applications: VPC containers, gateways, load balancers, controllers, firewalls, routers, switches, servers, clients, IoT endpoints, controllers, service meshes, load balancers, firewalls, edge services, probes, and more, not to mention the many application integrations. These distributed networks present unique challenges but, if correctly managed, can provide highly scalable, robust, and available applications with a competitive ROI.

With over two decades of experience in networking at scale, I’ve had the privilege of working with on-prem, hybrid cloud, and multi-cloud networks and transitioning between these architectures. In this series, I will first explain what I see as the main promises, both fiscal and technological, of using the cloud, and what costs these promises can cover up.

Promised cost reductions with cloud services

Proponents of cloud architectures maintain that their managed infrastructures keep personnel and networking costs down, all the while promoting high-velocity software development. So, the logic goes, cloud networks are cheaper to build, operate, service, and secure.

Managed networking, hardware, and storage

With functions, instances, clusters, and connections disappearing and reappearing in mere moments, many integral cloud network components (service meshes, API gateways, controllers, VPCs, etc.) have strong automagic components that abstract the pain of an ephemeral network away from the network engineer. This managed networking allows for more network elasticity, and provides an easy way to store, backup, and secure data, all while reducing costs with more granular, on-demand pricing that eliminates idle or over-used resources.

Security, maintenance, and advancement of hardware are also abstracted away from cloud customers, reducing CAPEX and IT personnel costs.

High velocity development

Agile software development is a byproduct of allowing software development teams to iterate quickly in their architectural choices to best fit their business demands. The virtualization available via cloud services enables this agility by allowing engineers to deploy services with highly customized, decoupled architectures. These cloud-based architectures can be updated regularly and independently of their larger application context, especially with the help of CI/CD tools, removing many common deployment bottlenecks from the development cycle.

This accelerated delivery of software changes in the cloud allows for faster turnover of features, bug fixes, and security updates, and is more likely to drive customer adoption, satisfaction, and ultimately, revenue generation.

The hidden costs of cloud networking

I just covered what I consider to be some of the common, high-level cost reduction promises of cloud providers and proponents. But moving to the cloud can’t be a perfect, pain-free solution, can it?

Unfortunately, cloud provider marketing tends to leave out some significant production realities for teams considering the move to cloud-centric development.

The cost of complexity

In a word, cloud-based development is complex. The myriad of services, applications, devices, regions, policies, access privileges, protocols, security threats, architectures, and deployment strategies makes the scale of complexity in cloud networks a truly unique challenge.

While cloud providers and associated SaaS companies do their best to abstract away a lot of the pain of this complexity, this can make cloud-native organizations strongly dependent on the fiscal and engineering choices of the service providers.

Cloud-based pricing models

This research paper from 2016 tracked pricing strategies of cloud businesses and clearly illustrates why runaway cloud spend is such a threat for engineering teams. With so many concurrent pricing models at play, keeping track and optimizing for cost is a tall order.

Network engineers often have to take into account a cocktail of variable pricing strategies, including but not limited to:

  • Time-based
  • Volume-based
  • Resource-based
  • Service-based
  • Content-based
  • Location-based/edge
  • Priority
  • Subscription
  • Dynamic

The cost of monitoring complexity

For distributed networks at scale, monitoring becomes a daunting expense if not handled well.

Consider the massive amounts of data, for every instance, with multiple copies, and often millions of data points between metrics, labels, traces, flow logs, etc., and the costs that this data incurs:

  • The cost of the services used to instrument, aggregate, move, transform, store, and analyze this data
  • The cost of the teams required to build and maintain these monitoring platforms and tools

The cost of dependency

Cloud-native development is rife with dependencies: the cloud providers, the SaaS and open source development, deployment, and monitoring tools.

Takeaways

For simple, standalone applications, the cloud can offer quick wins and cost savings:

  • Easy delivery of items like static web pages
  • Easy storage and backup of data
  • Reduced personnel
  • Increased development agility
  • Shifting from capital to open expenditures

As applications and their networking demands become more complex, the cloud can present high costs that are difficult to predict, control, or optimize. But, with network observability principles and strategies, the cost of these complexities can be managed and ultimately provide significant improvements to your organization’s bottom line.

Stay tuned for Part II

In Part II of this series, we will examine the case study of Company X, where I worked for ten years and helped manage migrations to and from the cloud.

I will share what I learned about how complex cloud networks can put a strain on an organization when not properly implemented, and the lessons I was able to take from responding to those challenges.

These might interest you…

Join the Kentik Slack Community
Be part of a community of Kentik users who can help you along the way.
Join Now
We use cookies to deliver our services.
By using our website, you agree to the use of cookies as described in our Privacy Policy.