(Extra for AZ-400).


Instructor: Mark Walsh (Mark.Walsh@ddls.com.au)

 

Key Information

 

1.   Create an Outlook Account: https://outlook.live.com/owa/

2.   AzurePass: https://www.microsoftazurepass.com

3.   Setup Azure Devops.

4.   SkillPipe (your course notes): https://www.skillpipe.com

 

·         AZ-400 Exam and Certification.

 

·         Whiteboard diagrams here.

·         General Question and answer, here.

·         Additional Files (PowerPoint slides, demo files)

o    Demo files I created (17MB).

o   PowerPoints (30 MB).

o   Instructions for my demos during the course.

 

 

Course Labs.

You can either use the hosted lab environment or do the labs on your own computer. You can switch between these modes at any time.

 

Option1: To do the labs using the hosted lab environment.

 

o   Hosted Lab environment is here. (choose “register with training key” and use key 6B12A492FBA74838)

o   The lab instructions are included in the hosted lab environment.

 

Option2: To do the labs using your own computer.

 

o   The lab instructions are here.

o   You’ll need the following software

§  Visual Studio Code.  Windows, Mac, Linux.

·         The following VSCode Extensions: eamodio.gitlens, donjayamanne.githistory

§  .net 3.1 Core sdk. Windows, Mac, Linux. (Click on the appropriate installer, ask if you need help with this)

§  Visual Studio 2019 (Community edition): Download Visual Studio Tools - Install Free for Windows, Mac, Linux (microsoft.com). Needed for Lab 5.

§  Azure Powershell. Windows. Mac, Linux.

§  Install the Azure CLI. Windows, Mac, Linux.

§  Azure Artifacts Credential Provider (find the section called ‘Setup’): Windows, Mac, Linux

§  Edge or Chrome or Firefox or Safari

 

 

 

Some Links to useful stuff

 

Module 1: Planning for DevOps

DevOps Handbook: The DevOps Handbook [Book] (oreilly.com)

Microsoft DevOps Resource Centre: DevOps Resource Center - Azure DevOps | Microsoft Docs

What is a lean value chain: Developing the Lean Value Chain | Professor Annibal

Theory of Constraints: https://www.leanproduction.com/theory-of-constraints/

The Phoenix Project: The Phoenix Project: A Novel About IT, DevOps, and Helping Your Business Win by Gene Kim (goodreads.com)

OODA: http://gbds.us/clientuploads/downloads/A_Better_Path.pdf

The DevOps Institute: https://www.devopsinstitute.com/

12 Principles Behind the Agile Manifesto - https://www.agilealliance.org/agile101/12-principles-behind-the-agile-manifesto/

T-People: https://www.devopsinstitute.com/from-i-shaped-to-t-shaped-why-devops-professionals-need-to-be-multi-skilled/

VS Marketplace Testing tools: here

https://devopsnet.com/2013/03/18/adopting-agile-in-3-easy-steps/

DevOps Scrum Framework | DevOpsNet

 

Module 2: Getting Started with Source Control

How to Write a Git Commit Message (beams.io)

Link GitHub commits and PRs to work items - Azure Boards | Microsoft Docs

 Install the Azure Boards app for GitHub - Azure Boards | Microsoft Docs

 The Video on this page is quite good: Azure Boards-GitHub integration - Azure Boards | Microsoft Docs

 

 

Module 3: Managing Technical Debt

https://en.wikipedia.org/wiki/Halstead_complexity_measures

You aren't gonna need it - Wikipedia

Confluence | Your Remote-Friendly Team Workspace | Atlassian

Automatic Code Review, Testing, Inspection & Auditing | SonarCloud

NDepend - Visual Studio Marketplace

ReSharper: The Visual Studio Extension for .NET Developers by JetBrains

About Mermaid (mermaid-js.github.io)

Creating a codespace - GitHub Docs

 

 

Module 4: Working with Git for Enterprise DevOps

Gitflow branching: https://nvie.com/posts/a-successful-git-branching-model/

Gitflow Workflow | Atlassian Git Tutorial

Forking Workflows : https://miro.medium.com/max/1400/1*qOtT_fhdwzty5T_AylY8YQ.png

Git Hooks | Atlassian Git Tutorial

VFS for Git: Git at Enterprise Scale

Removing sensitive data from a repository - GitHub Docs

BFG Repo-Cleaner by rtyley

A Really $h!t Branching Policy | DevOpsNet

 

