Contributed by Anup Surendran
In the pursuit of solutions
This is a follow up post to my previous one about Performance.
Scaling in technology lingo is - " The ability for your service to continue to serve at the same level of service quality to multiple clients or requests as demands increase". That might be a simplistic explanation. Wikipedia explains it like this - The ability for a business or technology to accept increased volume without impacting the contribution margin (= revenue - variable costs). For example, a given piece of equipment may have capacity from 1-1000 users, and beyond 1000 users, additional equipment is needed or performance will decline (variable costs will increase and reduce contribution margin).
It is interesting to note some technology lessons learned from Google's technical architecture . Here are the highlights :- Infrastructure can be a competitive advantage.
- Spanning multiple data centers is still an unsolved problem.
- Take a look at Hadoop
- Synergy isn't always crap. By making all parts of a system work together an improvement in one helps them all. Improve the file system and everyone benefits immediately and transparently. If every project uses a different file system then there's no continual incremental improvement across the entire stack.
- Build self-managing systems that work without having to take the system down. This allows you to more easily rebalance resources across servers, add more capacity dynamically, bring machines off line, and gracefully handle upgrades.
- Create a Darwinian infrastructure. Perform time consuming operation in parallel and take the winner.
- Don't ignore the Academy. Academia has a lot of good ideas that don't get translated into production environments. Most of what Google has done has prior art, just not prior large scale deployment.
-Consider compression. Compression is a good option when you have a lot of CPU to throw around and limited IO.
All these will show up in some form or fashion when you consider scaling your technology services.
Comments 0 Comments