In light of this effort, Gochnauer said, “The ability to have multiple configurations easily provisioned has been a huge benefit. Moving parts of our NTP Software Precision Tiering product to Azure Web Roles and Azure Databases has removed the customer’s worry about manageability and scalability.”
Like Brooks and his developers, Gochnauer said that Visual Studio 2013 and the Azure SDK were the primary tools needed to get the job done. But, Gochnauer “used the Azure Compute and Storage emulators to test components locally prior to uploading the roles to Azure.” These are tools that the average developer does not need, but for an enterprise-scale product like NTP Software Precision Tiering, it is essential to know that the system can handle potentially billions of files. This is the kind of scale that the cloud promises, but it is still incumbent on the developer to ensure the goal is achieved.
What about those looking to be agile and have Software-as-a-Service offerings? Who better to ask than a company that offers Software-as-a-Service products targeted at helping with agile development itself? This describes VersionOne. Culling explained that his company offers several products hosted on Azure, including Estimably, which he described as “a node-based service, which is a mobile/tablet-friendly offering that provides a free real-time estimation service providing planning poker-style estimation for distributed teams.” Figure 2 shows one of the Estimably interfaces.
Culling talked about why his company uses and recommends Azure for projects like these. “From a process and practice perspective, we believe the following are huge benefits to developing on this platform,” he said.
“First, Azure streamlines/enables continuous deployment, and as a result, we have found that this really forces the DevOps discussion as the barriers between dev, test, staging and production are virtually non-existent. Second, Azure allows for greater focus on the code and less on the infrastructure. In comparison to other stacks, iteration-zero activities are much simpler due to the instant, no-effort infrastructure.”
Culling concluded by saying that “Given sensible design, [Azure] obviates the need to worry about scaling too early. We also really appreciate how well it supports experimentation/prototyping and accelerated learning in a production deployment.”
openAgile team lead Josh Gough (another member of the VersionOne team) summed up what he believes Microsoft is doing right for those who are not interested in being hemmed in to using just Microsoft products in their development. “We have been able to quickly build, deploy, monitor and change applications because of the deep integration between Azure, Node.js and GitHub,” he said.
“We can commit a change to a staging branch in a GitHub repository in GitHub, and almost instantly the source-code changes propagate to our staging deployment slot in Azure. When smoke-tests pass, we simply push the changes from the staging branch to master, and the production site gets the same updates.”