Tag: DevOps


What are the Microsoft Certified Expert Certifications?

Recently, Microsoft announced and started releasing all new certification exams that are more job role focused. This new set of certification paths are being made in response to the feedback that Microsoft customers have expressed over the previous certification path. Overall, job role focused certification paths will mean certifications that better align with the jobs professionals are performing on a daily basis. However, this also means a new set of confusing questions about the new certification paths. This post is meant to help answer a few of these questions and clear up some confusion about which “Expert” level certification are being released by Microsoft, and what their requirements are.

Which “Expert” Certifications are there?

The latest certification shakeup from Microsoft brings with it a few new certifications for “Experts”. These are the most advanced certifications from Microsoft. Each of these “Expert” certifications will have a few prerequisites that need to be met first; which includes previous certifications to be earned.

Here’s a list of the “Expert” level certifications from Microsoft:

  • Microsoft Certified: Azure Solutions Architect Expert 
  • Microsoft Certified: Azure DevOps Engineer Expert
  • Microsoft Certified: Microsoft 365 Enterprise Administrator Expert

Each of these “Expert” level certifications from Microsoft build upon different pillars of expertise. These certifications consist of passing multiple certification exams in order to earn, and represent the highest level of job role oriented certifications Microsoft is offering. See below for a list of the prerequisites for each of these larger Microsoft “Expert” level certifications.

Microsoft Certified: Azure Solutions Architect Expert

The Microsoft Certified: Azure Solutions Architect Expert certification demonstrates a candidates expertise in designing solutions that run in the cloud with Microsoft Azure services and technologies. Candidates are expected to be experts in compute, network, storage, and security services in the Azure cloud.

To earn the Azure Solutions Expert certification, a candidate must pass the following 2 certification exams:

  1. AZ-300: Microsoft Azure Architect Technologies
  2. AZ-301: Microsoft Azure Architect Design

Alternatively, candidates who have previously passed the 70-535 Architecting Microsoft Azure Solutions exam, are eligible to pass the AZ-302 Microsoft Azure Solutions Architect Transition Exam. The AZ-302 exam will test and validate skills in the areas and technologies that were not previously covered on the 70-535, but are tested on the new AZ-300 and AZ-301 exams. This AZ-302 Transition exam is being offered to eligible candidates until July 2019.

Microsoft Certified: Azure DevOps Engineer Expert

The Microsoft Certified: Azure DevOps Engineer Expert certification demonstrates a candidates expertise in designing and implementing DevOps practices using Microsoft Azure technologies as a DevOps Professional.

To earn the Azure DevOps Engineer Expert certification, candidates can choose either an Azure Administrator or an Azure Developer path to start by previously earning either of the following certifications as a prerequisite:

  • Microsoft Certified: Azure Administrator Associate
  • Microsoft Certified: Azure Developer Associate

Once either of the prerequisite certifications are earned, candidates can then pass the following 1 exam to earn the Azure DevOps Engineer Expert certification:

  1. AZ-400: Microsoft Azure DevOps Solutions

The Microsoft Certified: Azure Administrator Associate certification path towards the Azure DevOps Engineer Expert certification consists of passing the following certification exams:

  1. AZ-100: Microsoft Azure Infrastructure Deployment exam
  2. AZ-101: Microsoft Azure Integration and Security exam 

Alternatively, Azure Administrator candidates who have previously passed the 70-533 Implementing Microsoft Azure Solutions certification exam can choose to take the AZ-102 Microsoft Azure Administrator Transition Exam. The AZ-102 exam will test and validate skills that were not covered on the 70-533 exam, but are on the newer AZ-100 and AZ-101 exams.This AZ-102 Transition exam is being offered to eligible candidates until July 2019.

The Microsoft Certified: Azure Developer Associate certification path towards the Azure DevOps Engineer Expert certification consists of passing the following certification exams:

  1. AZ-200: Microsoft Azure Developer Core Solutions
  2. AZ-201: Microsoft Azure Developer Advanced Solutions

Alternatively, Azure Administrator candidates who have previously passed the 70-532 Developing Microsoft Azure Solutions certification exam can choose to take the AZ-202 Microsoft Azure Developer Transition Exam. The AZ-202 exam will test and validate skills that were not covered on the 70-532 exam, but are on the newer AZ-200 and AZ-201 exams.This AZ-202 Transition exam is being offered to eligible candidates until July 2019.

