Inside Azure DevOps
This week we took a rapid fire demo inside Azure DevOps, and introduced two new guests; the minds behind our Agile DevOps service, software engineers Brian Dobberteen and Jason Baumer. In the demo, they take us through a working development and deployment cycle for “Parts Unlimited”, the eCommerce site featured in Gene Kim’s, The Pheonix Project, one of the most celebrated DevOps books ever. The site and its build is also used as part of Microsoft’s AZ-400 DevOps certification exam.
Project Details (from Microsoft.github.io/PartsUnlimited)
- Works with Visual Studio 2017
- ASP.NET 5 support for Linux and Mono
- Updated to .NET Core 2.0 in Jan 2018
- Modern HTML5 responsive layout using bootstrap for mobile, tablet, and PC
- Includes a Dockerfile and sample publishing profile to publish to a Docker container
- Supports multiple authentication options including Azure Active Directory, Google, and Facebook
- Azure Machine Learning product recommendations based on Order History
- Designed for Azure Websites, including Testing in Production, Staging slots and environment variables for feature flags (to turn off recommendations)
- Includes Grunt tasks for publishing assets to Azure Storage for CDN ingestion for faster performance
- Entity Framework code-first using SQL Azure or an in-memory database (Mono)
- Basic administration pages to add or edit product information
- Includes Azure RM JSON templates and PowerShell automation scripts to easily build and provision your environment
In the demo they demonstrate and explain each of the five core features of Azure Devops, including Pipelines, Boards, Artifacts, Repos, and Test Plans. In just over 20 minutes, they build and deploy the site to a live environment.
What is Azure DevOps?
Azure Devops was released in September 2018, and is a realization of Microsoft’s 15 years of providing tools to support software development teams. This is the tool set used by over 80,000 internal Microsoft engineers to deliver the products you use everyday. Azure Devops spans the entire DevOps cycle and includes five main tools:
- Azure Pipelines - Continuous integration and delivery. Seamless connection with Git (or any Git repository)
- Azure Boards - Track work with custom dashboards and reporting, backlogs, Kanban boards
- Azure Artifacts - Package feeds from NuGet, Maven, or npm
- Azure Repos - Cloud hosted Git repos with advanced file management and collaborative pull requests
- Azure Test Plans - Planned and exploratory testing for both web and desktop apps
The best part of Azure DevOps is that it is fully open and extensible with almost every development tool available, so your developers and engineers can continue work with the tools and languages they love, and deploy to any cloud, including Azure, AWS and Google, while still getting the full advantage of the Azure DevOps CI/CD stack.
Inside the Demo
Azure DevOps Overview
The Azure DevOps overview section includes a summary screen, dashboards, analytics, and reports. They are all widget based making it incredibly easy to customize, and the ability to have multiple dashboards means you can create specific views for your product owner, scrum master, CEO, engineers, IT managers, or any other group attached to a project.
Azure DevOps Boards
Anyone in development has a love hate relationship with their boards. The boards tools in Azure DevOps is just as configurable as the dashboards, which will definitely increase the love in the relationship. Within the boards section, you can manage:
- Work items (User stories, features, etc.),
Azure Devops Repos
The repos tool in Azure DevOps is great, giving you a strong visual understanding of your files, commits , branches, and pull requests. Sean’s favorite feature is in the Source explorer tool which not only gives you a list of commits but also provides a simple and elegant visual display of branches.
Azure DevOps Pipelines
The Pipeline is the core of Azure DevOps and is where code is built and deployed. Azure DevOps pipeline tool supports any language and can push compiled code to any cloud, to containers including Docker and Kubernetes, and is extensible with a wide range of community built build, test, and deployment automation tasks. The pipeline in the demo consists of:
- Visual Studio Build
- Visual Studio Test
- A Copy files task
- Publication to artifacts
Adding tasks is easy, and the directory of available tasks is exhaustive. The deployment pipeline is easy to manage, and supports both automated tasks and manual pre and post-deployment interventions, allowing a clean process for review and QA.
Azure DevOps Test Plans
The Test Plan tools allow you to run automated testing, manual testing and load testing. In the case of an eCommerce shop, load testing is incredibly important. Being able to test your online storefront for peak volumes can keep you from the sluggish performance that costs you sales(cough, Black Friday, cough). Testing plans can be tied directly to individual work items, which is particularly nice with manual testing as you can have the Criteria for Acceptance become a multi-step test plan to make sure the feature works as desired.
Azure DevOps Artifacts
The Azure DevOps Artifacts tab is your home for packages. You can easily set up feeds to pull from Maven, npm, and NuGet package managers, or you can push your own packages from within your own Azure DevOps CI/CD pipeline.
AgileDevOps provides training, guidance, and managed DevOps environments, bridging the gap from traditional infrastructure deployment process to modern cloud DevOps
About Agile IT Tech Talks
Agile IT Tech Talks are weekly sessions where we bring in subject matter experts for short, highly-focused, educational segments, followed by up to an hour of open Q&A where Agile IT clients can discuss their own environments with our engineers and a group of peers. While we release the demos and sessions on our blog, the Q&A benefit is only available to Agile IT Managed Service and Cloud Service Customers. Agile IT is a four time cloud partner of the year and offers fully managed DevOps as a service. To find out more, schedule a free call with a cloud service advisor.