Deploy the new Azure D-Series VM
I am trying to deploy a test instance of our Azure based web service to a new D-series Azure vm. We use temp files extensively and hope to see good performance improvements. Unfortunately, we can't seem to be able to package or build with the new vmsizes. Our current csdef looks like this:
<ServiceDefinition name="WebAPI.Azure" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceDefinition" schemaVersion="2013-10.2.2"> <WebRole name="WebAPI" vmsize="Large"> <Sites> <Site name="Web"> <Bindings> <Binding name="Endpoint1" endpointName="NonSSL Endpoint" /> </Bindings> </Site> </Sites> <Endpoints> <InputEndpoint name="NonSSL Endpoint" protocol="http" port="80" /> <InternalEndpoint name="InternalHttpIn" protocol="http" /> </Endpoints> </WebRole> </ServiceDefinition>
If I switch vmsize from "Large" to "Standard_D3" and try to create or package to publish, I get this error:
Error 2 The XML specification is not valid: The 'vmsize' attribute is invalid - The value 'Standard_D3' is invalid according to its datatype 'http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceDefinition:RoleSize' - The Enumeration constraint failed. C:\Users\ablack\Desktop\WebAPI.Azure\ServiceDefinition.csdef 3 34 WebAPI.Azure
How do I update this schema? Or is there a way to override XML validation during the build and packaging process?
source to share
Apparently the 2.4 SDK removes the vmsize limitation entirely (it accepts any value, including values made as "Supersize"), so we'll have to jump to that to try any new size options. This will complicate benchmarking (we need to get fresh raw data with the updated SDK first), but c'est la vie.
source to share