Microsoft Certified: Microsoft 365 Enterprise Administrator Expert

The Microsoft Certified: Microsoft 365 Enterprise Administrator Expert certification demonstrates a candidates expertise in evaluating, planning, migrating, deploying, and managing Microsoft 365 services.

To earn the Microsoft 365 Enterprise Administrator Expert certification, candidates need to first earn one of the following Associate-level certifications to meet the “workload” requirement:

  • Microsoft Certified: Modern Desktop Administrator Associate
  • Microsoft Certified: Teamwork Administrator Associate
  • Microsoft Certified: Security Administrator Associate
  • Microsoft Certified: Messaging Administrator Associate

Alternatively, candidates who have already earned the MCSE: Productivity certification, then they have already met the “workload” requirement!

Once the “workload” requirement has been met, candidates only need to pass both of the following certification exams:

  1. MS-100: Microsoft 365 Identity and Services
  2. MS-101: Microsoft 365 Mobility and Security

Happy studying, and good luck on those exams!


AZ-400 Microsoft Azure DevOps Solutions Certification Exam

The AZ-400 Microsoft Azure DevOps Solutions certification exam tests and validates a candidates expertise as a DevOps Professional around the use of Microsoft Azure technologies for designing and implementing DevOps practices. This exam is a part of the required exams needed to earn the larger Microsoft Certified: Azure DevOps Engineer Expert certification.

Certification Target Audience

The AZ-400 Microsoft Azure DevOps Solutions certification exam is geared towards DevOps Professionals who combine people, process, and tools to continuously deliver value to meet users needs and business objectives. These candidates streamline delivery by optimizing practices, improve communication and collaboration, and create automation. They design and implement strategies for app code and infrastructure that allows for continuous integration, continuous testing, continuous delivery, and continuous monitoring and feedback.

Exam candidates are expected to be proficient with Agile practices, and must be familiar with both Azure Administration and Azure Development, and should be experts in one of these areas. They must be able to design and implement DevOps practices for version control, compliance, infrastructure as code (IaC), configuration management, build, release, and testing by using Microsoft Azure technologies.

Skills Measured

Here’s a very high level list of the skills and objectives measured on the AZ-400 Microsoft Azure DevOps Solutions certification exam. The percentages for each objective area represents the number of questions on the exam for that particular exam objective.

Design a DevOps Strategy (20-25%)

  • Recommend a migration and consolidation strategy for DevOps tools
    • Analyze existing artifact (e.g. deployment packages, NuGet) and container repositories
    • Analyze existing test management tools
    • Analyze existing work management tools
    • Recommend migration and integration strategies for artifact repositories, source control, test management, and work management
  • Design and implement an Agile work management approach
    • Identify and recommend project metrics, KPIs, and DevOps measurements (e.g. cycle time, lead time, Azure Kubernetes Service, WIP limit)
    • Implement tools and processes to support Agile work management
    • Mentor team members on Agile techniques and practices
    • Recommend an organization structure that supports scaling Agile practices
    • Recommend in-team and cross-team collaboration mechanisms
  • Design a quality strategy
    • Analyze existing quality environment
    • Identify and recommend quality metrics
    • Recommend a strategy for feature flag lifecycle
    • Recommend a strategy for measuring and managing technical debt
    • Recommend changes to team structure to optimize quality
    • Recommend performance testing strategy
  • Design a secure development process
    • Inspect and validate code base for compliance
    • Inspect and validate infrastructure for compliance
    • Recommend a secure development strategy
    • Recommend tools and practices to integrate code security validation (e.g. static code analysis)
    • Recommend tools and practices to integrate infrastructure security validation
  • Design a tool integration strategy
    • Design a license management strategy (e.g. Azure DevOps users, concurrent pipelines, test environments, open source software licensing, DevOps tools and services, package management licensing)
    • Design a strategy for end-to-end traceability from work items to working software
    • Design a strategy for integrating monitoring and feedback to development teams
    • Design an authentication and access strategy
    • Design a strategy for integrating on-premises and cloud resources

