In this session you will see how Microsoft Azure responds to the need of temporary infrastructures, available on demand, with reduced costs, for Development / Test / Staging environments.
With the help of Visual Studio Team Services or Team Foundation Server, you will see how Azure fits perfectly in this world, and how easy it is to setup different stages for your application, together with workflows and rules which define how progress is made from one stage to another throughout the development cycle.
This session is useful for you if you are part of a small engineering team, and also if you are part of a large development organization with multiple applications and versions which have to be tested together.
Dev and Test Environments with VSTS and Microsoft Azure - Mihai Tataran
1. @ITCAMPRO #ITCAMP16Community Conference for IT Professionals
Dev and Test Environments with Visual Studio
Team Services and Microsoft Azure
Mihai Tătăran
General Manager @Avaelgo
Microsoft Most Valuable Professional | Azure
Mihai.tataran@Avaelgo.ro
3. @ITCAMPRO #ITCAMP16Community Conference for IT Professionals
Mihai Tătăran
Microsoft Azure Most Valuable Profassional
General Manager @ Avaelgo
Training and consulting
Software development
Infrastructure
Microsoft Cloud SME of the Month in Europe
Case study about a solution on Azure - Microsoft .com website
Co-organizer: www.itcamp.ro
4. @ITCAMPRO #ITCAMP16Community Conference for IT Professionals
Agenda
Dev/Test challenges
How Azure can help
Continuous Delivery on Azure with VSTS (former VSO)
Infrastructure as Code (IaC)
Azure Dev Test Labs
6. @ITCAMPRO #ITCAMP16Community Conference for IT Professionals
Dev/Test challenges: Disconnection Dev / Infrastructure
Major disconnection between Development and Infrastructure teams
Who is in charge of the temporary infrastructure?
Sounds familiar?
Dev team asks for a few VMs for their Dev / Staging environment, for proper functional and
integration testing
Infrastructure team gets the ticket / request, sends it through the proper channels to relevant
person in charge
VMs are created and Dev team is notified
VMs are not exactly how the dev team has requested. Redo previous steps
Tests are done
Dev team forgets to notify infrastructure team to release the VMs
7. @ITCAMPRO #ITCAMP16Community Conference for IT Professionals
Dev/Test challenges: cost
Having tens or hundreds of VMs in an on premises infrastructure is a
major cost issue
Especially if they are not needed all the time:
Day and night?
The whole development lifecycle? E.g.: is it good enough to have them every 2
weeks on Wednesday to Friday?
8. @ITCAMPRO #ITCAMP16Community Conference for IT Professionals
Dev/Test challenges: skills
Development process
Developer tools: TFS, VSTS, Release Management, etc.
Infrastructure team process
Infrastructure tools: PowerShell, etc.
9. @ITCAMPRO #ITCAMP16Community Conference for IT Professionals
Dev/Test challenges: business constraints
Software as a Service
Deliver faster / shorter time to market
10. @ITCAMPRO #ITCAMP16Community Conference for IT Professionals
Dev/Test challenges: hard to configure
Staging infrastructure needs to be identical with the
Production infrastructure
How do you guarantee that, repeatedly, with minimum work?
14. @ITCAMPRO #ITCAMP16Community Conference for IT Professionals
How Azure can help
Self service: Dev team can create temporary environments
Infrastructure team can define / contribute to rules, workflows, etc.
Elasticity: shut down the VMs over nights, weekends; be able to scale
Fast: provisioning takes minutes to complete
Less waste using: quotas, access policies, automatic shutdowns
Create once, use as a template
Integrates with existing toolchain: Visual Studio, git, Puppet, Chef,
Eclipse
15. @ITCAMPRO #ITCAMP16Community Conference for IT Professionals
Microsoft Continuous Integration tools
TFS
Team Foundation Server
THE CI / CD tool from MS
Our services are based on a
real life experience and
delivered as a practical step-by-
step process.
AZURE INTEGRATION
TFS with Release Management
VSTS with Build, Release tabs
VSTS
Visual Studio Team Services, former
VSO
Lightweight, SaaS version of TFS
18. @ITCAMPRO #ITCAMP16Community Conference for IT Professionals
More realistic process
Source Code
editing in Visual
Studio
Visual Studio Team
Services BUILD
Visual Studio Team
Services RELEASE
Environment
Creation as
specified by ARM
template
Email
confirmation.
Testing can begin
Solution
deployment
With VMs
prerequisites
19. @ITCAMPRO #ITCAMP16Community Conference for IT Professionals
Azure Resource Groups
Tightly coupled containers of multiple resources
of similar or different types
Which have common lifecycle and management
Every resource must exist in one and only one
resource group
Resource groups can span regions
Can be created using templates
20. @ITCAMPRO #ITCAMP16Community Conference for IT Professionals
Configuring VMs with Desired State Configuration
configuration IISInstall
{
node (“localhost”)
{
WindowsFeature IIS
{
Ensure = “Present”
Name = “Web-Server”
}
}
}
$vm = Set-AzureVMDSCExtension -VM $vm -ConfigurationArchive “IISInstall.ps1.zip” -ConfigurationName “IISInstall”
New-AzureVM -VM $vm -Location “West US” -ServiceName “example-1-svc” -WaitForBoot
21. @ITCAMPRO #ITCAMP16Community Conference for IT Professionals
Infrastructure as Code
Techniques and practices helping IT pros remove the burden
of the day to day build and management of infrastructure
Examples:
Azure Resource Manager, JSON files for templating
Desired State Configuration (PowerShell DSC)
22. @ITCAMPRO #ITCAMP16Community Conference for IT Professionals
Creating environments in Azure
Azure Resource Group
<Application>_<version>_DEV
Web Middleware Database
Azure Resource Group
<Application>_<version>_QA
Web Middleware Database
Local network
Tester / QA Team
VPN
Release Manager
Visual Studio Team Services
ARM Template
DSC scripts for VMs
prerequisites and solution
deployment
BUILD and RELEASE
definitions
25. @ITCAMPRO #ITCAMP16Community Conference for IT Professionals
DevTest Labs (preview)
A service in Azure
Quickly create environments
Using templates (ARM)
Artifacts:
Agents, tools, programs (such as Visual Studio, Fiddler, etc.) you need on your VMs
Actions
Applications to test
Minimize waste using Caps. E.g.: number of VMs / user
Control costs with Policies. E.g.: shut down VMs on a schedule
28. @ITCAMPRO #ITCAMP16Community Conference for IT Professionals
Agenda
Dev/Test challenges
How Azure can help
Continuous Delivery on Azure with VSTS (former VSO)
Infrastructure as Code (IaC)
Azure Dev Test Labs