Azure DevOps

Jun 27, 2024

Azure DevOps Overview

Introduction

  • Popular DevOps platform
  • Use for software development lifecycle

What is Azure DevOps?

  • Software as a Service (SaaS): One-stop shop for DevOps processes
  • Historical Names: Team Foundation Server, Visual Studio Team Services
  • Became more mainstream as DevOps practices gained popularity

DevOps Platform

  • Combination of Concepts and Tools: Makes developing and releasing applications fast and automated
  • Workflow Efficiency: Automates the software development lifecycle (SDLC)
  • Technological Implementation: Covers the complete software development lifecycle

Software Development Lifecycle Phases

  1. Planning: Define what and why of development (Azure Boards)
    • Agile and Scrum workflows
    • Create, assign, and track tasks/features/improvements
  2. Development: Coding and collaboration (Azure Repositories)
    • Host code, support for Git
    • Implement Git workflows (branches, pull requests)
  3. Testing & Building: Automated Continuous Integration (CI) process (Azure Pipelines)
    • YAML-based pipeline definition
    • Example steps: Run tests, package application, build Docker image
    • Use predefined tasks for simplicity
  4. Release: Continuous Deployment (CD) process
    • Test and package code into artifact deliverables (Azure Artifacts)
    • Store Maven, NuGet, and npm packages
    • Support for Docker images in Docker registries (Docker Hub, Azure Container Registry)
  5. Deployment: Deploying to end environments
    • Multi-stage deployment pipeline
    • Deployment environments (Development, Testing, Production)
    • Utilize deployment jobs and environments in Azure Pipelines

Azure DevOps Features

  • Azure Boards: Manage features, tasks, and Agile/Scrum processes
  • Azure Repositories: Git-based code hosting and collaboration
  • Azure Pipelines: CI/CD with YAML-based pipeline scripts
  • Azure Artifacts: Store various artifact types including modern Docker images
  • Architecture: Combination of managed Azure services and self-hosted agents

Service Connections & Security

  • Service Connections Feature: Simplifies access to external platforms (e.g., Docker Hub, Azure, AWS)
  • Secure and Automated: Manage short-lived credentials generated automatically

Comparison with Other Tools

  • Jenkins, GitLab CI/CD: Exclusive focus on CI/CD
  • Azure DevOps: Comprehensive DevOps platform integrating CI/CD, project management, code, etc.
  • GitLab: Similar in features, all-in-one DevOps platform
  • AWS: More encompassing cloud platform, separate accounts from Azure DevOps but integrated

Learning Recommendations

  • Learn primarily popular tools: Jenkins, AWS, GitLab/GitHub
  • Azure DevOps beneficial for companies using Microsoft services

Summary

  • Azure DevOps: Comprehensive tool for managing the entire DevOps lifecycle
  • Suitable for projects already within the Microsoft ecosystem
  • Useful for understanding if applicable to future job roles

Further Learning

  • Explore additional resources and videos provided