Implement DevOps Development Processes (20-25%)

  • Design a version control strategy 
    • Recommend branching models
    • Recommend version control systems
    • Recommend code flow strategy
  • Implement and integrate source control
    • Integrate external source control
    • Integrate source control into third-party continuous integration and continuous deployment (CI/CD) systems
  • Implement and manage build infrastructure
    • Implement private and hosted agents
    • Integrate third party build systems
    • Recommend strategy for concurrent pipelines
    • Manage VSTS pipeline configuration (e.g. agent queues, service endpoints, pools, webhooks)
  • Implement code flow
    • Implement pull request strategies
    • Implement branch and fork strategies
    • Configure branch policies
  • Implement a mobile DevOps strategy
    • Manage mobile target device sets and distribution groups
    • Manage target UI test device sets
    • Provision tester devices for deployment
    • Create public and private distribution groups
  • Managing application configuration and secrets
    • Implement a secure and compliant development process
    • Implement general (non-secret) configuration data
    • Manage secrets, tokens, and certificates
    • Implement applications configurations (e.g. Web App, Azure Kubernetes Service, containers)
    • Implement secrets management (e.g. Web App, Azure Kubernetes Service, containers, Azure Key Vault)
    • Implement tools for managing security and compliance in the pipeline

Implement Continuous Integration (10-15%)

  • Manage code quality and security policies 
    • Monitor code quality
    • Configure build to report on code coverage
    • Manage automated test quality
    • Manage test suites and categories
    • Monitor quality of tests
    • Integrate security analysis tools (e.g. SonarQube, WhiteSource Bolt, Open Web Application Security Project)
  • Implement a container build strategy
    • Create deployable images (e.g. Docker, Azure Container Registry)
    • Analyze and integrate Docker multi-stage builds
  • Implement a build strategy
    • Design build triggers, tools, integrations, and workflow
    • Implement a hybrid build process
    • Implement multi-agent builds
    • Recommend build tools and configuration
    • Set up an automated build workflow

Implement Continuous Delivery (10-15%)

  • Design a release strategy 
    • Recommend release tools
    • Identify and recommend release approvals and gates
    • Recommend strategy for measuring quality of release and release process
    • Recommend strategy for release notes and documentation
    • Select appropriate deployment pattern
  • Set up a release management workflow
    • Automate inspection of health signals for release approvals by using release gates
    • Configure automated integration and functional test execution
    • Create a release pipeline (e.g. Azure Kubernetes Service, Service Fabric, WebApp)
    • Create multi-phase release pipelines
    • Integrate secrets with release pipeline
    • Provision and configure environments
    • Manage and modularize tasks and templates (e.g. task and variable groups)
  • Implement an appropriate deployment pattern
    • Implement blue-green deployments
    • Implement canary deployments
    • Implement progressive exposure deployments
    • Scale a release pipeline to deploy to multiple endpoints (e.g. deployment groups, Azure Kubernetes Service, Service Fabric)

Implement Dependency Management (5-10%)

  • Design a dependency management strategy
    • Recommend artifact management tools and practices
    • Abstract common packages to enable sharing and reuse
    • Inspect codebase to identify code dependencies that can be converted to packages
    • Identify and recommend standardized package types and versions across the solution
    • Refactor existing build pipelines to implement version strategy that publishes packages
  • Manage security and compliance
    • Inspect open source software packages for security and license compliance to align with corporate standards (e.g. GPLv3)
    • Configure build pipeline to access package security and license rating (e.g. Black Duck, White Source)
    • Configure secure access to package feeds

Implement Application Infrastructure (15-20%)

  • Design an infrastructure and configuration management strategy 
    • Analyze existing and future hosting infrastructure
    • Analyze existing Infrastructure as Code technologies
    • Design a strategy for managing technical debt on templates
    • Design a strategy for using transient infrastructure for parts of a delivery lifecycle
    • Design a strategy to mitigate infrastructure state drift
  • Implement Infrastructure as Code
    • Create nested resource templates
    • Manage secrets in resource templates
    • Provision Azure resources
    • Recommend an Infrastructure as Code (IaC) strategy
    • Recommend appropriate technologies for configuration management
  • Manage Azure Kubernetes Service infrastructure 
    • Provision Azure Kubernetes Service (e.g. using ARM templates, CLI)
    • Create deployment file for publishing to Azure Kubernetes Service (e.g. kubectl, Helm)
    • Develop a scaling plan
  • Implement infrastructure compliance and security 
    • Implement compliance and security scanning
    • Prevent drift by using configuration management tools
    • Set up an automated pipeline to inspect security and compliance