Module 5: Configuring Azure Pipelines

 

Azure Pipelines New User Guide - Key concepts - Azure Pipelines | Microsoft Docs

 

 

 

Module 6: Implementing Continuous Integration using Azure Pipelines

 

An example package repository: NuGet Gallery | Home

An example package: NuGet Gallery | Newtonsoft.Json 13.0.1

Why do we do Continuous Integration? | DevOpsNet

How Mature Is Your Continuous Integration? | DevOpsNet
         

 

Module 7: Managing Application Configuration and Secrets

 

Automated Open Source Scanning - WhiteSource (whitesourcesoftware.com)

Qualys SSL Labs

Code Quality and Code Security | SonarQube

What is SCIM? | Okta

microsoft/binskim: A binary static analysis tool that provides security and correctness results for Windows Portable Executable and *nix ELF binary formats (github.com)

Industry-Leading Application Security Testing Solutions | Checkmarx

Code analyzers - Visual Studio (Windows) | Microsoft Docs

         

 

Module 8: Implementing Continuous Integration with GitHub Actions

About actions - GitHub Docs

Metadata syntax for GitHub Actions - GitHub Docs

 

Module 9: Designing and Implementing a Dependency Management Strategy

Semantic Versioning 2.0.0 | Semantic Versioning (semver.org)

How one programmer broke the internet by deleting a tiny piece of code — Quartz (qz.com). Should we copy the code for a package rather than depend on it?

Azure DevOps Artifacts package promotion | Declaration of VAR (decovar.dev) (Has a bit of swearing)

 

 

Module 10: Designing a Release Strategy

lluchmk/semantic-release-ado: Semantic release plugin for automatic releases on Azure DevOps pipelines. (github.com)

semantic-release/semantic-release: Fully automated version management and package publishing (github.com)

GitVersion - Documentation

Semantic Versioning 2.0.0 | Semantic Versioning (semver.org)

8 Principles of Continuous Delivery | DevOpsNet

 

Module 11: Implementing Continuous Deployment using Azure Pipelines

Add a build or release task in an extension - Azure DevOps | Microsoft Docs

Module 13: Managing Infrastructure and Configuration using Azure Tools

Learn PowerShell Workflow for Azure Automation | Microsoft Docs

PowerShell 7 module compatibility - PowerShell | Microsoft Docs

 

 Module 14: Using Third Party Infrastructure as Code Tools Available with Azure

Use Habitat to deploy your application to Azure

What is Chef Habitat - DevOps Tools

Knife Azurerm (chef.io)

Modules · Puppet Forge

puppet-nginx/quickstart.md at master · voxpupuli/puppet-nginx (github.com)

The Pros and Cons of Ansible | UpGuard

Ansible Galaxy (AzCollectionDoco here.

Perform UI tests with Selenium - Azure Pipelines | Microsoft Docs

 

Module 16: Creating and Managing Kubernetes Service Infrastructure

Kubernetes Deployments Explained  | Rolling Update Strategy

Readiness vs liveliness probes: How to set them up and when to use them in your Kubernetes cluster | Google Cloud Blog

An Introduction to Helm - Matt Farina, Samsung SDS & Josh Dolitsky, Blood Orange

 

 

Module 17: Implementing Feedback for Development Teams

Semantic Versioning 2.0.0 | Semantic Versioning (semver.org)

 

Module 18: Implementing System Feedback Mechanisms

Collect custom metrics for Linux VM with the InfluxData Telegraf agent - Azure Monitor | Microsoft Docs)

 

 

Module 19: Implementing Security in DevOps Projects

Poorly Configured CI/CD Systems Can Be a Backdoor into Your Infrastructure – The New Stack

Overview of Just Enough Administration (JEA) - PowerShell | Microsoft Docs

DevOpsKit-docs/AzSKSunsetNotice.md at master · azsk/DevOpsKit-docs (github.com)

azsk/AzTS-docs (github.com)

AzTS-docs/02-Monitoring security using AzTS at main · azsk/AzTS-docs (github.com)

 

 

Module 20: Validating Code Bases for Compliance

The Open Source Definition | Open Source Initiative

OWASP Foundation | Open Source Foundation for Application Security

Active scan OWASP ZAP (zaproxy.org)

Passive scan OWASP ZAP (zaproxy.org)

Keep all your packages up to date with Dependabot | The GitHub Blog

Essential Eight Maturity Model | Cyber.gov.au