Opinions of Saturday, 28 October 2017

Columnist: classfmonline.com

GhanaPostGPS: Why pay Google $400k a year?

Ghana is to pay Google, an amount of $400,000 every year for embedding their online map onto the GPS Ghana is to pay Google, an amount of $400,000 every year for embedding their online map onto the GPS

My name is Rexford Nkansah, a Senior Web Developer, with many years of experience in building, deploying, maintaining and upgrading web applications and servers in the cloud. I am going to talk facts. If you don’t have any facts and or enjoy facts, and live in a fantasy world, please steer clear of this article.

“Ghana to pay Google $400,000 yearly” – Why?

As per the news article, according to the Managing Director of Ghana Post, James Kwofie, the reason for paying such a huge fee is this:

“Ghana is to pay tech giant, Google, an amount of $400,000 every year for embedding the company’s online map into the country’s newly designed National Digital Property Addressing System, Ghana Post GPS.”

The GhanaPostGPS application, both in the browser and mobile apps embed a piece of code from Google, specifically, from their Maps platform, which allows you and I to locate our homes and generate our digital addresses.

However, the question is, does embedding this Google Maps API (Application Programming Interface) cost that much?

The Facts:

Google allows businesses, governments, big organizations and anyone making lots of use of their Google Maps API to pay a fee depending on how big their usage.

According to Google Maps API usage, if you’re using their API in your mobile application, either Android or iOS, here’s what applies:

“Default 1,000 free requests per day, increased to 150,000 free requests per day after identity verification. Free uplifts for complying applications.”

In short, if your application complies with proper use, and by a legitimate entity (which the GhanaPostGPS is, and the government of Ghana is), Google would allow for an almost unlimited amount of requests per day for their API.

From the look of the API use from above and on the Ghanapostgps website, the GPGPS team aren’t using any specialized, reserved premium option of the Google API.

In fact, what they’re using is JUST the same thing the tens of thousands of individual developers around the world could make use of, and of which we do use.

Therefore, Google is officially saying, YOU WON’T HAVE TO PAY TO USE THEIR API when used in a MOBILE application. So who or what at the GPS people paying the 400,000$ to yearly, and for what services?

For MOBILE use, it is literally free!

For use on a Website, here are what Google Maps says:

“Free up to 25,000 map loads per day.

$0.50 USD / 1,000 additional map loads, up to 100,000 daily, if billing is enabled.

Let’s do some maths then.

Let’s say, for whatever weird, impossible, and unexplainable supernatural reasons, the GhanaPostGPS website receives 100,000 daily requests, it will cost just

(100,000 / 1,000) x 0.50$ = 50$ per day

100,000 requests is a lot. In 24 hours, if an application receives 100,000 requests, then it means the GPS application on the web made precisely 69.4 requests per minute, which in turn is roughly a request per second.

Now if you think that’s remotely possible, it isn’t, because 100,000 requests simply means, 100,000 Ghanaians visited the web application once within 24 hours, or 50,000 Ghanaians visited the application twice, at different times afresh within the day. You get the point.

Fun fact: If you use Google’s Maps Embed API (as in the map from Google maps appears IN your website), the usage is UNLIMITED.

50,000 Ghanaians, visiting the web application within 24 hours? That I doubt would happen even within a year after launch or even for the next 5 years, because MANY of the users will be accessing the application from their mobile apps, and mobile app API requests, Google assures almost unlimited free use.

Now, at 50$ per day, let’s remotely assume it happened. The Web Application clocked 100,000 requests per day, that’s a total of 18,250$ per year (365 days).

Are you telling me, on a Sunday in Ghana, 100,000 people in Ghana would open a web browser JUST to see their address? Why the #*)@(*$) would anyone in their right mind do that on a Weekend, every weekend? It isn’t as if the application provides ANY value aside from giving one’s digital address.

Therefore, when your address is acquired, and probably you’ve written down somewhere or memorized, only government workers would be using the application for the most part. As an ordinary user, they get the address, use it to fill their form, and they’re done.

I wasn’t good at maths in school, but I’m not dumb enough to not realize 400,000$ is NOT equal to 18,250$, that’s 21x more than what Google would charge.

So who are the GPS people trying to deceive?

