Virtualizing Services that are in Different Domains of Control (e.g., Cloud Computing)
Any service that is provided by an entity outside of the enterprise or is consumed by an entity outside of the organization should be virtualized. For example, if you have an outside service that provides sales forecasts for your industry, virtualizing this service would enable you to:
Monitor the performance and availability of the service, including compliance with service-level agreements (SLAs).
Shield consumers from changes in service providers.
Track dependencies between the external service and the applications within the enterprise that consume the service.
Resolve protocol and format inconsistencies between the outside service and the consuming applications within your enterprise.
Similarly, you should virtualize any service that your organization offers to applications that execute outside the enterprise (for example, an inventory control service that you extend to suppliers and/or distributors).