Patent ID: 8166448

Claim:
A method of developing software for a distributed service comprising a plurality of packages containing software components configured to execute while distributed on a plurality of servers, the method comprising: specifying a configuration for integration test, the configuration including fewer servers than the plurality of servers in the distributed service under development, the configuration comprising one or more virtual servers in a single physical machine; maintaining in a first computer-readable medium information on a known good state for the plurality of packages; maintaining in a second computer-readable medium a first image of a first package and a second package of the plurality of packages, the second computer-readable medium being associated with at least one virtual server of the one or more virtual servers; modifying the second package of the plurality of packages; integrating into the at least one virtual server the modified second package of the plurality of packages; testing at least a portion of the first image while the modified second package is integrated with the first package on the at least one virtual server; and when changes to the first image are not required, increasing the number of servers in the configuration and repeating the maintaining, the modifying, the integrating and the testing.