The Hosted Service provides always-available network-accessible services that support the calendaring and PIM goals of users of OSAF software products.
We're shooting to sync with overall OSAF Alpha, Beta, 1.0 schedule.
The service is a member of the ecosystem. Unique position:
Available 24x7: Web UIs, mashups, scripted integration, mobile
All services are network protocol accessible: HTTP, WebDAV, CalDAV, CMP, Atom, JSON
Centralized / federated architecture makes some things easier: synchronization, email, feeds, group coordination, asynchronous operations
Slide 3: Roadmap
The bulk of the Hosted Service features are provided by Cosmo and Scooby.
Some service-specific code will be written: email robots, batch jobs, etc
Alpha: Scooby 0.3, Cosmo 0.5, and ...
Experimental email
Beta: Scooby 0.4/0.5, Cosmo 0.6/0.7, Chandler 0.7final, and ...
More email
Probably 1 or 2 nifty things not yet conceived. Perhaps mobile.
1.0: Scooby, Cosmo, Chandler, and ...
Revenue; interop; additional target users
Daydreaming about nifty hosted service features is easy; but limited by timeline, people, "upstream" software (Cosmo, Scooby, Chandler), more. Mindset is to focus on ecosystem support and Beta reality.
Operations (servers, bandwidth, customer service, staff) all scale with growth.
Proposing "average number of weekly Chandler users" as core metric.
Load = Target user load + Casual-users-driven-by-target-users load
Target user load = Chandler background sync
Casual user load = Scooby-driven Cosmo read/write ops + Feeds
Background sync likely to dominate load
Right now, a 1300-event calendar takes 90 seconds on an unloaded 3Ghz server.
1,000 users doing background sync every 30 minutes will generate about 25 syncs/minutes.
Based on rough estimates, on a $15k server with current scaling, we could support about 200 large-calendar users doing background syncs (or $75/user). Regular users, estimate 1,000 users per server.
Slide 5: Hosted Service Engineering: Load distribution
Current deployment architecture
Apache/mod_proxy for HTTP indirection (SSL, multiple hosts, throttling, etc)