Breakout Session: Service Composition 28 June 2001, Thursday Difference between local area and wide are composition - Latency - Failure detection: network/machine/site - Multiple service providers Structure of the Internet - Initially, it was just a cloud (ARPANET) - Moved to govt. supported backbone + regional networks (more administrative structure) - Commercially supported backbones. Regional networks became ISPs. ISPs connected to backbones through NAPs. Major ISPs have their own backbone. Consumer ISP versus Business ISP (moving towards more structure) o Core networks + access networks o Internet data centers placed close to NAPs (computation within the network) Emerging Internet Service Model - Yahoo: portal as a manager of user interface and preferences o Email, Search, Stock -- all from third party services -- composed o Appln infra services: distribution, caching, searching, hosting o Appln specific servers (streaming media, transformation) o Appln specific overlay networks o Internetworking (connectivity) Light-weight pieces for composition (e.g., transformation agents) versus heavy-weight pieces (e.g., search engines) Confederation model vs. Overlay model - network level versus service level Conf model at service level - Service level agreements needed (Peter Drussel's work) - Load vs. latency curve is given as SLA - (SLA at network level is easy, not so easy at service level) Overlay model at service level - Scraping screen for info - FFF is an example - Legacy software/content might be an issue Core network bandwidth is free and infinite - Does it matter where services are placed? What's the reason why the telephone network services are distributed? - The way the telephone network evolved was this way - Tel n/w arch is organized like that People are costlier than hardware HP: 50,000 nodes, $10K each 10 servers can be managed by one person? Storage: for every $1 for storage, $3-4 is spent for maintaining it. Ninja wide-area paths - Path is a first-class entity - Algebra of operators and connectors, strong typing - Ninja has not solved op/conn/interfaces o Java as a syntactic sugar o Path not yet really a programming paradigm Uniform access to diverse services - Different clients - RMI proxy - Content filters Is functional composition enough? - But, is the resulting service robust? - Event-based versus thread-based services - Event-based ==> performance is good, composition does not affect it - Can you introduce negative feedback for shedding load? - Can composition approach lead to more robust services? Things to discuss when we come back: - Granularity of services - Fragility of composition o Negative feedback: local, cluster, wide-area - Service decomposition: what's the criterion for doing this? How to design for decomposition? - Service location when b/w is free and unlimited. o Congestion is still an issue - Highly distributed versus centralized: service migration to end devices (optimize power on end device rather than n/w b/w) - Dynamics of composition o Multiple end devices - SLAs for service composition o Yahoo does have SLA with google o Economics meets engg at composition point - People vs system cost - General service building blocks to support service composition o E.g., performance monitoring - Relationship between topics on this list Second session: discussion - Decomposition o Granularity o Design for decomposition o Effect on reliability, time-scales of feedback o Adaptation to load/feedback loop - Growth trends o Copious bandwidth; overprovisioning okay? o 50K node data center o Proliferation of access networks - Service economics o How economics determine feasible service composition Apache story: - Bounded number of threads in Linux o Apache blocks socket connections o This combined with persistent HTTP o Client TCP retries o User retries o Certain requests have very low response time, some have very high response time o Load shifts to the network - Protocols are not designed for composition, or proxying - Proxies are used to hide protocol differences How to figure out which service has failed inbetween? Reliability calculation in SLA -- how to compose this figure? Another example of not stacking the adaptation: PPP negotiation is thrown away after connection establishment. End2End argument in service composition - How to have admission control at the end, if the bottleneck is in the middle? Rethinking SLA to allow for composition: confederated view Programming meta-services: e.g., Ninja, HP e-speak -- automatic programming - Will people define their own services? - Or, will service providers define them? * Probably the second one... Growth trends: - B/w is free and infinite - Optical networking revolution - Doubling every 2 years (in the backbone): Now, 1.6 Terabits of b/w, even 24 Tb/s. Infrastructure on the long-haul. - Access network side: o $2000/month for optical link (e.g., from SBC) - NY to SF: 4mill $/month Why Caching? Why QoS? - Server load may be a problem Bandwidth is only a question of money, but money doesn't exist everywhere -- congestion happens in trans-oceanic links Why distribution? - For load balancing -- better to overprovision lots of small sites, than to overprovision one big site Google and Inktomi -- have small number of sites, with lots of precious data -- unit of replication is huge Akamai, Digital-Island -- mostly soft-state, lots of sites, unit of replication is small Internet search isn't as latency sensitive as web browsing What about access netwoks? Push services towards end devices? Scaling of services will be an issue there. Criterion for decomposition may be driven by trust Granularity of sharing of resources across services -- service providers may not want to share the same CPU! What is the bottleneck in today's Internet? ISP? Bottleneck at the server? At the public peering points? Yahoogroups slowdown! Because of use of eGroups infrastructure. How real are SLAs? - Very conservative How often are SLAs written? - Written for 2 years, renegotiate every 6 months Service economics: - Some things are going to be slow on the way to the core - Aggregation goes on from edge to the core - What does it mean for service composition and how we decompose them? Resonate is building management tools for services - multi-tier service control o Diagnose and isolate problems, take corrective action Accountability -- affects how deep service composition can be eSpeak service discovery - never took off - had bidding built into it for composition