Here are the facts, I stand to be corrected. If any of the analysis above is invalid, I hope Google comes to clarify and set the records straight. The information, though, from their site is clear and makes absolutely sensible, and that’s how it’s been doing for a long time.

In reality, if there are any hidden charges I do not know of (which is highly very unlikely), I’ll give a benefit of a doubt, and say, the cost won’t exceed anything more than 50,000$ a year related to Google Maps API. That is even a bloated, unrealistic overestimation which isn’t right. But let’s assume that.

So, can the GPS people clarify what exactly was involved that meant they’re paying 400,000$?

I hope Google Ghana comes out to clarify, because that’s a horrible PR for them, and a big lie heaped against them, for something they don’t do.

The Government of Ghana has raised a huge accusation at Google, and unless Google doesn’t care their name being dragged through the mud they better come clean. Otherwise, before we realize, Ghana might come saying Google sold them a Google Chromebook for 20,000$ each.

So what do you think?

Backend, Firewalls, Hardware, Data Analytics and Indomie?

Ghanaians and jargons. Every opportunity we get, throwing dust in unsuspecting listeners eyes is a constant. Read this, also from the news article. For 2.5 million US dollars, here’s what they said they used the money for:

“In terms of the cost, what is being paid for is the back-end solution, data analytics, hardware i.e. the firewalls and servers, Google license, marketing and publicity as well as technical support, and GHc1.7 million VAT which goes back to the government. Contrary to popular believe, Google charges when you use their systems for local purposes or commercial activities. The Google license fee at the moment is $400,000 per year – that is the enterprise package,”

Lemme break the jargon down for you well well. In short, what they’re trying to say is, we wasted the money, and here are the facts

The Facts: Data Analytics

No! The GhanaPostGPS have not subscribed to the Google Analytics Premium nor the Adobe Analytics suites since they cost 150,000$ per year and 100,000$ per year respectively.

The question is, why buy a trailer truck, just to carry a shovel-full of sand? Would that make sense?

The free Google Analytics, which hundreds of thousands of businesses around the world use allows up to 5 million impressions per month.

That is a lot! Fortunately, none of the outlets of the GhanaPostGPS (mobile apps or via web) are going to blow over that limit, EVER! Even if that happens, there is NO NEED to jump to Premium.

Here’s the reason: https://webmasters.stackexchange.com/a/81102/56771

Thus, every sensible step by Google Analytics suggests there is NO NEED to subscribe to their premium model.

What analytics are the GPS people using? Is it Google Analytics? Did they truly spend money on buying a premium Analytics tool out there, or the word Analytics on the paper helped push the 2.5$m up to the limit?

The Fact: “Back-end solution … hardware i.e. the firewalls and servers”

Look at them!

The GhanaPostGPS web application is hosted on Amazon AWS. I do not know exactly what option of the countless solutions available on Amazon they’re using.

So I’ll make some assumptions based on my experience in deployments and realistic expectations with what costs.

With the highest tier of Amazon Lightsail option, which is 100$ a month, one can serve more than 1 million requests even a day depending on how your architecture your application. Is achieving a million requests a day with a 100$ tier possible?

I say this, because I’ve achieved a 50,000 requests per day, with a 5$ droplet (on DigitalOcean) with the specs, 512 RAM, 1CPU, with Nginx on the front-facing and caching enabled via proxy.

Yes, 50,000 requests per day with a 512 RAM and a single CPU. Unlike the GPS application which is just sending API JSON requests and receiving responses which are literally in kilobytes, the 50,000 requests that came in were to load web pages with images, videos and lots of text, each page weighing roughly 350-500 kilobytes per second.

Even with that, I got server response times of less than 5 seconds.

The crazy part of all is, this was achieved with some 4 more other applications running and serving websites on the SAME instance (Droplet).

Those who would understand what I just said would. If you don’t, just take the fact that, 100$ per month for a VPS is a LOT of server power, A LOT.

A big yes, especially with an application like GhanaPostGPS which when properly built, could utilize the most minimum of system resources.

Here’s what the 100$ gives us in terms of specs:

• 8 GB Memory
• 2 Core Processor
• 80 GB SSD Disk
• 5 TB Transfer

