Internet service == any type of service provided via web interface
-presentation == static content
-business logic == dynamic content
-database tier == data store
-not necessarily separate processes on separate machines
-many available open source and proprietary technologies
…in multi process configurations ->
some form of IPC used, including RPC/RMO, shared memory …
For scale: multi-process, multi-node
=> “scale out” architecture
1. “Boss-worker”: front-end distributes requests to nodes
2. “All Equal”: all nodes execute any possible step in request processing, for any request
Functionally heterogeneous…
-different nodes, different tasks/requests
-data doesn’t have to be uniformly accessible everywhere
Traditional Approach:
– buy and configure resources
=> determine capacity based on expected demand(peak)
– When demand exceeds capacity
dropped request
lost opportunity
・on-demand elastic resources and services
・fine-grained pricing based on usage
・professionally managed and hosted
・API-based access
shared resources
– infrastructure and software/services
APIs for access & configuration
– web-based, libraries, command line…
Law of large numbers
– per customer there is large variation in resource needs
– average across many customers is roughly constant
Economies of Scale
– unit cost of providing resources or service drop at “bulk”