Az 400t00a Enu Powerpoint 01
Az 400t00a Enu Powerpoint 01
00
Learning Path 01:
Get started on a
DevOps
transformation
journey
Learning Path overview
Learning Path overview
Module 01: Introduction to Module 06: Introduction to
DevOps source control
Module 04: Choose the DevOps Labs & Learning Path review
tools and takeaways
– Donovan Brown,
What is DevOps?
What is DevOps? (continued)
• Understand your cycle
time
• Observe, Orient,
Decide, Act (OODA)
loop
• Become data-
informed
• Strive for validated
learning
• Shorten your cycle
time
• Optimize validated
learning
Explore the DevOps journey
• Continuous Integration
• Continuous Integration
drives the ongoing merging
and testing of code, which
leads to finding defects
early.
• Continuous Delivery
• Continuous Delivery of
software solutions to
production and testing
environments helps
organizations quickly fix
bugs and respond to ever-
changing business
Explore the DevOps journey (continued)
• Version Control
• Version Control, usually with a
Git-based Repository, enables
teams located anywhere in the
world to communicate
effectively during daily
development activities.
• Agile/lean
• Plan and isolate work into
sprints.
• Manage team capacity and
help teams quickly adapt to
changing business needs.
• A DevOps Definition of Done is
working software collecting
telemetry against the intended
Explore the DevOps journey (continued)
• Microservices
• Isolate business use cases
into small reusable
services that communicate
via interface contracts.
Explore the DevOps journey (continued)
• Containers
• Containers are the next
evolution in virtualization.
• DevOps may hurt at first
Explore agile development practices
Waterfall approach:
• Define, analyze, build and test, and deliver
• Hard to accurately define requirements, which can change over time,
including during development
• Requires change requests and additional cost after delivery
Agile approach:
• Emphasizes constantly adaptive planning, and early delivery with continual
improvement
• Development methods are based on releases and iterations
• At the end of each iteration, should have tested working code
• Is focused on shorter-term outcomes
Explore principles of agile development
Measure progress through working
1 Satisfy the customer through early 7
software
and continuous delivery of valuable
software Agile processes promote sustainable
2 Welcome changing requirements 8
development
1
6 Use face-to-face conversation 2 Reflect on how to become more
effective
Source: https://www.agilealliance.org/agile101/12-principles-behind-the-agile-manifesto/
Identify transformation teams
One of the key aims of DevOps is to provide greater customer value, so outcomes
should
Explore shared goals and define timelines (continued)
Greenfield projects:
• Appears to be an easier starting point
• A blank slate offers the chance to implement everything the way you want.
Brownfield projects:
• Comes with the baggage of existing code bases, existing teams and often a
great amount of technical debt
• Spending time maintaining existing Brownfield applications, limits the ability
to work on new code.
There is a common misconception that DevOps suits greenfield projects better than
brownfield projects, but this is not the case.
Decide when to use systems of record versus systems of
engagement
Systems of record:
• Emphasize accuracy and security
• Provide the truth about data elements
• Historically evolve slowly and carefully
Systems of engagement:
• Are more exploratory
• Use experimentation to solve new problems
• Are modified regularly
• Prioritize making changes quickly over ensuring that the changes are correct
Quality and security – Deployment failure rates, application failure rates, mean
time to recover, bug report rates, test pass rates, defect escape rate,
availability, service level agreement (SLA) achievement, and mean time to
detection
UI Email 9RLFH TV
Horizontal team structures divide
teams according to the software 62 $ Email Voice TV
architecture.
Data Email 9RLFH TV
Email 9RLFH TV
Vertical teams span the
architecture and are aligned with UI UI UI
product outcomes, and scaling
can occur by adding teams. SOA 62 $ SOA
Vertical teams have been shown to provide stronger outcomes in Agile projects
Explore ideal DevOps team members
• Think there is a need to change and have shown an ability to innovate
• Are well-respected and have broad knowledge of the organization and how it operates
• Ideally, already believe that DevOps practices are what is needed
Azure Pipelines: A language, platform and cloud agnostic CI/CD platform with
support for containers or Kubernetes
Repos: Provide cloud-hosted and on-premises git repos for both public and
private projects
For non-Microsoft tools like Git, NuGet, or Xcode you can use
personal access tokens
You can also configure app access policies and conditional access
policies
Migrate or integrate existing work
management tools
Other tools:
Apache JMeter is open-source software written in Java and designed to load
test functional behavior and measure performance.
Pester is a tool that can be used to automate the testing of PowerShell
code.
SoapUI provides another testing framework for SOAP and REST testing.
If you are using Microsoft Test Manager, you should plan to migrate to Azure Test
Plans
Design a license management strategy
https://azure.microsoft.com/en-us/pricing/details/devops/azure-dev
ops-services/
https://github.com/pricing
Module 05: Plan Agile with GitHub
Projects and Azure Boards
Introduction to GitHub Projects and Project boards
Track work,
issues, and code
defects
associated with
your project.
Link GitHub to Azure Boards
Use Azure Boards to plan and
track your work, and GitHub as
source control for software
development.
Iterations to
Control project Set to any Include planning
Release dates
deliverables length of time breaks upcoming
work
Customize Project views
Organize information by
changing the layout, grouping,
sorting, and filtering your work.
GitHub
discussions can
help make your team
plan together, update
one another, or talk
about any topic.
Across projects or
repositories
conversations
(issues, pull
requests, etc.).
Demonstration: GitHub Project Boards and Projects
DEM
O
Module 06: Introduction to source
control
Introduction
Maintains
Create Work with Automate
Collaboration history of
workflows versions tasks
changes
Explore best practices for source control
Make small changes
Verify your code change before pushing it to a repository; ensure it compiles and tests are passing
Pay close attention to commit messages as these will tell you why a change was made
No matter your background or preferences, be a team player and follow agreed conventions and
workflows
Module 07: Describe types of source
control systems
Understand centralized source control
Git:
• Distributed Source Control system
• Each developer has a copy of the source repository on their development system
TFVC:
• Centralized Source Control system
• Team members have only one version of
each file on their dev machines.
• In the server workspaces model, before making changes, team members publicly check out
files.
• In the local workspaces model, each team member takes a copy of the latest version
of the codebase with them and works offline as needed.
Examine and choose Git
Feature branches Distributed development Pull requests
Full Repo
Product
You Customers
Feedback
Understand objections to using Git
Large Files – Git works best with repos that are small and that do not contain large files (or
binaries); consider using Git LFS support
Learning Curve – Some training and instruction will be needed. Existing developers might
need to be retrained.
DEM
O
Module 08: Work with Azure Repos and
GitHub
Introduction to Azure Repos
Features of GitHub:
• Automate from code to cloud
• Securing software, together
• Seamless code review
• Code and documentation in one place
• Coordinate
• Manage teams
Migrate from TFVC to Git
Single branch
import
Full
synchronization
(git-tfs)
Migrate from TFVC to Git (continued)
Lab overview:
In this lab you will learn about the agile planning and portfolio
management tools and processes provided by Azure Boards and
how they can help you quickly plan, manage, and track work
across your entire team.
Objectives: Duration:
• Manage teams, areas, and iterations
• Manage work items
• Manage sprints and capacity
•
•
Customize Kanban boards
Define dashboards
60
minutes
• Customize team process