Module 1. Planning For DevOps
Module 1. Planning For DevOps
Data Engineer
Sr/Data Architect
ABOUT ME
https://www.linkedin.com/in/tonytec/
Celular: 991589183
AZ-400.00
Module 1:
Planning for DevOps
Lesson 01: Module overview
Module overview
Plan for the transformation with shared Design a license management strategy
goals and timelines (e.g. Azure DevOps users)
• Continuous Integration
• Continuous Delivery
• Version Control
• Agile/lean
• Monitoring and logging
• Cloud
• Infrastructure as Code (IaC)
• Microservices
• Containers
• DevOps may hurt at first
https://docs.microsoft.com/en-us/azure/devops/learn/what-is-devops
Separating transformation teams
One of the key aims of DevOps is to provide greater customer value, so outcomes should
have a customer value focus
Setting timelines for goals
Timelines should be a constant series of short-term goals – each clear and measurable
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.
Choosing 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
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
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
Principles of agile development
Measure progress through working software
1 Satisfy the customer through early and 7
continuous delivery of valuable software
Agile processes promote sustainable
2 Welcome changing requirements 8
development
https://www.agilealliance.org/agile101/12-principles-behind-the-agile-manifesto/
Creating organizational structures for agile practices
UI Email TV
Horizontal team structures divide teams
according to the software architecture. Email Voice TV
Data Email TV
Email TV
Vertical teams span the architecture and
are aligned with product outcomes, and UI UI UI
scaling can occur by adding teams. SOA SOA
Vertical teams have been shown to provide stronger outcomes in Agile projects
Ideal DevOps team members
Team members must learn as they work, and acquire skills from each other
Enabling in-team and cross-team
collaboration Cultural changes – More open workspaces,
meeting etiquette, outsourcing, better
communication
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 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 can GitHub do?
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
Artifacts: Ease integration with numerous existing packages and open-source repositories
Security: Review code and identity vulnerabilities early in the development cycle
Designing an authorization and access strategy for Azure DevOps
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
You can also configure app access policies and conditional access policies
Migrating or integrating existing work 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
Designing 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-devops-services/
GitHub can be licensed for individuals, teams, and enterprises. It offers free and
paid tiers:
https://github.com/pricing
Lesson 06: Lab
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 60
• Define dashboards minutes
• Customize team process
An Agile tool that is used to manage and visualize work by showing tasks moving
2 from left to right across columns representing stages. What is this tool
commonly called?
3 In which of the following would you find large amounts of technical debt?