0% found this document useful (0 votes)
43 views72 pages

Az 400t00a Enu Powerpoint 01

Uploaded by

demo20241209
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
43 views72 pages

Az 400t00a Enu Powerpoint 01

Uploaded by

demo20241209
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 72

AZ-400.

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 02: Choose the right Module 07: Describe types of


project source control systems

Module 03: Describe team Module 08: Work with Azure


structures Repos and GitHub

Module 04: Choose the DevOps Labs & Learning Path review
tools and takeaways

Module 05: Plan Agile with


GitHub Projects and Azure
Boards
Learning objectives
After completing this Learning Path, students will be able to:
Plan for the transformation with Design a license management
shared strategy
goals and timelines (e.g., Azure DevOps users)

Select a project and identify Design a strategy for end-to-end


project metrics and Key traceability from work items to
Performance Indicators (KPI’s) working software

Create a team and agile Design an authentication and


organizational structure access strategy

Design a strategy for integrating


Design a tool integration strategy
on-premises and cloud resources
Learning objectives (continued)
After completing this Learning Path, students will be able to:

Describe the benefits of using Source Control

Describe Azure Repos and GitHub

Migrate from TFVC to Git


Module 01: Introduction to DevOps
What is DevOps?
"DevOps is the union
of people, process,
and products to
enable continuous
delivery of value to
end users."

– 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)

• Monitoring and logging


• Monitoring and Logging of
running applications.
• Cloud
• Public and Hybrid Clouds
have made the impossible
easy.
Explore the DevOps journey (continued)

• Infrastructure as Code (IaC)


• Enables the automation
and validation of the
creation and teardown of
environments to help with
delivering secure and
stable application hosting
platforms.

• 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

Continuous attention to technical


3 Deliver working software frequently 9
excellence and good design

1 Simplicity - the art of maximizing the


4 Work together throughout the project 0 amount of work not done

Build projects around motivated 1


5
1 Use self-organizing teams
individuals

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

There are several challenges when creating teams:


• Availability of staff
• Disruption of current procedures and processes

To overcome the challenges, create a team that is:


• Focused on the transformation
• Well respected in their subject areas
• Internal and external to the business

A transformation project can conflict with ongoing business needs


Explore shared goals and define timelines

Projects must have a clearly-defined set of measurable outcomes,


like:
• Reduce the time spent on fixing bugs by 60%
• Reduce the time spent on unplanned work by 70%
• Reduce the out-of-hours work required by staff to no more than 10% of total
working time
• Remove all direct patching of production systems

One of the key aims of DevOps is to provide greater customer value, so outcomes
should
Explore shared goals and define timelines (continued)

Measurable goals should have timelines that challenging yet achievable

Timelines should be a constant series of short-term goals – each clear


and measurable

Shorter timelines have advantages:


• Easier to change plans or priorities when necessary
• Reduced delay between doing the work and getting feedback
• Easier to keep organizational support when positive outcomes are apparent
Module 02: Choose the right project
Explore greenfield and brownfield projects

Greenfield software projects Brownfield software projects


develop in a totally new develop in the immediate
environment. presence of existing software
applications/systems.
Decide when to use greenfield and brownfield projects

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

Both types of systems are important


Identify groups to minimize initial resistance

Different types of staff members:


• Canaries voluntarily test bleeding edge features
• Early adopters voluntarily preview releases
• Users consume the products after canaries and early adopters

Ideal Target Improvements:


• Can be used to gain early wins
• Are small enough to be achievable in a reasonable time-frame
• Have benefits that are significant enough to be obvious to the organization
Identify project metrics and key performance indicators (KPIs)

Faster outcomes – Deployment frequency, deployment speed, deployment size,


and
lead time

Efficiency – Server to admin ratio, staff member to customers ratio, application


usage, and application performance

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

Culture – Employee morale and retention rates

Goals must be specific, measurable, and time-bound


Module 03: Describe team structures
Define organization structure for agile practices

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

Data Data Data

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

Many teams hire external agile coaches or mentors

Agile coaches have teaching and mentoring skills

Agile coaches tend to be both trainers and consultants

Some coaches are technical experts

Some coaches are focused on agile processes


Team members must learn as they work, and acquire skills from each other
Enable in-team and cross-
Cultural changes – More open
team collaboration workspaces, meeting etiquette,
outsourcing, better communication

Cross-functional teams – Collaboration


with others, diversity of opinion,
rewarding collective behavior

Collaboration tooling –Slack, Teams,


Asana, Glip, JIRA
Select tools and processes
Tools can often enhance the outcomes
for agile practices
achieved.

Physical tools such as white boards,


index cards, sticky notes

Project Management tools such as


