Web development tools
• Past the ecosystem of frameworks.
• Web workers (general purpose in-browser solution to backgrounding
tasks) - enables responsive applications.
• Desktop integration - getting web applications out of the security box -
• Microsoft rising - features, performance, compliance.
• New proﬁler in Firebug, FireUnit testing. Firebug 1.4a.
• YUI CSS Builder, BlueprintCSS for layouts now.
Web applications (versus pages). Early Alpha.
• Atlas - Apple stack ported to the web
Distributes services 1
• Autonomy - all decisions based on local information
• Asynchrony - always make progress
• Uncontrolled concurrency is evil
• Controlled parallelism - e.g. for loading
• Decompose - KISS, drop the fat
• Failure tolerant - failure is normal
• Local responsibility - do not burden your peers
• Symmetry - similar naming, makes conﬁguration simpler of
Distributes services 2
• Each service group was required to operate their own service. Amazon
claims to have no operations for software services. Engineers motivated
to do services monitor-able by getting 3:30 AM call. Usually a resource
(page) build using 200-300 services.
• Amazon found 30% cost in value providing services, 70% in operations
• So to unload the 70% from engineers, which still will be supporting their
services they did the EC2
• Scaling down is MORE important, than up. That is part of smart growth
and being able to take advantage in consuming services improvements
• Failures are highly correlated. Failures come in batches
• Systems do not fail by stopping. They either crash or continue emitting
Distributes services 3
• When s... hits the fan, shed those services violating their consumer SLAs
• The infrastructure is virtualised and make it a service to developers.
• Before virtualization: 4-6 hours server provisioning. Engineers were
NEVER releasing servers. They were hoarding their resources.
• The goal of EC2 was to provision AND RELEASE nodes in under a
• Service should break transparency. Engineers need to see failures.
• Engineers need to know location of servies to deploy resiliently