You are on page 1of 28

Dan Wood Steven Borg

ALM Consultant, Northwest Cadence Co-Founder and Strategist, Northwest Cadence


dan.wood@nwcadence.com steven.borg@nwcadence.com
Course Topics

Managing the Application Lifecycle with MSDN


01 | Cloud Value for Software Development

02 | The Developer Workstation in the Cloud

03 | Pre-Production and Test Environments in the Cloud

04 | Hands-On: Try Microsoft Azure and Activate Your MSDN Cloud Benefits
Please make sure there’s a “Module
Transition” slide for every module

03 | Pre-Production and Test Environments in


the Cloud

Steven Borg | Co-Founder and Strategist


Dan Wood | ALM Consultant
Module Overview Please leave this area
blank to allow for
picture in picture

• Why use Cloud Environments for Pre-Production? recording

• Setting Up and Managing Cloud Environments


• Planning and Preparation for Enterprise Usage
In this Session ...
Dev/Test On-Premises

Developers

Your Datacenter

VMs in dev & test


environment IT Admin
Developers

IT Admin
MSDN Credits

$50/ PROFESSIONAL
month 3 VMs for 16 hours a day

$100/ month
80 VMs for 20 hours

$150/ ULTIMATE
month

Up to 500 web sites plus SQL DB


Setting Up Cloud Environments
• Steps:
– Create a new CLOUD SERVICE using the Windows Azure Management Portal
– Create BLOB STORAGE to store disk images (VHDs)
– Create or upload VHDs to blob storage
– Create VIRTUAL MACHINE INSTANCES with different roles (IIS/SQL) based on app
blueprint
– Create ENDPOINTS
– Configure LOAD BALANCING and FAILOVER in Azure
– Optional: create a VIRTUAL NETWORK to connect to on-premises resources
Cloud Services
A Cloud Service is a
combination of cloud
resources and their
configuration details:
– Management
– Configuration
– Security
– Networking
Services with VMs
Multiple Virtual Machines
can be hosted in the same
Cloud Service
Hybrid Environments

AD/DC/DNS
AD 1
WEB Cloud Service 2
SQL
80/443
Load Balancer

VPN Tunnel

Corp Users
Cloud Service 1

Windows Azure Your IT


Managing Cloud Environments
• Different tools for different purposes:
– Managing your Cloud servers in the Windows Azure web based management portal
works great
It is the place to start out creating and managing servers
– If you want to automate and script your management or do advanced management
tasks that the portal doesn’t provide – then you need the Azure Command Line Tools
– There are tools for Windows, Mac, and Linux
On Mac and Linux you run JavaScript or PHP tools
– The most powerful tools are the Azure PowerShell Tools that you run on Windows
Using PowerShell
• Preparation Steps
– Download and install the Azure PowerShell Tools
– Start a PowerShell prompt with Admin privileges
– Type the command Get-AzurePublishSettingsFile <enter>
This will launch a browser window to the Azure portal where you download the
publishsettings file
– From the PowerShell command line run the Import-AzurePublishSettingsFile
command to import the certificate and subscription information:
Import-AzurePublishSettingsfile c:\temp\your-filename.publishsettings.
– You are now ready to manage your Azure Cloud Servers from PowerShell!\

• Download the tools here:


http://www.windowsazure.com/en-us/manage/downloads/
DEMO
Using PowerShell to spin up a DevTest environment
Azure Script Center
One-Stop Shop for PowerShell Scripts:
https://gallery.technet.microsoft.com/scriptcenter
Managing Storage
• Remove all Blobs from one Azure Storage Account
Removes blobs from blob storage containers. The script will enumerate through all
containers and remove the blobs, maintaining the existence of the container
http://gallery.technet.microsoft.com/scriptcenter/Remove-all-Blobs-including-8b8d1777

• Download all Blobs from one Azure Storage Account


Copies blobs from a single storage container or all containers to a local directory
http://gallery.technet.microsoft.com/scriptcenter/all-Blobs-with-Snapshots-3b184a79

• Copy Files from Local Folder to Azure Blob Storage


Copies files (in parallel) from a local folder to a named Azure storage blob container
http://gallery.technet.microsoft.com/scriptcenter/Copy-Files-from-a-Local-0b8de545
Setting Up Cloud Environments
• To use your own template VMs in the Cloud:
– Provision a new VM in Windows Azure
– Customize, configure, prepare and then capture this VM as an image
– Deploy new VMs from this image
– Automate provisioning with PowerShell
Governance
• Billing Issues
– Per Project? | Per Group? | Per Division? | Corporate IT?
– Enterprise Agreement or MSDN?
• Security Issues
– Enforcing corporate policies
– Hybrid always means VPNs?
– Windows Azure subscription ownership
• Licensing Issues
– Stopping people to install software indiscriminately in the Cloud
– Microsoft software supported in Windows Azure VMs
Who is Responsible?
• MSDN | EA | PAYG
– # of subscriptions
– Development vs. production
– Sharing subscriptions/pooling

• Billing
– EA = Prepaid consumption hrs.
– Billing rolls up to a subscription
– Use subscriptions for charges

• Environment
– Enterprise portal vs. MSDN portal
Image Repositories
Project

Subscri
ption

Environment

Managed by IT/Ops Managed by IT/Ops and/or Dev/Test Teams


Environment Management
• Automated/Scheduled Shutdown/Startup
– Saving Money | Security
– End of Day | Beginning of Day scenarios
• Shelving | Snapshotting
– Single VMs vs Full Environments
– Context switching
– Sharing change sets
– Saving progress
• Snapshot Automation
– Should be fully automated (ex. with PowerShell)
Shared Services
• Shared Development Services
– VSO/TFS, Active Directory, Build Server(s), Data Repositories etc.
• Options for Shared Services
– On-Premises: connect Cloud resources with VPNs
– In the Cloud:
• IaaS Shared Services (TFS on VMs)
• SaaS Shared Services (VisualStudio.com)
Enterprise Dev/Test Checklist
Define the Deployment Management Strategy
Define the Billing Units (chargeback granularity)
Define the Change Management/Versioning Process
Define the Image Ingestion Strategy and Implementation Technology
Define the Automation Strategy (PowerShell | System Center | Puppet | Chef)
Create the Gold VMs (Corporate Policies | IT Software Stack)
Automate Subscriptions, VM Movement and Workspaces
(Project | Environments | Snapshots | Shelving) Management
DEMO
Deploying to a DevTest environment
©2014 Microsoft Corporation. All rights reserved. Microsoft, Windows, Office, Azure, System Center, Dynamics and other product names are or may be registered trademarks and/or trademarks in the
U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft
must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after
the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

You might also like