Today we will discuss the pattern “lightweight models and cost effective scalability”. This is the final pattern defined by Tim O'Reilly at a Web 2.0 conference a number of years ago. What this pattern refers to is the ability to scale quickly when required. When we talk about scale, we refer to not just physical hardware, but the business model. The business model needs to be able to handle a rapid increase in customers. The lightweight model part of the pattern refers to being able to get to market faster with a lean business model.
In the Web 1.0 era the preferred method was to invest heavily in infrastructure, employees and generally spend a lot of money following a “bigger is better” approach. After the dot com crash, lessons were learnt. Web 2.0 follows the philosophy that “smaller is better”. Start as lean as you can, outsource your infrastructure and your employees if needed, to allow for scaling up and down as required. This approach reduces the need to invest heavily up front, thus allowing the business to get to market faster.
To illustrate this pattern, I will discuss Minecraft a popular online game. The game revolves around placing blocks to build anything you want. Its a very simple concept, but has proven very popular. The game was written in about a week, then released for public use still in the alpha phase of development.
So how does a game released after a week of development match this pattern?
Minecraft was released in alpha state, over a year later was moved to beta phase. The Minecraft user base tested the game, and provided feedback for the developer to use to create an even better game. This approach allowed the game to progress in line with user demand. This also guarantees good word of mouth. Users get excited about the game and its improvements and share this with their friends.
|Screenshot showing classic version|
In January 2011 Minecraft was moved to Amazon Web Services. This move shores up the ability for Minecraft to scale as needed. The company doesn't need to spend more on infrastructure than is actually in use with this approach. It also reduces the need to hire extra employees, as server hardware/software is outsourced. Maintaining server infrastructure can be a very costly exercise.
The creator of Minecraft followed the Web 2.0 standard practice of offering services for free. The classic version is free, but has limitations. This approach allows users to get addicted to the game, and when they want to explore more, they can pay to use the regularly updated paid version. This revenue model has allowed Minecraft to be improved over time as more customers have joined the game. There are rumours that developers will release Minecraft as open source once the money stops coming in. It will be interesting to see what happens, as time goes on.