For devices in local networks, the cloud can simply be too slow.
The speed at which technology evolves these days is amazing. Although we are still in the middle of the cloud revolution, suddenly a new networking paradigm has appeared: fog computing. And it seems to be a key component of another popular trend, The Internet of Things (IoT), or as we prefer to call it, the Internet of Everything.
A Little Bit of History
The evolution from cloud to fog computing shares similarities with the history of computing itself. Just as computers evolved from bulky mainframes to personal computers as processing power and local storage became smaller and more affordable, networking and applications that started with a centralized model have also evolved.
When mobile devices began to proliferate, keeping information stored and available presented a major challenge. The first generation of smartphones and tablets had limited storage and processing power and wireless network speeds were significantly slower than their wired counterparts. This made providers realize that some applications and services could be better served with a centralized model and the cloud was born. During the last two decades, we have seen an increasing number of applications move from an on-premise environment to the cloud.
But today, 4G networks are almost everywhere and WiFi networks ensure reliable bandwidth indoors at home, work and in public places. Furthermore, our smartphones, tablets and connected devices are a thousand times more powerful than the personal computers we had years ago. Today, a home appliance worth only $50 can have a central processing unit (CPU) that delivers more computing power than a laptop worth $1,000 did ten years ago, and can communicate using the latest LTE and WiFi standards reaching speeds of up to hundreds of megabits per second. Our devices are starting to have a life of their own and cloud architectures may not be sufficient.
Fog Computing and the IoT
The aforementioned Internet of Things (IoT) will add a myriad of devices that will be connected to each other and to the Internet. Think of the Amazon Echo or the Apple Home application connecting to your smart lights, switches, thermostats, water valves, irrigation systems, moisture sensors, door locks—and even your vehicle. This network of physical objects—capable of communicating with each other, sharing data or executing actions based on information and commands—would be limited by a purely cloud model. Having all those devices stream data to and from a cloud service means significant latency, excessive bandwidth usage, security concerns for consumers and businesses, uncertain expectations for quality of service and a total dependency on the Internet connection.
For example, I have two IP cameras at my home that work using a cloud model. The cameras connect to a centralized service and I can use a mobile application or the service website to watch what is happening in my house anytime, anywhere. When I launch the application, whether from the other side of the world or my bedroom, it takes several seconds before I can see the live stream, and there is a significant audio delay. Whether I’m far away or on the spot, the mobile app has to go through the cloud, which connects to the camera. The video feed is sent to the cloud and then received from the cloud by the application, all of which adds significant latency.
In addition, my cameras record what happens in my house 24/7 and transmits that information to a central cloud storage where it is stored for seven days. Although this is convenient in case of an event, it also means that I have to trust in the service provider’s ability to securely transmit all the video captured by my cameras.
There is definitely room for improvement and fog computing may provide answers.
Fog computing extends the cloud networking model to the edge of the network, with data, computing power, storage and application services available to end users (or devices) in close proximity to them. Services can be hosted at the edge, or even on end devices themselves (set-top-boxes and access points) reducing service latency, improving quality of service and delivering a better user experience.
The fog model is not new. Content Delivery Networks (CDN) have been successfully exploiting a similar model by providing regional—sometimes even local—access to media (predominantly video and website contents) to large internet application providers. You would be surprised to know how many times the movie you are watching from a leading streaming provider is being served from a regional point of presence owned by Level3 or Akamai among others.