2013-03-12

"DevOps" (Short for Developer Operations) is one of a group of new terms such as "Cloud", "Big Data" and "Data Scientist" - words that are somewhere between marketing and tasks we've actually had around in other forms for years.However, working in a Distributed Environment (Both on and off premises)  like Windows Azure does bring a new set of tasks to the operations we currently perform in Information Technology.

Before I offer some guidance here, I need to carefully define the term "DevOps" as I use it.There are other definitions that involve Application Lifecycle Management (ALM) and standard operations policies, and you're free to use those as well, but this is the definition I'll use for this post:  By DevOps I mean those tasks involved with deploying, managing and monitoring a Windows Azure (or hybrid) project.

Another caveat: This is a non-authoritative, non-comprehensive post. I'll include only an outline of the major tasks, not a complete manual on the topic. There's enough knowledge needed on this topic for at least a whitepaper or two, and perhaps even a book, but for the moment I wanted to get some information out to ensure you have something to work from until those come along.This is primarily a list of resources for a DevOps team.

With all of those caveats in mind, we'll start the discussion after the project is conceived and architected. In most cases the DevOps team (whether that is a dedicated team or simply part of what the current IT Ops team does) is also involved in the design, at least from an information point of view. There's a great overview of the entire process available in poster form here: http://www.microsoft.com/en-us/download/details.aspx?id=36837 And you should also read this complete manual in preparation here: http://msdn.microsoft.com/en-us/library/hh871440.aspx

Deployment

The first task after the design of the project is deployment. The deployment method depends on the type of solution; Windows Azure has the ability to run VM's, software code, or provide services that are already created (such as Active Directory).

IaaS

Deploying Virtual Machines:

Manually from the Portal: http://go.microsoft.com/fwlink/?linkid=254427&clcid=0x409

Through Scripting: https://www.windowsazure.com/en-us/downloads/?fb=en-us, http://msdn.microsoft.com/en-us/library/ee460812.aspx

Copying your own VM's to Windows Azure: http://msdn.microsoft.com/en-us/library/windowsazure/gg465385.aspx

Using System Center: http://www.techrepublic.com/blog/datacenter/deploy-an-on-premise-vm-to-windows-azure-with-app-controller/5919

Virtual Networking: http://msdn.microsoft.com/en-us/library/windowsazure/jj156075.aspx, http://channel9.msdn.com/Shows/Cloud+Cover/Episode-88-Tips-and-Tricks-for-Windows-Azure-Virtual-Machines-and-Virtual-Networks,

PaaS

Through Visual Studio: http://www.microsoft.com/BizSpark/Azure/HowToDeployAzureApp.aspx

Using CSPack: http://msdn.microsoft.com/en-us/library/windowsazure/gg432988.aspx

Through Scripting: https://www.windowsazure.com/en-us/downloads/?fb=en-us, http://msdn.microsoft.com/en-us/library/ee460812.aspx

SaaS

Manually from the Portal:https://datamarket.azure.com/

Through Scripting: https://www.windowsazure.com/en-us/downloads/?fb=en-us

Monitoring

Monitoring the system after deployment involves watching the availability and uptime of the system, along with security intrusions and tracking access through code.

Health

Uptime and Availability through the Portal: http://www.windowsazure.com/en-us/support/service-dashboard/

Uptime and Availability through Third Party Vendors: http://www.paraleap.com/AzureWatch, http://blogs.msdn.com/b/buckwoody/archive/2012/07/03/management-and-monitoring-tools-for-windows-azure.aspx

Automatic Notification: http://www.codeproject.com/Articles/375892/Adding-SMS-notifications-to-your-Windows-Azure-pro

Performance

Performance Counters: http://msdn.microsoft.com/en-us/library/windowsazure/hh411520.aspx

Logging Diagnostics PaaS: http://msdn.microsoft.com/en-us/library/windowsazure/gg433048.aspx

Internal Instrumentation for PaaS: http://msdn.microsoft.com/en-us/library/windowsazure/hh674491%28v=vs.103%29.aspx

Third Party Performance Testing: http://www.neustar.biz/enterprise/web-performance, http://blogs.msdn.com/b/buckwoody/archive/2012/07/03/management-and-monitoring-tools-for-windows-azure.aspx

Costs

Understanding Costs: http://msdn.microsoft.com/en-us/library/ff803372.aspx, http://technet.microsoft.com/en-us/magazine/gg213848.aspx

Subscription Management: http://msdn.microsoft.com/en-us/library/windowsazure/gg465713.aspx

System Center: http://technet.microsoft.com/en-us/library/hh221354.aspx

Third-Party Tools: http://blogs.msdn.com/b/buckwoody/archive/2012/07/03/management-and-monitoring-tools-for-windows-azure.aspx

Example of listing your deployments: http://msdn.microsoft.com/en-us/library/gg651127.aspx

Management

Managing the deployment involves Security, Upgrades, Troubleshooting, and High-Availability/Disaster Recovery.

Windows Azure Management Portal: http://www.windowsazure.com/en-us/

Management API's: https://www.windowsazure.com/en-us/downloads/?fb=en-us and http://msdn.microsoft.com/en-us/library/ee460812.aspx, http://www.packtpub.com/sites/default/files/2220-chapter-7-managing-hosted-services-with-the-service-management-api.pdf?utm_source=packtpub&utm_medium=free&utm_campaign=pdf

Security

Security Trust Center: http://www.windowsazure.com/en-us/support/trust-center/

Working with Windows Azure Active Directory: http://blogs.msdn.com/b/windowsazure/archive/2012/11/28/windows-azure-now-supports-federation-with-windows-server-active-directory.aspx

Upgrades

ALM Process for PaaS: http://sqlblog.com/blogs/buck_woody/archive/2011/01/25/windows-azure-use-case-agility.aspx

Troubleshooting

Windows Azure Support: http://www.windowsazure.com/en-us/support/contact/

Upgrade and Fault Domains: http://blog.toddysm.com/2010/04/upgrade-domains-and-fault-domains-in-windows-azure.html

HADR

Load-Balancing Endpoints for IaaS: http://www.windowsazure.com/en-us/manage/windows/common-tasks/how-to-load-balance-virtual-machines/

Extending SQL Server HADR to Windows Azure: http://blogs.msdn.com/b/buckwoody/archive/2013/01/08/microsoft-windows-azure-disaster-recovery-options-for-on-premises-sql-server.aspx

HADR for IaaS: http://www.visionsolutions.com/, http://blogs.technet.com/b/windowsserver/archive/2012/03/28/microsoft-online-backup-service.aspx

Multiple Instances for PaaS: http://msdn.microsoft.com/en-us/library/windowsazure/ee871996.aspx

Business Continuity for Windows Azure: http://msdn.microsoft.com/en-us/library/windowsazure/hh873027.aspx, http://blogs.msdn.com/b/avkashchauhan/archive/2011/10/14/windows-azure-vm-downtime-due-to-host-and-guest-os-update-and-how-to-manage-it-in-multi-instance-windows-azure-application.aspx

Disposition

When the project is complete, you'll need to remove the VM's in IaaS, or data and code from PaaS and shut down the deployment. Prior to doing that, you should:

Copy all data from the deployment to a local repository

Document the process

Notify Microsoft of your intent to stop the project to work with your representative on billing matters

The primary tool for disposal is the Windows Azure Portal.

Show more