As Microsoft Azure provides the ultimate development and test environments for software solutions, here are the top three practices that will help you derive the maximum benefits from it.
Cloud-based workspace is an established practice any development team should consider to leverage cost optimization, on-demand scaling, custom configuring, and fast ramp-up. Very often development and test environments occur to be combinations of virtual machines, virtual networks, storage, and other services. Setting these environments up is a rather challenging task, especially when they are to be identical or need to be created fast. With Azure, it is possible to provision any number and combination of VMs and services within minutes, as well as network them together and install any software an application needs in order to run. It is a great time saver too: new team members can be ramped up and start working almost immediately after joining the team; they don’t need to manually setup their working environment – everything is ready to go with a click of a button and is accessible from anywhere.
Continuous integration (CI) and continuous deployment (CD) are two other development practices which are easy to implement and adhere to with Visual Studio Team Services. While CI requires developers to integrate code into a shared repository several times a day (with consequent verification by an automated build), CD takes the output from our build system and deploys it to defined environments (such as dev/stage/production) automatically. This allows dev and test teams to detect problems on short notice, avoid human errors and detect bugs right away. Configuring VSTS proj ects to enable continuous integration and continuous deployment to automatically deploy solutions to Azure web apps or cloud services is extremely easy – it can be done with just a few clicks.
One of the most useful features of Visual Studio Team Services is its browser-based exploratory testing that presents three easy steps: capture, create & collaborate. Any team member, be it a developer, a tester, a product owner or a lead/manager can perform exploratory testing of web apps right from the Chrome web browser on any platform (Windows, Mac, or Linux).
To size up the advantages of Azure, using Cloud Dev/Test in this Microsoft platform enables you to:
- Augment or even replace your IT department’s role in the development environments provisioning and manage it in line with your IT department policies/standards.
- Speed up and increase traceability of each release by empowering your teams with advanced collaboration and automation tools, as well as avoid routine manual steps.
- Improve quality of releases with continuous automated and exploratory testing throughout the development lifecycle. It enables your teams to detect and fix defects before they end up in production affecting your business and repelling users.
The author of this blog post, Volodymyr Shram, has shared his vast Dev/Test and Cloud knowledge as part of Microsoft’s free online educational Microsoft Virtual Academy. He delivered a 3-part Enabling Dev Teams to Leverage Dev/Test in Microsoft Azure module for the Dev/Test in the Cloud course. During this module, participants can learn how introducing continuous integration and deployment practices can decrease rework, increase tea m productivity and process transparency, leading to higher quality software.
Watch these videos to learn more details on how a cloud-based workspace, continuous integration, continuous deployment, and exploratory testing can enable dev teams to leverage the cloud. Enjoy your Dev/Test in Azure!