Sunday, March 20, 2011

Episode 2; 'The one where he talks about Star Trek, Dragons, Facebook & The Cloud'

In the much beloved (and often maligned) world of Star Trek (a seperate discussion entirely for another day) there exists a race called 'the Trill'. The Trill are a race who are engage in a symbiotic relationship with symbionts. Part of the lore in Star Trek is that those involved in the joining of the humanoids with the symbionts like to make sure that the symbiont and the host 'suit' each other. Now, while those who love Star Trek can get into the whole debunking of the 'suitability' that does happen further into the storylines in both canon & non-canon lore, the crux is what we're getting to - suitability of two things to integrate with each other in a harmonious manner that grow together.

Now, how is that relevant to cloud you ask? On Sunday evening, I happened to get dragged into a three way micro-debate (as only 140 characters can do) on Twitter with @smccarron & @JMcCormac following my comment of; 

never fails to provide amusement & the proof that people take something as simple as hosting for granted too easily.

While I realise that the comment itself upon second glance does make the issue of a site getting a sudden surge following exposure such as an appearance on the Irish franchise of Dragon's Den appear like a 'any problem encountered must be a hosting problem', it really was more an encompassing statement on how poor planning and or poor understanding of your creation can be the real point of failure.

In alot of my dealings with prospective customers seeking to go onto the cloud, it seems like while they feel a need to 'be there', alot of the time the real question of why they want to be there & can they actually get the best from being there are two questions that are rarely answered. And the follow-on comments from John & Stephen did further illustrate the point:

John McCormac
@ May not be hosting at fault. Many web developers have no idea how to design high traffic database backed sites.

Stephen McCarron
@ @ decent hosting alone will get you into the 100mbps of traffic range. After that it's architecture

John McCormac
@ @ That, the db schema and the db server. That's where the real killer lies for db backed sites.

It did have me thinking about my own experiences of dealing with entrepreneurs putting their projects on the web & their ideas, how their developers were translating them into code, & ultimately the problems they experience either early on, or at critical growth milestones. Most good ideas for webpreneurs (as I like to term them) are just that, good ideas. Good ideas poorly 'packaged' for consumption become almost like the Sinclair C5, an anecdote for failure. And I do often feel that for webpreneurs, their developer is what will make or break them.

Very often webpreneurs are the Captain of the ship, trying to ensure it gets to where it is going, completing its missions & delegating responsibilities where needs be, but at all times knowing how to act upon advice given at any junctures. This is why a ship often has spcialist officers to help advise the Captain in certain areas. Sometimes webpreneurs leave 'dock' without ever engaging some key specialists, & when it comes to the crunch, find themselves in a more expensive juncture than if they had sought the required expertise early on; a stitch in time saves nine so to speak.

Most developers from my own experience in dealing with countless webpreneurs over the years are unsure about the actual requirements of what they are building from a hosting perspective, & even less sure about how their 'baby' scales. Alot of this comes down to what I think is the general consensus that developers are not database specialists, or infrastructure specialists. Alot of the webpreneurs who engage a third party developer very often do not also engage a database specialist to work with their developer from the outset.


Whether this is cost driven or not, it is usually when the project is live on the Internet that once traffic builds, problems tend to be discovered & fingers get pointed at the hosting services as the application is running fine according to the developer & the webpreneur. Often, it is down to the database not being optimised correctly, SQL statements being very wieldy & a general poor choice in the database design where efficiencies are yet to be found on issues as simple as incorrect data type being chosen (i.e. not using DATE or DATETIME for dates - seems straight forward but I've seen people use strings & integers), or in some cases where I've seen media files actually stored inside the database, rather than just referenced in it & them file-stored instead, or worse still - developers trusting user input & not sanitising it. (A great article on this can be read @ http://blogs.sitepoint.com/mysql-mistakes-php-developers ).

While it is super easy for me to state the aforementioned, it is often the case that because of the general unknown about how the application scales/behaves with data in terms of how much data is handled in a transaction, & the resources required by each transaction ideally, the hosting (very often now some form of cloud option or has been the case some form of SLA free shared hosting) is over-whelmed very easily, & sometimes the hosting provider is totally unable to provide the levels of compute & RAM required.

At that point it becomes almost like a an Indiana Jones-esque scramble into discovering what is needed to be done to resolve the issue. There is often a reluctance to engage a database specialist as developers will always swear blind their 'baby' works great (I know, as I've been one of those developers in the past who strayed from the best practices of how he was taught to build software systems). Once those hurdles are over-come, & the business of understanding the application/hardware relationship has been completed on both sides, the symbiotic relationship starts to then grow & heal itself quickly.

However, arriving at this juncture after the GM of the system is a bit like discovering that after you sold a car the steering wheel doesn't quite work as intended. Often for webpreneurs they only get one bite of the cherry with their latest projects, & anything that can make a mess of it, can hurt any chances of recovery, let alone growth.

For anyone who has watched 'The Social Network', there's a very poignient scene where Mark Zuckerberg is on the phone to Eduardo Saverin where Mark has called Eduardo to read him the riot act over cancelling the bank account as the bank account closing down jeopardises the hosting. In fact much of the early protaganism centers around anything in the infancy stages that causes people to stop using it & that it 'can never go down'.

Coming full circle, many Irish webpreneurs have appeared on Dragons Den in the UK & Ireland, & their projects receive decent traffic but as soon as their appearance airs on TV, the sites go down & kill any momentum or traction that was there for the taking. The same can happen to anyone who places their web project at the mercy of any kind of advertisement campaign, even people who have placed ads on NewsTalk for the first time have seen some of their services over-whelmed for the same reasons.

They say being a leader is more about being adept at planning than being the head hauncho. If you're thinking about using cloud for your latest & greatest web project, no matter how good your developer is, engage a database specialist & people involved in the cloud, even if you're not seeking  hosting at that point. Getting the fudamentals absolutely right from the get-go can help you steady the project out of the dock & into Internet space.

No comments:

Post a Comment