Azure DevOps 101
Short introduction
- Formerly known as Team Foundation Server (TFS)
- Then Visual Studio Teams Services (VSTS)
- Covers all application lifecycle (ALM)
- Provided and used by Microsoft
History
Important dates
Sources: wikipedia
Year | Product | Installation |
---|---|---|
2006 | Visual Studio 2005 Team System | On-Premises |
2010 | Team Foundation Server 2010 | On-Premises |
2013 | Visual Studio Online | Cloud |
2015 | Visual Studio Team Services | Cloud |
2018 | Azure DevOps Services | Cloud |
2019 | Azure DevOps Server 2019 | On-Premises |
General concerns
Application Lifecycle
- Documentation
- Project management
- Source code versioning
- Build automation
- Deployment
- Testing
- Artifact management
Everyting is optional: take what you want!
Pricing (Cloud)
- Free tier:
- 5 developers
- 1 build in parallel (180min/month)
- Pay as you need (Azure subscription):
- 6$/developer/month
- 15$/build in parallel/month
- Free for Visual Studio subscribers and stakeholders
- Free with no limitation for open source projects
- More details: azure.microsoft.com
Authentication & Security
- Microsoft account: personal or work
- Strong integration with Azure Active Directory
- Audit trails
- Azure compliance
Extensibility
Built-in tasks
Marketplace
Make your own extensions
(written in TypeScript)
Main features
Documentation as Code
- Versioned in git repositories
- Markdown format
- Eased UX
- Online editor
- Preview
- Copy/Paste
- Add-ins (dynamic object linking)
Project management
- Work Items: Epic, Feature, Bug, User Story, Task
- Methodologies
- Agile
- Kanban
- SCRUM
- SAFe
- Everything can be customized
- Fields + UI
- Workflow
Source code versioning
- Git repositories
- Pull Requests
- Discussion thread
- Branch policies
- Build completion: CI pipeline
- Quality gates: Sonar, code coverage
Build (pipelines)
- Typologies
- Continuous integration
- Continuous delivery
- Scheduling (automated testing)
- Yaml definition
Release (pipelines)
- Typologies
- Continuous Deployment
- Classic defintion (UI)
- Enhanced UX for operation activity
Test (plans)
Artifact
- Repository:
- NuGet
- NPM
- Maven
- pip
- Universal
- Private & public feeds
Administration
Organization
- Organization = company or a subsidiary
- Project = team or business segment
- Team = people sharing same responsibilities
- User licence = Visual Studio, Basic, Stakeholder
Agent pools
- Microsoft hosted
- Prefered solution
- VM or Docker
- Self-hosted
- Mandatory to access private networks
- Easy to install
- Selection
- Name
- Capabilities
Service connection
- Used to access an external service
- Sonar
- Docker
- Azure
- Prefer service account credentials
Configuration & Secrets
- Variable Groups
- Secret values
- Variable inter-reference
- Secret files
- External vaults
Limitations
No local environment
- Azure DevOps cannot run in a container
- Strong dependency with Cloud availibility
Limited Cache
- Package (NPM, NuGet) cache not yet working well
Differentiation
Active community
- Excellent documentation
- Important community (Stack Overflow)
- Regular updates (Twitter, events)
Full text search
- Documentation
- Image (OCR)
- Work items (Stories, Bugs, Epics, etc.)
- Source code
Complete REST API
- UI only covers part of the resources available
State of the Art pipelines
- All market features are available
- Parameters, variables
- Smart execution conditions
- Workflow
- Online editor assitant
- All OS and processor families
- Linux, MacOS, Windows
- x86, x64, ARM64
DevOps in action!
- Regular deliveries
- Seamless (transparent) system updates
- Feature preview opt-in
- User feedback
- Monitoring metrics
- Public roadmap
Azure DevOps 101
By Bertrand Thomas
Azure DevOps 101
Introduction to Azure DevOps, ALM tool provided by Microsoft
- 303