Posted: December 7, 2016
On Center Software: 8708 Technology Forest Pl. , Suite 175 The Woodlands, Texas 77381, United States
By Rob Irby, Software Engineering Manager at On Center Software
Since the very beginning of computers, bottlenecks developed. After one part of the system was made faster, another component could no longer keep up. Throughout the years this has mainly been a battle between the CPU, memory, and hard disk. However, now that more and more applications have moved to the cloud, a new bottleneck has emerged – internet bandwidth.
Video games were one of my very first uses for computers when I was a kid. A trivial pursuit, however, it quickly taught me an important lesson about computing. Once one bottleneck is removed, a new one will always emerge. First, it was CPU speed, until CPUs got so fast that faster memory was needed to fully utilize the CPU. Then I needed more memory, followed by faster hard drives, and better video processing. It never ends. I had spent countless hours upgrading my PC with yet another new part to catch up. That would last a couple of months, but I would inevitably be back at the electronics store to buy another part to improve my performance. This vicious, unending cycle of upgrades is a microcosm of what businesses experience.
In the age of cloud applications, internet bandwidth is becoming vitally important. Previously, bandwidth was generally important for viewing websites and watching streaming content. However, now that more applications are being supported by the cloud, the rate that data can be transferred between the client and the cloud servers is critical. The cloud provides a great platform with ample processing power and speed beyond anything available on a personal computer. However, if the data cannot get there in a reasonable amount of time, the user experience is less than ideal. With the cloud, the days of worrying about the performance of your personal computer are becoming a thing of the past. You can even stream video games with an underpowered PC using streaming services where all the actual processing is done in the cloud. All that is required is a decent amount of bandwidth.
The telecoms and major internet service providers have acknowledged the importance of bandwidth with new initiatives to provide fiber connections. In some major cities, it is possible to get 1-gigabyte broadband, and it appears likely that 2 gigabytes will be available in the not too distant future. However, these fast fiber systems are not widely available and most people, including me, don’t have access to these advanced internet speeds. To make matters worse, some people in remote locations have very few options and are less likely to get broadband speeds that are suitable for running cloud-based applications. Netflix has tried to solve this issue using advanced compression algorithms where the compression is increased and the video quality is decreased as your connection slows. This works great for streaming video over slow connections, but what about data that is sensitive to quality loss? We have recognized this same issue when building our cloud applications for our Oasis Platform clients. When working from a remote office or on the construction site, the network connection can be intermittent and slow. We began exploring ways to improve the application performance when the user’s connection speed was sub-optimal (sluggish) and losing data. The solution is one that has been around in computers forever – caching. While there is no real way to increase internet speed, it is possible to cache data that needs to be sent to the server in a queue and send it to the cloud as bandwidth becomes available. It doesn’t solve the bandwidth issue, but that is out of our control anyway. Until higher internet speeds become more available, at least the customer experience will not suffer.
For now, cloud applications will have to find ways to work around internet bandwidth limitations. At some point, bandwidth will no longer be the bottleneck in cloud computing. Who knows what will be the next limiting factor? It’s hard to identify. However, no matter what the outcome, there is one thing I know for sure – there will always be another bottleneck after the current one. Just like my first encounters with computers, the unending cycle of upgrades continues. There are just more pieces of the puzzle now.