Implement Continuous Feedback (10-15%)

  • Recommend and design system feedback mechanisms 
    • Design practices to measure end-user satisfaction (e.g. Send a Smile, app analytics)
    • Design processes to capture and analyze user feedback from external sources (e.g. Twitter, Reddit, Help Desk)
    • Design routing for client application crash report data (e.g. HockeyApp)
    • Recommend monitoring tools and technologies
    • Recommend system and feature usage tracking tools
  • Implement process for routing system feedback to development teams 
    • Configure crash report integration for client applications
    • Develop monitoring and status dashboards
    • Implement routing for client application crash report data (e.g. HockeyApp)
    • Implement tools to track system usage, feature usage, and flow
    • Integrate and configure ticketing systems with development team’s work management system (e.g. IT Service Management connector, ServiceNow Cloud Management, App Insights work items)
  • Optimize feedback mechanisms 
    • Analyze alerts to establish a baseline
    • Analyze telemetry to establish a baseline
    • Perform live site reviews and capture feedback for system outages
    • Perform ongoing tuning to reduce meaningless or non-actionable alerts

To view the most up-to-date list of these exam objectives, please reference the official AZ-400 exam page.

Microsoft Certified: Azure DevOps Engineer Expert

The AZ-400 Microsoft Azure DevOps Solutions certification exam is among the required exams necessary to earn the larger Microsoft Certified: Azure DevOps Engineer Expert certification. Prior to taking this exam, candidates will need to take a couple exams previously and have earned either the Microsoft Certified: Azure Administrator Associate or Microsoft Certified: Azure Developer Associate certification. As the prerequisites show, candidates can be either Azure Administrator or Azure Developer experts, then take the AZ-400 Microsoft Azure DevOps Solutions exam to prove their skills as a Microsoft Azure DevOps Expert!

Azure CLIDevOpsportal

Apply Tags to all of your Azure Resources

Today I’m doing an Azure Migration and consolidation for a client and they wanted to tag everything within the existing Resource Group where is it deployed before we started moving things around to other Resource Groups and Subscriptions. Two important notes:  first they didn’t mind if the RG has current TAGs, if it does then they can be added to the resources within that RG and they didn’t want to lose any of the existing TAGs on the resources.

So, first I tagged all of the Resource Groups with this tag:


New Tag

Next, I used the following script to load all the resource groups into an array, read the currently assigned tag values on the resource group and the resources.  Finally, it will apply all the tags onto the resources which will now include the OriginalRGName tag and value.  This will be done to all resources in the subscription.

groups=$(az group list --query [].name --output tsv)
for rg in $groups
  jsontag=$(az group show -n $rg --query tags) || true
  t=$(echo $jsontag | tr -d '"{},' | sed 's/: /=/g') || true
  r=$(az resource list -g $rg --query [].id --output tsv) || true
  for resid in $r
    jsonrtag=$(az resource show --id $resid --query tags) || true
    rt=$(echo $jsonrtag | tr -d '"{},' | sed 's/: /=/g') || true
    az resource tag --tags $t$rt --id $resid || true

Notice how the Tags on the resource remained and my new tag, OriginalRGName is now put in place!

You might get some errors on resources that don’t show in the portal or support tags, like alerts for Azure montior, but these can be ignored. Give it a try on a test subscription and have fun TAGing!


azure devops

Azure DevOps Saves Our Eyes!

With one simple tweet, Buck Hodges of Microsoft gave us what we have all been waiting for: less eye strain.  Microsoft pushed changes to Azure DevOps, late today which introduced themes to the portal.  Now you can change to a black background which many people prefer.

As a recovering IT Pro, I have been spending more time in Azure DevOps doing deployments for customers and the white theme is, let’s face blinding. This is a great follow-on to the rebranding of VSTS to Azure DevOps and the new more functional UI.  To apply the theme simply click your Avatar, and then Theme.

black apply

In an instant, you will now have a new theme and instant relief!  It’s great to see Microsoft continue to update their online cloud apps and listen to customers.

azure devops

