Runtime feature kill switches, sound easy, but are they?

Runtime feature kill switches allow parts of an web application to be temporary disabled for maintenance reasons.

In it simplest level, a runtime feature kill switch is a die or exit() statement (using the php analogy) which terminates the script before the disabled parts can be reached.

But that still requires coding and direct access to the server to kill a feature during runtime. Ideally you want it to make it to non-developers and make it available through a web interface.

Runtime feature kill switch web interface as used in Farmville

Runtime feature kill switch web interface as used in Farmville

Things to consider when implementing a runtime feature kill switches:

  • The functionality to administer the kill switches may not have any dependencies which can be killed. (like databases)
  • It should be possible to see which kill switches are enabled.
  • Application should gracefully support disabled features, so it needs to know a feature has been disabled (for example by returning a disabled code)
  •  Kill switches need to be robust and transparent, enabling/disabling should be direct and complete. especially when using file-level feature kill switches, you have to face read-write locking
  • If you use caching, ensure you introduce cache warmup/flush mechanisms when re-enabling features.

 

 

Be warned: SSD’s do wear down

I have been having a lot of problems lately with unreliable database performance on two identical MySQL 5.0 Database server machines with heavy IO. For this the machines had ample amount of memory and used MTron 32GB SSD (server version) drives for database and temporary file access. the SSD drives being hardware mirrored.

Once every few hours/days, the databases on one or both machines would suddenly lock up and timeout, like a big hickup. This would happen not only on peak hours, but also in the low traffic periods, so no direct link to the usage. After a while (30 minutes or) it might or might not recover and continue as nothing had happened.

through method of elimination we ended up with the SSDs. The disk mirror’s were healthy and disk checks also gave the greenlight but moving the data and the temp files off the SSD drives intermediately removed the issue on both machines. After the event I did some investigations on internet and the vendor documentation and it seems to be combination of two things which were the root cause of the problem:

  • The SSD drives were mirrored using a SATA Raid array intended and optimized for HDDs, they are decremental for SSD performance and lifespan.
  • The SSD drives were worn down on the number of writes, this due to the heave write IO,the use of mirroring (2 hardware writes for each OS write), and the inefficiencies of the SATA mirror configuration.

The result was excessive file corruption which although handled initially by the HW caused sudden slow downs and file locks and therefore grinding mysql down.

So my lesson: if using SSD, use a configuration which can make use of the strengths of SSDs (ZFS for example), avoid writes (always an idea)  and ensure the Raid controller actually can handle SSDs efficiently.

Now running very smoothly on Sun 7310 ZFS SAN configuration and temp files on fast HDDs.

Tip: Trakkboard

Trakkboard allows you to join several google accounts and profiles together a dashboard for all standard reports in Google Analytics, supported reports include:

  • Visits
  • Visitors
  • Pageviews
  • Medium
  • Source
  • Keywords
  • Pages/Visit
  • Bouncerate
  • TimeOnSite
  • Goal1-4

trakken_dashboard

These are each independent controlled and you can configure them to position / resize as you want so you can quickly make a effecient dashboard.

For more details see my article on webanalisten.nl

Dutch (original)

English (Google Translate)

gulfnews.com relaunched

Last few months I have been heavily involved with the relaunch of the gulfnews.com website.

The complexity of this project was mostly in the shift to Portal strategy, graphical redesign, introduction enterprise CMS, number of integration partners, data migration, and the closer integration of the web publishing flows into the main editorial workflow.

On October 20th the site was relaunched, and it’s running smoothly now.

New gulfnews website

Posted in Uncategorized | 1 Reply

Arab Media Forum 2009

Last week I attended a number of sessions at the Arab Media Forum 2009, at the Atlantis in Dubai.

The official description of the event is as follows:

The Arab Media Forum is organized by the Dubai Press Club under the patronage of H.H. Sheikh Mohammed bin Rashid Al Maktoum, UAE Vice President and Prime Minister and Ruler of Dubai. It is designed to open channels of dialogue between the Arab and Western media in order to promote a better understanding amongst the different schools of thought worldwide. Editors-in-Chief of major Arabic and global print as well as broadcast media, leading journalists, columnists, academics, analysts, commentators and senior government officials, attend the forum.

Some of the topics discussed are similar to the ones you see Europe and US, ie the future of print, the shift to online, and the impact of social media. As such it looks like an interesting event worth attending again.

And I probably will try to get to next years, but I hope it will become more interactive, the sessions I visited were relative static events where a number of panelist each present their view in long monologues, after which the next speaker would talk about a complete different topic, the Q and A section at the end was also dominated by long statements without a clear question.

Impression from Arab Media Forum 2009

Passed the Google Analytics Individual Qualification exam

Since a few days there is an official Google Analytics qualification available.
The exam compromises of a 90 minutes online multiple choice test about the usage of Google Analytics. So yesterday i studied the course material as a refresher and today I passed the exam.
My certificate has a small number 0000324 as the bottom, so I guess i am number 324 who passed the exam?

Google Analytics Individual Qualification Certificate

Posted in Uncategorized | 1 Reply

Princely Scrum

As a certified Scrum Master and having been involved in numerous Prince2 projects I have seen both angles (or you can call them extremes) of the current web development processes.

The principles of Scrum all make sense, and if you have the luxury of having a committed develop and business team available for a long term it definitely will produce superior results and in a quicker time span.

So Scrum for ever? Afraid not.  This because the level of uncertainty Scrum (and any Agile proces) brings into Prince2 orientated environment is just not acceptable for the existing stakeholders.  They depend on extended paper trails to understand and control all the projects in their organization. Scrum paper trail is purely intended to move the team forward and to document the deliveries.  Not to let external powers control the pace and direction of the  team.

For now I end up picking elements of Scrum and wrapping them up in Prince2 templates and controls. A Princely Scrum……