Kanban boards for planning,
monitoring, and visualization

Screen recording tools for recording


bugs, building walk-throughs, and
demonstrations
Module 04: Choose the DevOps tools
What is Azure DevOps?
Azure Boards: Agile planning, work item tracking, visualization and reporting
tool

Azure Pipelines: A language, platform and cloud agnostic CI/CD platform with
support for containers or Kubernetes

Azure Repos: Provides cloud-hosted private git repos

Azure Artifacts: Provides integrated package management with support for


Maven, npm, Python and NuGet package feeds from public or private sources

Azure Test Plans: Provides an integrated planned and exploratory testing


solution
What is GitHub?

Codespaces: Provide cloud-hosted collaborative development environments

Repos: Provide cloud-hosted and on-premises git repos for both public and
private projects

Actions: Create automation workflows with environment variables and


customized scripts

Packages: Ease integration with numerous existing packages and open-source


repositories

Security: Review code and identity vulnerabilities early in the development


cycle
Explore an authorization and access strategy

Azure DevOps Services uses either a Microsoft account or Azure


Active Directory, to protect and secure your data

For non-Microsoft tools like Git, NuGet, or Xcode you can use
personal access tokens

Azure DevOps is pre-configured with default security groups and


permissions

You can also configure app access policies and conditional access
policies
Migrate or integrate existing work
management tools

Both Azure DevOps and GitHub can


be integrated with a wide variety
of existing work management
tools:
• Trello integration tooling is a free,
flexible, and visual way to organize
anything with anyone.
• Solidify offers a tool for Jira to Azure
DevOps migration.
• Third party organizations offer
commercial tooling to assist with
migrating other work management
tools like Aha, BugZilla, ClearQuest.
Migrate or integrate existing test management tools

Azure Test Plans are used to track sprints and milestones.


There is a Test & Feedback extension available in the Visual
Studio Marketplace.

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

Azure DevOps can be licensed for individual services or for users. It


offers free and paid tiers:

https://azure.microsoft.com/en-us/pricing/details/devops/azure-dev
ops-services/

GitHub can be licensed for individuals, teams, and enterprises. It


offers free and paid tiers:

https://github.com/pricing
Module 05: Plan Agile with GitHub
Projects and Azure Boards
Introduction to GitHub Projects and Project boards

GitHub Project Boards Project boards GitHub Projects are a new,


are made up of issues, pull requests, and customizable and flexible tool version of
notes categorized as cards that you can projects for planning and tracking work
drag and drop into your chosen columns. on GitHub.
Introduction to Azure Boards

Agile, Scrum, and


Kanban processes
by default.

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.

Authenticate to GitHub using a


username/password or a
personal access token (PAT).

Azure Boards App links commits, pull


requests, and issues, directly to work
items
Configure GitHub Projects

• You can use a project board template to


create a project board with automation
already configured.
• You can also copy a project board to
reuse its customizations for similar
projects.
• You can link up to twenty-five
repositories to your organization or user-
owned project board.
• Once you've created your project board,
you can add issues, pull requests, and
notes to it.
Manage work with GitHub Project boards

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.

Use Command Palette:


• Switch layout: Table.
• Show: Milestone.
• Sort by: Assignees, asc.
• Group by: Status.
• Column field by: Status.
• Filter by Status.
• Delete view.
Collaborate using team discussions

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

When it was introduced, DevOps was a revolutionary way


to release software quickly and efficiently while maintaining a high
level of security.

Source control (version control) is a critical part of DevOps.


Explore DevOps foundational practices
Foundational practices and the stages of DevOps evolution: stages 0 to 2

Defining practices and associated practices Practices that contribute to success


Stage • Monitoring and alerting are configurable by the team operating
0 the service
• Deployment patterns for building applications or services are
reused
• Testing patterns for building applications or services are reused
• Teams contribute improvements to tooling provided by other
teams
• Configurations are managed by a configuration management
tool
Stage • Application development teams use version control • Build on a standard set of
1 • Teams deploy on a standard set of operating systems technology
• Put application configurations in
version control
• Test infrastructure changes before
deploying to production
• Source code is available to other
teams
Stage • Build on a standard set of technologies • Deployment patterns for building
2
* The practices that Teams
• define each deploy on a single
stage are highlighted in bold fontstandard operating system
applications and services are
reused
Explore DevOps foundational practices (continued)
Foundational practices and the stages of DevOps evolution: stages 3 to 5

Defining practices and associated practices Practices that contribute to success


