Skip to content

Latest commit

 

History

History
327 lines (269 loc) · 14.1 KB

notes.md

File metadata and controls

327 lines (269 loc) · 14.1 KB

Practices, tooling, techniques

Example practices:

  • use swimlanes to manage work by service class
  • create and use a Definition of Done

Tooling:

  • Git, Pipelines, Actions, ...

Techniques:

  • Paralellizing pipelines to improve performance

Stuff to know:

Build and Release

  • Parallel jobs at org level
  • security scan in integration job
  • site security scan in deployment job
  • Microsoft vs. self-hosted agents
  • mulit-job configuration
  • retention policies

Azure Pipelines

GitHub Action Workflows

Secrets

  • 100 secrets per workflow
  • secret must be less than 48K
  • use "with:" keyword to use secrets in a "step"
  • use "env:" to pass a secret into an environment variable
  • secrets not available in an if statement unless set in environment

Infrastrcture as Code (IaC)

IaC

  • ARM Templates
  • Bicep including modules
  • 3rd party tools
    • Basic familiarity with Ansible, Chef, Puppet and Azure Automation
    • Ansible: agentless
  • Auzre Automation: Agent or extension

PowerShell DSC

Azure Services

Know what the service is used for in a DevOps context as well as how the service can be used.

  • Azure Automation w/ PowerShell DSC
  • Azure Data Explorer
    • ingest and query logs, events from ADO et.al.
  • Azure Monitor
  • App Service
    • Blue green deployments
    • Slot swapping
    • progressive rollout
  • App Configuration Service
    • Common config across multiple apps and environments
    • Feature Flag impelementation
  • Functions
    • Live site tests in Monitor
  • Container Instances
    • Easy/cheap deployment of single service
  • Container Apps
    • managed k8s
  • AKS
    • container orchestration
  • Logic Apps
    • integrate with Monitor scenarios
  • Traffic Manager
  • Load Balancer

Work Management

  • Traceability
    • work, source, bug, quality

Git

Process Collaboration

Defining processes for team collaboration https://learn.microsoft.com/en-us/training/modules/manage-git-branches-workflows/4-explore-git-branch-model-for-continuous-delivery

Branching workflows

  • Feature Branch
    • all work takes place on branch
    • Easy encapuslation
    • Support PR flow
    • Push to central repo
  • Release Branch
    • branch dedicated to a release
    • create from stable feature branch
    • test, fix, stabalize
    • isolate relase from feature
    • merge to main and/or deploy
  • Trunk Based
    • Central repo... ? concept or different technique

Flow

  1. create branch
  2. add commits
  3. open PR
  4. discuss and review
  5. deploy
  6. merge

associate issues Business domain feature sets

Git Forking Worflow Gitflow Workflow

Why? just enough process to help insure quality, idea is to ship The right strategy is the one that works for your team

Monitoring

Additional Topics

  • Semantic versioning
  • Microsoft dev approach

To Do:

https://learn.microsoft.com/en-us/training/modules/monitor-app-performance/

MeasureUp Exam

  • Azure DevOps extensions and pipeline decorator

  • Lock a branch and required reviewers

  • OWASP Dependency-Check and OWASP ZAP

  • log analytics workspace architecture

  • app insight sampling

  • GitHub access token and system keychain

  • No more than 2 WIP (sure, but do one thing at a time whenever possible)

  • Team Retrospectives extension

  • multiple repos checked out into

  • crash dump settings and DataCollectors

  • Azure Data Explorer and Pipeline integration

  • Using Azure App Configuration Feature Flags

  • Requirements Traceability Matrix

  • use KeyVault during deployment

  • test execution trend

  • SAFe and boards

  • Remove large binary with git rebase and git push --force

  • JMeter

  • GitHub Package feed configuration

  • Azure Automanage Machine Configuration

  • PowerShell DSC sample configuration

  • Pipeline retention policies and leases

  • Deployment groups

  • DevOps Service Hooks and notifications https://learn.microsoft.com/en-us/azure/devops/service-hooks/overview?view=azure-devops

  • Bicep

  • Azure Deployment Environments

  • Azure Automation State Configuration

  • Packer

  • Github vs. GHE connecting to boards: PAT/uname and pw vs. OAuth

  • Azure DevOps Throughput Units

  • Ansible, Chef Infra, DSC

  • Pipeline pass rate report

  • auto vs. manual service connection. Manual to set connection details, auto to use your own

  • NUnit tests

  • Integrate Snyk with webhooks and apis

  • Ansible is agentless but does require Python and SSH

  • DevOps Security: Project Admin can edit Project Page

  • PAT notifications

  • az commands are idempotent

  • GitVersion and GitTools

  • git and Scalar

  • git repack and git gc

references

Pipelines

  • Azure Deployment Environments
  • Azure DevOps extensions and pipeline decorator
  • Pipeline retention policies and leases
  • Deployment groups

tests

Security

Monitoring and Metrics

https://learn.microsoft.com/en-us/training/modules/automate-inspection-health/