Why most clients will not get a scalable server for just $100
Or why articles should not emphasize on the cost of “Getting It Done”
Pokemon Go
Pokemon Go is all the hype right now. There are two complementary app that are appearing on my newsfeed for different reasons — GoChat and GoSnap.
GoChat
GoChat is facing server scalability issue and since it’s a free app, the increasing popularity of the app is compounding the cost of server operation.
From the article, it states that the application had been crashing often and it will take $4000 to stabilise the servers. Jonathan Zarra, the founder, is understandably frustrated by this.
“This is a feature that really should be there,” Zarra says. “Especially in a location-based game — this just makes sense.” Within five days, Zarra’s free app is approaching 1 million users and hitting servers with 600 requests per second. It may also drive Zarra bankrupt.
GoSnap
Then we have GoSnap. The application is created by Erik Duindam and the article went on to talk about how he’s able to architect the $100/month server to host 500,000 users in 5 days.
I feel for Jonathan because the joy of making a successful product, only to be bog down by the financial constraints sucks. As for Erik, it’s quite evident to see that he’s a experienced developer that knows the best practices for server scalability.
The only thing that doesn’t read right to me was the title of Erik’s article and how it reads off to client.
How I built an app with 500,000 users in 5 days on a $100 server
Trust
Most developers knows that to have a win-win relationship with their client/PM means that there must be trust. The client should trust the developer’s judgement in technological choices just as much as the latter should trust the former in business decision making.
When an article like Erik’s, where the title emphasizes the cost of the architecture and the content makes it look seemingly easy, is read by a client, it undermines the trust between the developers and them.
I can already picture Jonathan sending Erik’s article over slack to his developers and demanding to know why it cost $4000 instead of $200 (GoSnap had a million users).
You get what you pay for
One important cost that is missing from both articles are the developer’s consultation fee. I’m taking a wild guess here but I’m pretty sure Erik’s consultation fee will be conservatively a few times higher than Jonathan’s developer and rightfully so.
In order to build a $100 server that can scale up to 500,000 users is no easy feat. And to build it in just 5 days? Pretty darn impressive.
Just like an experienced carpenter who knows his best tools to finish his product with minimal material wastage and in the shortest possible time, the developer needs to have 3 qualities — ample knowledge, ability to foresee scalability issue and flawless execution. This is something Erik’s clearly have.
However, most clients will not pay for such a experienced(more costly) developer. It is not because they couldn’t afford it but rather their confidence level in their own product.
An analogy to explain that:
Will anyone hire a world-class architect to build a house in the suburbs for rental earnings?
Yes. That person must have done his research and knows the future development of that area or there were other successful examples(collect higher rents) around there. In other words, he is confident.
But alas, not many clients are that confident even though they might repeatedly say they are. Here’s a way to check out their confidence level: look at their budget to ambition ratio.