Stage • Individuals can do work without manual • Individuals can make changes without significant
3 approval from outside the team wait times
• Deployment patterns for building • Service changes can be made during business
applications and services are reused hours
• Infrastructure changes are tested before • Post-incident reviews and results are shared
deploying to production • Teams build on a standard set of technologies
• Teams use continuous integration
• Infrastructure teams use version control
Stage • System configurations are automated • Security policy configurations are automated
4 • Provisioning is automated • Resources made available via self-service
• Application configurations are in version control
• Infrastructure teams use version control
Stage • Incident responses are automated • Security policy configurations are automated
5 • Resources available via self-service • Application developers deploy testing
• Rearchitect applications based on business environments on their own
needs • Success metrics for projects are visible
• Security teams are involved in technology • Provisioning is automated
design and deployment
* The practices that define each stage are highlighted in bold font
What is source control?

A source control system allows developers to collaborate on


code and track changes. Use version control to save your work
and coordinate code changes across your team.

The version control system saves a snapshot of your files


(history) so that you can review and even roll back to any
version of your code with ease.

Source control protects source code from catastrophe and the


casual degradation of human error and unintended
consequences.
Explore benefits of source control

Maintains
Create Work with Automate
Collaboration history of
workflows versions tasks
changes
Explore best practices for source control
Make small changes

Don’t commit personal files

Update often and right before pushing to avoid merge conflicts

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

Link code changes to work items

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

Strengths Best Used for


• Easily scales for very large • Large integrated codebases
codebases
• Audit and access control down to
• Granular permission control the file level
• Permits monitoring of usage • Hard to merge file types
Centraliz
ed • Allows exclusive file locking

There is a single central copy of


Common centralized source control
your project, and programmers
systems are TFVC, CVS, Subversion
commit their changes to this
(or SVN), and Perforce.
central copy.
Understand distributed source control

Strengths Best Used for


• Cross platform support • Smaller size (in bytes) and modular
codebases
• An open-source friendly code
review model via pull requests • Evolving through open-source
• Complete offline support • Highly distributed teams
Distribute • Portable history • Teams working across platforms
d
• An enthusiastic growing user base • Greenfield codebases

Every developer clones a copy Common distributed source


of a repository and has the full control systems are Mercurial,
history of the project. Git, and Bazaar.
Explore Git and Team Foundation Version 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

Full Repo Full Repo

Community Release cycles

Product

You Customers

Feedback
Understand objections to using Git

Overwriting History – If used incorrectly, it can lead to conflicts

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.

Discussion – What objections do you have?


Describe working with Git locally

DEM
O
Module 08: Work with Azure Repos and
GitHub
Introduction to Azure Repos

Set of version control tools to manage your code:


• Tightly integrated with other Azure DevOps features
• Can connect from common development environments
• Policy based management to protect branches
• Offers two styles of version control:
Git: Distributed version control
Team Foundation Version Control (TFVC): Centralized version
control
Introduction to GitHub

Largest open-source community

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)

Migrating the tip:


• Only the latest version of the code
• History remains on the old server

Migrating with history:


Tries to mimic the history in Git

Recommend to migrate the tip, because:


• History is stored differently – TFVC stores change sets, Git stores snapshots of
the repository
• Branches are stored differently – TFVC branches folders, Git branches the
entire repository
Develop online with GitHub Codespaces

Cloud-based development environment hosted by GitHub

Avoids issues with old


Based on Visual Studio Code
hardware/software

Work from PCs, tablets,


Highly portable
Chromebooks

Protect against proliferation Connect to Codespaces from


of intellectual property Visual Studio Code
Labs
Lab: Agile planning and portfolio management with Azure Boards

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

© Copyright Microsoft Corporation. All rights reserved.


Learning Path review and takeaways
What did you learn?
Plan for the transformation with Design a license management
shared goals and timelines strategy (e.g., Azure DevOps and
GitHub users)

Select a project and identify Design a strategy for end-to-end


project metrics and Key traceability from work items to
Performance Indicators (KPI’s) working software

Create a team and agile Design an authentication and


organizational structure access strategy

Design a strategy for integrating


Design a tool integration strategy
on-premises and cloud resources
What did you learn? (continued)

Describe the benefits of using source control

Describe Azure Repos and GitHub

Migrate from TFVC to Git


Learning Path review questions
Which of the following would a system that manages inventory in a
1
warehouse be considered?

An Agile tool that is used to manage and visualize work by showing


2 tasks moving from left to right across columns representing stages.
What is this tool commonly called?

In which of the following would you find large amounts of technical


3
debt?

4 As a project metric, what is Lead Time measuring?

5 What is a cross-functional team?


Learning Path review questions (continued)

6 What are some of the benefits of source control?

7 What are the benefits of using distributed version control?

8 What are the benefits of using centralized version control?

9 What is source control?

You might also like