

Internet connectivity in Sub-Saharan Africa - kaboro
https://angani.co/blog/its-not-how-much-fibre-you-have-its-what-you-do-with-it/

======
jgrahamc
_Going back to David’s post, edge caching, in particular, while useful for
static content hosted which is generally consumed (e.g. video) does not help
with most Cloud applications. Cloud applications largely require two-way
sending and receiving of data, so if we are to see more businesses being able
to run interactive applications on the Cloud, more local POPs are required
which carry the full application stack. For example, while your Google Photos
viewing may be cached, for someone to upload the photos – you still have to
upload them to a datacenter in Europe. In David Weekly’s tests – Google and
Apple content is actually served off a local edge cache in Nairobi, however
that does not serve DNS traffic for example from Google’s famous 8.8.8.8 IP
address which is interactive (send-receive). Another tricky problem is if
people use 8.8.8.8 – a CDN provider such as Akamai will see your request as
coming from Europe, and will serve the request out of a European datacenter as
opposed to the node in Nairobi._

CloudFlare will be rolling out edge hardware in Africa this year to address
the latency problem. We will also be rolling out DNS in Africa as well so that
DNS queries will not need to leave the continent (or even country in many
cases).

For dynamic content we will be supporting our Railgun technology to help
alleviate the backhaul latency from these edge machines to origin servers.

These problems are solvable and Africa has not been forgotten (at least by
us). We have many clients in Africa and, of course, many people accessing
CloudFlare managed sites from African countries.

~~~
bbrazil
> Another tricky problem is if people use 8.8.8.8 – a CDN provider such as
> Akamai will see your request as coming from Europe, and will serve the
> request out of a European datacenter as opposed to the node in Nairobi.

[https://tools.ietf.org/html/draft-vandergaast-edns-client-
ip...](https://tools.ietf.org/html/draft-vandergaast-edns-client-ip-00) was
designed to handle this exact problem.

~~~
jgrahamc
Correct. EDNS0 is useful, but CloudFlare doesn't need to rely on that. A name
like news.ycombinator.com resolves to the same IP address wherever you are in
the world. We then route that IP address depending on the location of the user
using BGP Anycast. This the 8.8.8.8 problem is irrelevant for us (might not be
for legacy providers).

------
zamalek
> Bandwidth Costs

These costs trickle down to end users. Even in "progressive" (heh) South
Africa 3G can cost as much as ~$150 per GB (so called "out-of-bundle").

I was attempting to set up IMAP in Thunderbird for my parents (who are forced
to use 3G due to location) - the obvious merit there is the cloud backup of
their emails. To conserve bandwidth they previously had POP3 set up to
download headers only. This is impossible to set up with IMAP because,
according to Thunderbird HDD space is more expensive than bandwidth and hence
re-downloads items if you choose to have headers only. This is a well-known
piece of software.

Keep the high costs of poor little Africa in mind when designing your
software. Many of us are lucky enough to have access to "high-speed" 10Mbps
uncapped copper but there are significant amounts of people who are outright
extorted by the cellphone networks.

Please design your software to be kind with bandwidth. Latency isn't the only
issue and, in fact, of all the people I know only gamers care about latency
(because we have the bigger bandwidth/speed problem to deal with). The average
African is quite happy to wait 1s for a website to load, they aren't happy if
that page _costs_ them $1 to load.

~~~
espes
On South Africa, it's more like 50-150 rand per GB (~4 - 13USD) [1]

Mobile data in South Africa is actually pretty cheap in absolute terms, though
of course it's still extremely expensive compared to average income.

[1] [http://www.vodacom.co.za/vodacom/shopping/data/prepaid-
data](http://www.vodacom.co.za/vodacom/shopping/data/prepaid-data)

~~~
zamalek
> On South Africa, it's more like 50-150 rand per GB (~4 - 13USD)
    
    
        USD(Out Of Bundle Rates Per MB) * 1024MB = USD(2) * 1024MB = $164 ~ $150
    

Worst case scenario is the worst case scenario.

------
staticvar
In Ghana and Kenya, Open Learning Exchange tackles the bandwidth cost and
latency issue by utilizing Ground Computing hosting based applications that
require 2-way data interactions and adhere to Eventual Consistency. What
Eventual Consistency means is that the apps are hosted in several communities
on Ground Servers but "eventually" the Ground Servers connect to the Internet
and sync with a central node on the Internet where other Ground Servers are
also syncing to. This isn't so great if the latency of the 2-way data you care
about is between someone in Nairobi and Atlanta but it is a big improvement
between for 2-way interactions between people in the same community using the
same Ground Server. Yet, there are certain kinds of 2-way data where gaps
between syncs matters less as is the case of book and movie ratings in our
Open Source Learning Management System that we built and host in schools,
libraries, and community centers.

------
acdha
> Another tricky problem is if people use 8.8.8.8 – a CDN provider such as
> Akamai will see your request as coming from Europe, and will serve the
> request out of a European datacenter as opposed to the node in Nairobi.

This is a tricky problem but there's a solution for it: edns-client-subnet,
which allows the DNS provider to pass along your subnet for services which
don't return the same response for everyone:

[https://tools.ietf.org/html/draft-ietf-dnsop-edns-client-
sub...](https://tools.ietf.org/html/draft-ietf-dnsop-edns-client-subnet-00)

Google's Public DNS team announced that support had been enabled for Akamai
last December:

[http://googlewebmastercentral.blogspot.com/2014/12/google-
pu...](http://googlewebmastercentral.blogspot.com/2014/12/google-public-dns-
and-location.html)

~~~
rsohan
Thanks, we'll update the post to reflect this.

~~~
acdha
Thanks – it's definitely worth mentioning as a general concern since it's an
important feature to look for in a DNS service no matter where you live.

------
qution
I find it interesting that the assumption is that the cloud needs to be pushed
out to the edges, as opposed to making the endpoints smarter and able to speak
directly to each other. To me this looks like a large factor in favour of (for
example) dedicated mobile apps with their own caching logic and background
processing over a one-size-fits-all HTML browser approach.

~~~
kaboro
There's a reason Amazon/Google and the other major providers tend to push
their availability zones to the edge. It's because this matters. You can't
always cache in the background especially for multimedia content. It's simply
too heavy.

Not all content providers will be able to run the infrastructure that Google
does, which is why it makes sense for cloud service providers to do the same.

------
adibchoudhury
Interesting read. Surprising to know that the entire continent accounts for
just 3% of web traffic

------
_pmf_
But I thought Google will provider coverage via balloons for free because they
are such good people?

