0% found this document useful (0 votes)
216 views6 pages

AZ 400 Notes

Uploaded by

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

AZ 400 Notes

Uploaded by

Bojan Bogdanovic
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd

GET STARTED ON A DEVOPS TRANSFORMATION

JOURNEY
Introduction to DevOps

DevOps is the union of people, process, and products to enable continuous delivery of value to
our end users.

For DevOps transformations, the separate team should be composed of staff members. Focused
on and measured the transformation outcomes and not involved in the day-to-day operational
work. The team might also include external experts that can fill the knowledge gaps.

Parts of which DevOps is consisted of:

1. Continuous Integration (CI) drives the ongoing merging and testing of code, leading to an
early finding of defects. Other benefits include less time wasted fighting merge issues and
rapid feedback for development teams.
2. Continuous Delivery (CD) of software solutions to production and testing environments
helps organizations quickly fix bugs and respond to ever-changing business requirements.
3. Version Control, usually Git-based repository, enables teams worldwide to communicate
effectively during daily development activities. Also, integrate with software development
tools for monitoring activities such as deployments.
4. Agile planning and lean project management techniques to plan and isolate work into
sprints, manage team capacity and help teams quickly adapt to changing business needs.
5. Monitoring and Logging of running applications. Including production environments for
application health and customer usage.
6. Microservices architecture to isolate business use cases into small reusable services that
communicate via interface contracts.
7. Infrastructure as Code (IaC) enables the automation and validation of the creation and
teardown of environments to help deliver secure and stable application hosting platforms.
8. Cloud architecture
9. Containers – much faster than regular environments.
Choose the right project

Greenfield DevOps project is a newly created project without existing codebase and no team
dynamics of politics. Brownfield DevOps project is quite the opposite. (Explanation: A greenfield
project is one done on a green field, undeveloped land. A brownfield project is done on the used
ground for other purposes.)

Systems that provide the truth about data elements are often-called systems of record. These
systems have historically evolved slowly and carefully. For example, banking system.

Many organizations have other systems that often use experimentation to solve new problems.
Systems of engagement are modified regularly. Usually, it is a priority to make quick changes over
ensuring that the changes are correct. DevOps practices apply to both types of systems.

In discussions around continuous delivery, we usually categorize users into three general buckets:

 Canary users voluntarily test bleeding edge features as soon as they're available.
 Early adopters who voluntarily preview releases, considered more refined than the code
that exposes canary users.
 Users who consume the products after passing through canary and early adopters.

Describe team structures

Traditional software development practices involve:

 Determining a problem.
 Analyzing the requirements.
 Building and testing the required code.
 The delivery outcome to users.

Usually, all refer to as a waterfall approach. It follows a sequential order. A project development
team only moves to the next development phase or testing if the previous step is completed
successfully. Usually, the project takes a long time, and the outcome may no longer match the
customer's needs.

By comparison, Agile methodology constantly emphasizes adaptive planning and early delivery
with continual improvement. Rather than restricting development to rigid specifications, it
encourages rapid and flexible responses to changes as they occur.
Waterfall Agile
Divided into distinct phases. Separates the project development lifecycle
into sprints.

It can be rigid. Known for flexibility.


All project development phases, such as It follows an iterative development approach
design, development, and test, are completed so that each phase may appear more than
once. once.

Define requirements at the start of the project Requirements are expected to change and
with little change expected. evolve.

Focus on completing the project. Focus on meeting customers' demands.

Traditionally, horizontal team structures divide teams according to the software architecture. By
comparison, vertical team structures span the architecture and are aligned with skillsets or
disciplines:

Vertical teams have been shown to provide more good outcomes in Agile projects. Scaling can
occur by adding teams.

Choose the DevOps tools

Azure DevOps is a Software as a service (SaaS) platform from Microsoft that provides an end-to-
end DevOps toolchain for developing and deploying software.
Azure DevOps includes a range of services covering the complete development life cycle.

 Azure Boards: agile planning, work item tracking, visualization, and reporting tool.
 Azure Pipelines: a language, platform, and cloud-agnostic CI/CD platform-supporting
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.

GitHub is a Software as a service (SaaS) platform from Microsoft that provides Git-based
repositories and DevOps tooling for developing and deploying software.

GitHub provides a range of services for software development and deployment.

 Codespaces: Provides a cloud-hosted development environment (based on Visual Studio


Code) that can be operated from within a browser or external tools. Eases cross-platform
development.
 Repos: Public and private repositories based upon industry-standard Git commands.
 Actions: Allows for the creation of automation workflows. These workflows can include
environment variables and customized scripts.
 Packages: The majority of the world's open-source projects are already contained in
GitHub repositories. GitHub makes it easy to integrate with this code and with other third-
party offerings.
 Security: Provides detailed code scanning and review features, including automated code
review assignment.

Azure DevOps provides both on-premises and cloud options, named Azure DevOps Server (on-
premises) and Azure DevOps Services (SaaS). Also, the same applies to GitHub with GitHub (SaaS)
and GitHub Enterprise (On-premises and Cloud).

To protect and secure your data, Azure DevOps support: Microsoft Account, GitHub Account and
Azure Active Directory (Azure AD).
Plan Agile with GitHub Projects and Azure Boards

Project boards are made up of issues, pull requests, and notes categorized as cards you can drag
and drop into your chosen columns. The cards contain relevant metadata for issues and pull
requests, like labels, assignees, the status, and who opened it.

There are different types of project boards:

 User-owned project boards: Can contain issues and pull requests from any personal
repository.
 Organization-wide project boards: Can contain issues and pull requests from any
repository that belongs to an organization.
 Repository project boards: Are scoped to issues and pull requests within a single
repository.
A Project is a customizable spreadsheet in which you can configure the layout by filtering, sorting,
grouping your issues and PRs, and adding custom fields to track metadata.

Azure Boards App is an application that serves as a bridge between Azure Boards and GitHub. Use
Azure Boards to plan and track your work and GitHub as source control for software development.

You might also like