{"action":"created","issue":{"url":"https://api.github.com/repos/GoogleCloudPlatform/PerfKitBenchmarker/issues/139","labels_url":"https://api.github.com/repos/GoogleCloudPlatform/PerfKitBenchmarker/issues/139/labels{/name}","comments_url":"https://api.github.com/repos/GoogleCloudPlatform/PerfKitBenchmarker/issues/139/comments","events_url":"https://api.github.com/repos/GoogleCloudPlatform/PerfKitBenchmarker/issues/139/events","html_url":"https://github.com/GoogleCloudPlatform/PerfKitBenchmarker/issues/139","id":59584526,"number":139,"title":"Azure:Cloud Service stood up for every VM?","user":{"login":"timothyeharris","id":11050091,"avatar_url":"https://avatars.githubusercontent.com/u/11050091?v=3","gravatar_id":"","url":"https://api.github.com/users/timothyeharris","html_url":"https://github.com/timothyeharris","followers_url":"https://api.github.com/users/timothyeharris/followers","following_url":"https://api.github.com/users/timothyeharris/following{/other_user}","gists_url":"https://api.github.com/users/timothyeharris/gists{/gist_id}","starred_url":"https://api.github.com/users/timothyeharris/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/timothyeharris/subscriptions","organizations_url":"https://api.github.com/users/timothyeharris/orgs","repos_url":"https://api.github.com/users/timothyeharris/repos","events_url":"https://api.github.com/users/timothyeharris/events{/privacy}","received_events_url":"https://api.github.com/users/timothyeharris/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/GoogleCloudPlatform/PerfKitBenchmarker/labels/enhancement","name":"enhancement","color":"84b6eb"}],"state":"open","locked":false,"assignee":null,"milestone":{"url":"https://api.github.com/repos/GoogleCloudPlatform/PerfKitBenchmarker/milestones/1","html_url":"https://github.com/GoogleCloudPlatform/PerfKitBenchmarker/milestones/P1","labels_url":"https://api.github.com/repos/GoogleCloudPlatform/PerfKitBenchmarker/milestones/1/labels","id":1003337,"number":1,"title":"P1","description":null,"creator":{"login":"voellm","id":5758832,"avatar_url":"https://avatars.githubusercontent.com/u/5758832?v=3","gravatar_id":"","url":"https://api.github.com/users/voellm","html_url":"https://github.com/voellm","followers_url":"https://api.github.com/users/voellm/followers","following_url":"https://api.github.com/users/voellm/following{/other_user}","gists_url":"https://api.github.com/users/voellm/gists{/gist_id}","starred_url":"https://api.github.com/users/voellm/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/voellm/subscriptions","organizations_url":"https://api.github.com/users/voellm/orgs","repos_url":"https://api.github.com/users/voellm/repos","events_url":"https://api.github.com/users/voellm/events{/privacy}","received_events_url":"https://api.github.com/users/voellm/received_events","type":"User","site_admin":false},"open_issues":1,"closed_issues":0,"state":"open","created_at":"2015-03-03T03:00:24Z","updated_at":"2015-03-03T03:00:24Z","due_on":null,"closed_at":null},"comments":9,"created_at":"2015-03-03T02:09:41Z","updated_at":"2015-03-03T22:16:02Z","closed_at":null,"body":"I'm running PerfkitBenchmarker against Microsoft Azure, and I'm noticing the system creates a cloud service *for every VM it stands up*.  This is not a realistic use of the cloud service.  In Azure, Cloud Service is similar to a GCE \"Project.\"  In fact, I would suggest that the behavior against Azure be modified such that if the user specifies a --project parameter at runtime, that you use it just like you would for GCP - to put all the VMs for the benchmarks into a cloud service with that name.  Otherwise, I would recommend that a cloud service only be stood up against the run-id, and not for every VM."},"comment":{"url":"https://api.github.com/repos/GoogleCloudPlatform/PerfKitBenchmarker/issues/comments/77048493","html_url":"https://github.com/GoogleCloudPlatform/PerfKitBenchmarker/issues/139#issuecomment-77048493","issue_url":"https://api.github.com/repos/GoogleCloudPlatform/PerfKitBenchmarker/issues/139","id":77048493,"user":{"login":"timothyeharris","id":11050091,"avatar_url":"https://avatars.githubusercontent.com/u/11050091?v=3","gravatar_id":"","url":"https://api.github.com/users/timothyeharris","html_url":"https://github.com/timothyeharris","followers_url":"https://api.github.com/users/timothyeharris/followers","following_url":"https://api.github.com/users/timothyeharris/following{/other_user}","gists_url":"https://api.github.com/users/timothyeharris/gists{/gist_id}","starred_url":"https://api.github.com/users/timothyeharris/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/timothyeharris/subscriptions","organizations_url":"https://api.github.com/users/timothyeharris/orgs","repos_url":"https://api.github.com/users/timothyeharris/repos","events_url":"https://api.github.com/users/timothyeharris/events{/privacy}","received_events_url":"https://api.github.com/users/timothyeharris/received_events","type":"User","site_admin":false},"created_at":"2015-03-03T22:16:02Z","updated_at":"2015-03-03T22:16:02Z","body":"That makes sense since they're both on the same external IP address.  For benchmarks dealing only with the \"internal\" resources of the cloud platform, storage, and network, I think this is a good approach (it's more like simulating a multi-tier application).  If, however, benchmarks ever get added that require external connectivity, then it's better to have each stood up as a separate entity (that said, trying to \"benchmark\" when the external connection comes in to play is a bit of a non starter).\r\n\r\nFor all three (and future) platforms, it seems like PKB could have a \"global prepare\" that happens at the front end to stand up projects, affinity groups, networks, etc rather than standing all these up and tearing them all down in between each benchmark.  Cleaning these up could happen in a \"global cleanup\" section once all the benchmarks have run.\r\n\r\nI could see, in the future, wanting to stand up multiple \"global containers\" -- say in Azure AND GCE -- and run some of the multi-machine benchmarks with member-nodes in each :-)\r\n"}}