A system for creating and updating a dynamic service architecture to facilitate analysis and monitoring of a widely distributed service operated by an Infrastructure-as-a-Service (IaaS) tenant but deployed on a set of virtual resources controlled by an independent IaaS provider and allocated to the IaaS tenant, in which the distributed service may be at least one of geographically dispersed, part of different communication networks, and disjoint, wherein the IaaS provider is responsible for selection of the set of resources, wherein an operational capacity of the set of resources may change substantially and rapidly, and wherein the IaaS tenant has no direct control over, and limited visibility into, the selection of the set of resources, the system comprising:
- an infrastructure platform collector configured to frequently query Application Program Interfaces (APIs) defined by the IaaS provider to collect metadata characterizing the set of resources, wherein the infrastructure platform collector queries the provider APIs sufficiently often and according to a computer-implemented schedule to capture an expected rate of change of the resources on which the distributed service is deployed;
- a semantic modeler configured to automatically update, based at least in part on the metadata, and without human operator modeling input and information regarding actual physical network connectivity between resources, a service architecture having roles and relationships among resources;
- and
- an analysis module configured to select and execute analytics on the resources based on the then-inferred service architecture.