Among numerous technical components that comprise an infrastructure-as-a-service cloud, there is one that usually draws most criticism and causes most annoyance. I am talking about the network. Too flat, too inflexible, too slow, too unpredictable - cloud network has been accused of being each and every one of these. And while some of the complaints could very well be valid at times, it is the cloud network that holds huge untapped potential for many big things in cloud computing.
While a network in each cloud may be designed differently, there are usually two important characteristics that all networks in all clouds share - they are super fast (LAN speeds within a single region) and they are multi-tenant.
The latter is the key. It’s true that multi-tenancy is often presented as a drawback or undesirable side effect - it significantly increases the risks of running one’s systems in the cloud and could negatively impact the throughput of one’s system because of noisy neighbors.
But let’s look at it from another perspective. Applications want to exchange data. (And by “application” here I mean any piece of software that runs in the cloud - webapp, data store, queueing system, data warehouse, traffic encryption service, etc). A webapp wants to receive user’s request, send a query to data store, and simultaneously send the visitor’s IP address to a geo-location service. Data store wants to send the response back to webapp and send query statistics (how long it took to run the query, how many records were returned, etc) to a monitoring system. Monitoring system wants to analyze and send alarms. And so on and so forth.
But what if the webapp in this scenario is run by one company, monitoring system is run by another company which specializes in monitoring, data store is run by data store specialist company? This used to be nearly impossible. From vendor’s standpoint, providing real-time support for data stores located at each client’s own network was extremely hard and costly. From customer’s standpoint, connecting from their datacenter to vendor’s system over Internet or private links could be prohibitively slow. In the cloud it becomes a piece of cake, primarily due to the very fast network between different cloud tenants.
Furthermore, in clouds like Amazon EC2 there is no real difference in network connectivity between 2 servers under the same account and 2 servers under different accounts (this covers both speed and bandwidth).
Cloud network to application data is what Internet Exchange Point is to Internet traffic.
What you used to need to have in your own network can now be easily outsourced to a specialist, without sacrificing connectivity speeds or bandwidth, if both of you host your systems in the same cloud region. This is huge.
Additionally, and for some potentially even more importantly, you now get an opportunity to interconnect with your customers, vendors and partners at LAN speeds, without having to spend a fortune - all you need is for everybody to get their systems (or at least points of presence) running in the cloud. The power of network effect!
George Reese predicted that 2011 would be a year of the network in the cloud. I fully subscribe to the idea that 2011 is going to be the year when cloud network is going to start playing a new and significantly expanded role.