Monday, September 19, 2011

Cluster-Based Scalable Network Services

This paper gives an overview of one architecture for cluster-based network services. The paper is outdated but many ideas persisted to date:
1. Data semantics (BASE vs. ACID): many network services are willing to sacrifice temporary consistency for higher availability. And it's fine for most of them to give an approximate answer for some queries.
2. Scalability: Replicate components or prove non-replicable components are not bottlenecks.
3. Soft State: this is yet another way to improve availability. Soft state doesn't persist in data store. It is computed based on peer communications. This is still popular today in systems like Amazon Dynamo.
4. Layered architecture that helps developer to focus on the "content" of network services: TACC (Transformation, aggregation, caching, and customization) is essentially Google's MapReduce Framework. SNS is essential Google cluster's software infrastructures like GFS and Chubby.

No comments:

Post a Comment