After using this for the past hours, I can say that I’m totally sold on this theme!  Here is a Release that I ran this evening using the config.

Release Pipeline in Black

Give it a try at http://dev.azure.com




Using Chocolatey with Azure VMs

Automate Everything. That’s my new mantra, and it should be yours…

Like many of you, I’m an infrastructure guy and grew up with the crutches of setup.exe and the massive installers that MSFT built in the late 90’s and 2000’s. But, that was then, and today all of us need to become DevOps engineers! It used to be when we built servers they would have a lifespan of many years, but now there is a new type of VM that might only live for a day or even less.

The concept of deleting a server would have scared the daylights out of me in 2002!? Yikes!

In this new world of Azure, we should be building VMs that are purpose-built and automated in their deployment end to end. We want the teams that are consuming these servers to be ready to work as soon as they login.

Windows, Linux, and Azure provide us with many tools to make that happen such as ARM templates, PowerShell or Yum and Apt on Linux. These tools can work together with the custom script extension for Windows or Linux to build out our VMs. Read More


Nested VMs in Azure with one click? You must be crazy…

When I first heard that you could run nested VMs with Azure, I ran over to my laptop to deploy one of those shiny new Version 3 VMs!

Once my Host was provisioned, I got right to work.  Quickly adding the Hyper-V role and after a quick reboot, I started downloading ISOs!  And before you know it I was disappointed.  Yeah, I had a VM running, but after searching the internet for hours, I gave up.  I never could get the thing talking to the Internet.

Well, fast forward a few months and a client of mine asked if we could build a self-provisioning Nested Hyper-V Host in Azure that would pull down pre-configured VMs and start them with only one click?  I was excited. There is nothing cooler than getting to figure something out while you are getting paid.  Well, it wasn’t easy to figure out, but what I have for you here is the fruit of that labor! Read More

Azure CLIInfrastructureportalPowerShell

Introducing the Azure Cloud Shell

The Azure Cloud Shell has been out for some time now, as an embedded Bash and PowerShell command-line shell / terminal within the Azure Portal. It really great to be able to use Azure command-line tools (Azure CLI & Azure PowerShell) from absolutely anywhere; including a smartphone or tablet with the native Azure mobile app. Now, the Azure Cloud Shell has gotten it’s own website so you can use it all by itself! Read More


Microsoft Professional Program Now Offers 5 Different Online Degrees

It’s been about 1.5 years since Microsoft first announced the Microsoft Professional Program. Basically, the Microsoft Professional Program (MPP) is a cross between an Online Degree and a Multi-Exam Certification. It’s a good move by Microsoft to provide a better training path than certifications, while simultaneously working to fill the skills gap that traditional degree programs have difficulty filling. Essentially, it’s a good cross between the two paths, providing yet another great non-traditional alternative to education and career advancement. Plus, now the Microsoft Professional Program offers 5 different “degree” tracks to choose from! Read More


Introduction to the Azure Portal

Here’s a short video I recorded that goes over how to access the Azure Portal (the Current Azure Management Portal). I cover an overview of the dynamics and mechanics of the Azure Portal and how to use it. I also show a few different ways of how to customize the Azure Portal to change the color theme, modify quicklinks in the left-side navigation, and how to easily customize and create multiple Dashboard views to give you easy DevOps style views into your applications and workloads running in the Microsoft Azure cloud. Additionally, I also cover a few tips and techniques that may help you in working with the Azure Portal overall.

I hope you enjoy this video. This is really just the first in an ongoing series of videos that I’m going to be publishing over on the Build Azure YouTube Channel. If you’re interested in seeing MANY more videos like this, then please go Subscribe to the http://youtube.com/BuildAzure channel!

Also, please don’t forget to Subscribe to BuildAzure.com to receive the latest Azure news in your email every Monday morning, in addition to all the latest awesome articles posted here!

Azure Weekly

Azure Weekly: July 11, 2016

Build Azure Weekly is your one stop source to stay up to date on all the latest news around the Microsoft Azure ecosystem. This weekly post includes news and links to blogs, videos, and podcasts from all over the web, as well as Microsoft Azure Service Updates from over the past week.

If you want to receive these in your email, then don’t forget to Subscribe!

Service Updates

Here’s the list of the Microsoft Azure Service Updates from the past week:

Read More