Retrieve VM meatdata information from within the VM
I am using Cassandra. Cassandra is a distributed DB (http://cassandra.apache.org/).
Every record is replicated across a configurable number of nodes.
To ensure HA the nodes holding the replicas are selected in different racks. In the Azure cloud the analogy of a different rack is a different Update Domain (for comparison in AWS the analogy is different Availability Zones).
See more information here http://www.datastax.com/documentation/cassandra/2.0/cassandra/architecture/architectureDataDistributeReplication_c.html
The nodes communicate with each other in p2p protocols and share the "rack" information among themselves. Every node is aware of the network topology of all the other nodes in the cluster including which rack they are on.
In AWS I can select in which Availability Zone, and the configure the Cassandra process to be aware of it.
in Azure I can't.
I need to be able to query the Update Domain upon VM startup to change the configuration dynamically.
If I would use PaaS and Worker Roles I could retrieve the information using the RoleEnvironment and RoleInstance classes, since I am using IaaS I can't use these APIs.
Thanks for the feedback. Improved reporting from within the VM is something we will look at improving.