Entries from July 1, 2012 - July 7, 2012


Stuff The Internet Says On Scalability For July 6, 2012

It's HighScalability Time (with 33% more goodness for the same NoPrice):

Don't miss all that the Internet has to say on Scalability, click below and become eventually consistent with all scalability knowledge...

Click to read more ...


10 Golden Principles For Building Successful Mobile/Web Applications

Wildly popular VC blogger Fred Wilson defines in an excellent 27 minute video the ten most important criteria he uses when deciding to give the gold, that is, fund a web application. Note, this video is from 2010, so no doubt the ideas are still valid, but the importance of mobile vs web apps has probably shifted to mobile, as Mr. Wilson says in a recent post: mobile is growing like a weed

  1. Speed - speed is more than a feature, it's a requirement. Mainstream users are unforgiving. If something is slow they won't use it. Pingdom is used to track speed across their portfolio. A trend they've noticed is that as an application slows down they don't grow as quickly. 
  2. Instant Utility - a service must be instantly useful to users. Lengthy setup and configuration is a killer. Tricks like crawling the web to populate information you expect to get from your users later makes the service initially useful. YouTube won, for example, with instant availability of uploaded video.
  3. Voice - Consumer software is media (magazine, TV, newspaper), each media property has a POV. Your software needs a personality/attitude. It can't be bland. The Fail Whale, for example, showed Twitter's personality.
  4. Click to read more ...


Top Features of a Scalable Database

This is a guest post by Douglas Wilson, EMEA Field Application Engineer at Raima, based on insights from biulding their Raima Database Manager.

Scalability and Hardware

Scalability is the ability to maintain performance as demands on the system increase, by adding further resources. Normally those resources will be in the form of hardware. Since processor speeds are no longer increasing much, scaling up the hardware normally means adding extra processors or cores, and more memory.

Scalability and Software

However, scalability requires software that can utilize the extra hardware effectively. The software must be designed to allow parallel processing. In the context of a database engine this means that the server component must be multi-threaded, to allow the operating system to schedule parallel tasks on all the cores that are available. Not only that, but the database engine must provide an efficient way to break its workload into as many parallel tasks as there are cores. So, for example, if the database server always uses only four threads then it will make very little difference whether this server runs on a four-core machine or an eight-core machine.

Distributed Design

Click to read more ...


C is for Compute - Google Compute Engine (GCE)

After poking around the Google Compute Engine (GCE) documentation I had some trouble creating a mental model of how GCE works. Is it like AWS, GAE, Rackspace, just what is it? After watching Google I/O 2012 - Introducing Google Compute Engine and Google Compute Engine -- Technical Details, it turns out my initial impression, that GCE is disarmingly straightforward, turns out to be the point.

The focus of GCE is on the C, which stands for Compute, and that’s what GCE is all about: deploying lots of servers to solve computationally hard problems. What you get with GCE is a Super Datacenter on Google Steroids.

If you are wondering how you will run the next Instagram on GCE then that would be missing the point. GAE is targeted at applications. GCE is targeted at:

Click to read more ...