A system facilitates the design and implementation of large-scale applications,
such as Internet Services and Websites, for distributed computer systems, such
as server data centers, Internet data centers (IDCs), Web farms, and the like.
The system has a modeling system and a deployment system. The modeling system permits
developers to architect the hardware and software used to implement the applications
in an abstract manner. The modeling system defines a set of components used to
describe the functionality of an application. The model components are arranged
and interconnected to form a scale-independent logical model of the application.
Once a logical model is created, the deployment system uses the logical model to
automatically deploy various computer/software resources to implement the application.
The deployment system converts each of the model components into one or more instances
that correspond to physical resources.