This presentation by Serhii Abanichev (System Architect, Consultant, GlobalLogic) was delivered at GlobalLogic Kharkiv DevOps TechTalk #1 on October 8, 2019.
In this talk were covered:
- Full coverage of DevOps with Azure DevOps Services:
- Create, test and deploy in any programming language, to any cloud or local environment.
- Run concurrently on Linux, macOS, and Windows, deploying containers for individual hosts or Kubernetes.
- Azure DevOps Services: a Microsoft solution that replaces dozens of tools ensuring smooth delivery to end users.
Event materials: https://www.globallogic.com/ua/events/kharkiv-devops-techtalk-1/
7. 7
“DevOps is the union of
people, process, and products
to enable continuous delivery
of value to our end users.”
- Donovan Brown
DevOps definition
8. 88
Why is DevOps important?
• Our competition is already doing this
• Increase velocity
• Reduce downtime
• Reduce human error
9. 9
Microsoft proposal
Set of cloud-hosted DevOps services, that work for any
language targeting any platform:
• Plan your project with Agile tools
• Manage test plans from the web
• Version code using Git
• Deploy code using cross-platform CICD system
Azure DevOps
10. 10
What is Azure DevOps?
Dashboards
Agile planning
Source control
Build automation
Continuous integration
Test case management
Package management
Continuous deployment
Release management
Analytics and insights
Visual Studio Team
services (VSTS)
Azure DevOps
Any Language
Any Platform
1 Plan
2 Develop and Test 3 Release
4 Monitor and learn
11. 15
Any Language, Any Platform
• Program in any language
• .NET
• Java
• Python
• Ruby
• Nodejs
• …
• Develop on any OS
• Linux
• Mac
• Windows
• Deploy to any Platform
• Android
• iOS
• Windows Phone
• Docker
• Azure
• AWS
• Linux
• Mac
• …
12. 16
Components
Plan, track, and discuss work
across your teams so that
you can deliver value to your
users faster.
CI/CD that works with any language,
platform, and cloud. Connect to GitHub
or any Git provider and deploy
continuously to any cloud.
Unlimited cloud-hosted private Git
repos for your project. Collaborative
pull requests, advanced file
management, and more.
The manual and exploratory
testing toolkit to ship with
confidence.
Create, host, and share packages
with your team. Add artifacts to your
CI/CD pipelines with a single click.
Built by the community – access
extensions from Slack to
SonarCloud to 1,000 other amazing
things.
13. 17
Build definition as code
Why store build definitions in YAML?
• Versioning
• Keeping Build Definitions with Code
• Branching
• Peer Review
• Reuse
• Linting
• Abstraction and Declarative Instruction
The concept of a build definition as code as it relates to a build server for continuous
integration means using an actual declarative language to define how your build should
works instead of using a web user interface to define your build steps. You can use a
general purpose programming language, a domain specific language or some other
declarative construct to indicate how your build your system.
14. 18
YAML build definition structure
name: <version number> represents the build number which we can
extract later on in the build process
queue:
name: <queue name for execution>
triggers:
<list of triggers> allows to trigger only when the required conditions
are met
variables:
<list of variables>
steps:
<our build process> defined build process
- task: <task name>
displayName: <display name>
inputs:
<input parameters if any>
15. 19
Pricing model
Open source projects Small Teams Teams of any size
Unlimited users and build time
Azure Pipelines: 10 parallel jobs
with unlimited minutes for CI/CD
Azure Boards: Work item
tracking and Kanban boards
Azure Repos: Unlimited public
Git repos
Start free with up to 5 users
Azure Pipelines: 1 hosted job
with 1,800 minutes per month for
CI/CD and 1 self-hosted job
Azure Boards: Work item
tracking and Kanban boards
Azure Repos: Unlimited private
Git repos
Azure Artifacts: Package
management
Load testing (20,000
VUMs/month)
Unlimited stakeholders
Azure Pipelines: 1 hosted job
with 1,800 minutes per month
for CI/CD and 1 self-hosted job
Azure Boards: Work item
tracking and Kanban boards
Azure Repos: Unlimited private
Git repos
Azure Artifacts: Package
management
Load testing (20,000
VUMs/month)
Unlimited stakeholders
Visual Studio subscribers
included free
Free Free $30/mo (10users)
16. 20
Old-style pipeline
Engineer
Visual Studio
Azure Repos
Azure
Build
Pipeline
Azure
Release
pipeline
Azure Board
Azure
Container
Registry
Azure
Kubernetes
Service
Azure
Application
Insights
A
z
u
r
e
D
e
v
O
p
s
It is very important to realize that DevOps is not a product. You cannot buy DevOps and install it. DevOps is not just automation or infrastructure as code. DevOps is people following a process enabled by products to deliver value to our end users.