And if you think, ‘But Ah, 8 GB Memory is small’, it is, but for a server use, it is exponentially a lot, at least for serving a JSON response and requests.

With 8GB Memory, the GhanaPostGPS app could be run with almost the entire application data cached in memory using something like Redis Cache something similar.

The GhanaPostGPS uses Vuejs on the frontend, talking to an ASP.NET backend.

So let’s do some maths. There’s beyond reasonable stats that the GhanaPostGPS application can run on an 80$ tier monthly package, with even more space to spare to host other extra applications that might be needed.

100$ x 12 = 1200$

Let’s say because of debit card charges and whatnot, we are at 1,500$

That’s for 12 months. Just 1,500$


But wait! The GhanaPostGPS has 2 IP addresses. That would mean there’s some form of distributedness. Perhaps some load balancers or two web servers connected to a central Database running on a different third instance?

I do not know for sure. If that is even the case, and they unreasonably decided to use 100$ tier for all 3 instances (which shouldn’t be, why run Vue.js frontend on a 100$ box. Are you dumb?)

Lemme bloat the values up again on this one too. Server cost shouldn’t exceed 3,000$ each year for “Backend solution”.

And the “firewalls” whatever, Please the thing costs less than 10$ per month for a Web Application Firewall, and how many ACLs are needed for a mere Web application?

On my box, doing ACLs are even for free, as I’ve implemented them myself, using IPTables via UFW with some bans and whatever IP violations via Fail2Ban. These are features one usually doesn’t pay for. But if one does pay, they’re negligibly cheap, and hardly find a place on the invoice.

So mentioning Firewalls as if they cost a thing is ridiculous.

And do they hear themselves? You deployed a server, and you mention Firewalls as if it is an achievement. It is like Toyota releasing a Camry and saying, “We Added Seats and a Door handles”.

Obviously, that’s foolish, because a seat and a door aren’t extra features but part of the MVP (Minimum Viable Product)

‘We added firewalls’. Why were you guys thinking of not adding that? Geeesh!

I noticed they don’t have ICMP requests going through. Is that the Firewall added? And how much did that cost?

On the note of Server architecture, we’re looking at a not more than 30,000 US Dollars a year to keep it running. This is a very extreme high estimate. However, because we’re in Ghana, let’s assume that.

30,000 US Dollars for hosting a JSON-spewing application? Geesh.

Think about it.

Google Charges?

“Contrary to popular believe, Google charges when you use their systems for local purposes or commercial activities.”

Excuse my language, but the above statement is Bullshit!

“Contrary to popular belief”, of who? “Local Purposes” – What is that supposed to mean?


Google, do you charge that much? I couldn’t figure that out on your official sites.

If so then how many companies and developers around the world are violating your terms of which ONLY Ghana is the smart one to be truthful and pay their tithes?

“Commercial activities”? Is the GhanaPostGPS Commercial? Is it?

Is the government going to sell our user Data elsewhere without our consent, perhaps to businesses within and outside the country? Should we be worried?

At this stage, if anyone from Google has read to this point, PLEASE, is it true it costs 400,000$ to use Google Maps API?

Ah, but Publicity Stunts?

I intentionally do not wanna touch on the part of the funds used for Marketing, because I’m No marketing person, and don’t know how much it cost to market a public, government application.

They say:

“An amount of GHc3.5 million was also spent on publicizing the system.”

3.5 million cedis, spent on publicizing the system? To who?

If Ghana spent 3.5 million cedis on Teenage pregnancy education, would our population not slow down in its current explosion?

I wonder what non-African countries we go to for funds would see us, considering we happily spend 3.5 million cedis “publicising the system”, that ONLY tells users, a digital address, which doesn’t put food on the user’s table, nor pays the school fees, nor lorry fares.

I leave the marketing whatever publicizing aspect to others. I only talk about what I know. I know ‘DevOps’, and that’s what I decided to touch on.

Concluding Thoughts

Please, if you’re like ‘Johnny Walker’, Hubtel’s Friend?, and firing up to come in the comments section to tell me how many employees Vodakom has, as well as my lack of “proper degree” whatever, and as such whatever they built is the “best” and “industry standard”, please stop.

Did I miss a point in the article? Did I say something which is wrong in the article? Was my analysis out of touch? Please let me know in the comments.