Day after day, many Nigerians stand in line for hours at banks, airline ticketing offices, government service providers like Customs, Driver’s Licence Authority, Hospitals, etc. The usual culprit is that “the network is slow” or “the server is not going”. As a Network Engineer, I cringe each time I hear “the network” being blamed for portal design or capacity planning failure.
Contrary to what the guy behind the service counter would have you believe, there are a couple of reasons for these service failures and if we do not start addressing them, people will keep wasting indefinite man-hours in queues while trying to use technology that was supposed to have made our lives easier.
1. Too many of our software developers have no idea how to optimize (or even evaluate) the network bandwidth utilization of their applications.
And sadly, too few clients know any better. Most developers test with one or two client computers on a local network that supports 100Mbps speed and then roll out a live deployment across a slow 2Mbps link for thousands of users.
NITDA, NCC, FMCT, etc are now overdue to issue guidelines especially where public services are involved! Before a networked software or portal is deployed for public use, the application developers should be required to demonstrate how many kilobits/second (kbps) of bandwidth is required per concurrent user. This will help the organization budget appropriately for network connectivity to give end users a hitch-free experience. Network operators supporting such portals must also be mandated to provide network and server utilization statistics on a weekly/monthly basis to help with assessment of resource utilization.
2. Because the cost of Internetwork connectivity can be high, organizations with largely centralized operations should be encouraged to have inhouse servers (with offsite connectivity as backup) to reduce the amount of traffic going out over slow and expensive internet links. For example, Maitama District Hospital in Abuja has a local area network and rarely suffers “network problems” but the National Hospital runs their payment system over a congested Internet link and patients have to spend hours “waiting for the network to come back”. Even when it is around, it takes several minutes to process payment from one person.
3. After you have properly budgeted the amount of bandwidth required, separate the bandwidth for transaction processing from the local office internet (if you cannot implement proper network quality of service). You don’t want some member of staff downloading movies on a connection that should be for processing of transactions.
4. Last but not the least is that Nigerian “Data Centre Operators” need to be educated to know that we are no longer in the 56kbps dial-up Internet ages. They should not be offering things like 5Mbps for front end server hosting when end users have access to 5Mbps download speeds and expect the pages they visit to come out blazing fast. To compete as a hosting provider on an international scale, you must be able to offer servers with connectivity in multiples of 50Mbps and differentiate billing by volume of data transferred. I advocate data transfer volume billing because I have seen the crazy bills these operators attempt to pass across for server “internet break-out”
Some will argue that hosting servers “in the Clouds” ensures better uptime and greater bandwidth for faster delivery to end users. Others will argue that hosting servers “in-house” saves money, ensures faster access to internal users and physical security.
My recommendation is that you run a local instance if the majority of the operators are within the same physical network (and you have reliable power); That way, they all enjoy high speed at a fixed low cost. If your operators/offices are scattered across the country and you do not have a wide area network with adequate bandwidth, by all means host in the clouds but please ensure that your operators/offices are provided high speed internet connectivity with backup options so that people do not have to wait unnecessarily for “the network”.
For those that are hosting their servers in local data centres, my advice is that you take a look at the bandwidth requirements of your applications, the number of peak concurrent users you estimate and the amount of bandwidth that is provisioned on your server by the data centre operator. 10Mbps is just enough to support 30-40 concurrent users of a multimedia platform at a barely manageable speed of 256kbps. (Most browsers will show 256kbps as 32kBps; 8bits/second is same as 1 Byte/second)
I will try to write more on this later. I’m just posting this because I have spent too much time waiting for “network”. Today, I was unable to renew my driver’s licence (also because the network was not stable).