0% found this document useful (0 votes)
36 views10 pages

Resumen Del Capitulo 1 Azure DevOps Overview

The document provides an overview of Azure DevOps. It discusses DevOps principles including customer-centric action, creating with the end in mind, end-to-end responsibility, cross-functional autonomous teams, continuous improvement, and automating everything. It then introduces key Azure DevOps concepts like planning, developing, delivering, and operating. Finally, it discovers Azure DevOps services such as Azure Boards for planning work, Azure Repos for version control, and Azure Pipelines for continuous integration and delivery.

Uploaded by

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

Resumen Del Capitulo 1 Azure DevOps Overview

The document provides an overview of Azure DevOps. It discusses DevOps principles including customer-centric action, creating with the end in mind, end-to-end responsibility, cross-functional autonomous teams, continuous improvement, and automating everything. It then introduces key Azure DevOps concepts like planning, developing, delivering, and operating. Finally, it discovers Azure DevOps services such as Azure Boards for planning work, Azure Repos for version control, and Azure Pipelines for continuous integration and delivery.

Uploaded by

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

ASIGNATURA

Electiva 2

PROFESOR
Francis Ramirez

TITULO DE LA TAREA
Resumen del Capitulo 1 Azure DevOps Overview.

NOMBRE COMPLETO
Cristal Ashiell Lantigua Guerrero

MATRICULA
2022-0024

PERIODO
2024-C-1
Section 1: DevOps Principles and Azure DevOps Project Management
Azure DevOps Overview

Introducing DevOps
For a long time, development and operations had been divided into isolated modules with both
separate concerns and responsibilities. Developers wrote the code and made sure that it worked on
their development systems, while the system administrators were responsible for the actual
deployment and integration in the organization's IT infrastructure. As there was limited
communication between these two isolated modules, both teams worked mostly separated on their
projects. However, they heavily depended on each other because there was no cross-platform
knowledge across the different teams.

The Waterfall Methodology is well suited for projects in the following circumstances:

✓ Early in the development life cycle, customers and developers agree on what will be delivered,
with minimal to no changes during the development of the project.
✓ For integration with external systems, it is common for multiple components of the software
to be designed in parallel. In these cases, it is desirable to have the design document complete
at an early stage in the development life cycle.
✓ Various team members are involved in other projects simultaneously as well. For example,
business analysts can gather the requirements and create the design while developers are
working on another project.
✓ Where it is not possible to break down the requirements phase, customers are not fully engaged
in smaller deliverables.
The following diagram illustrates the different parts that DevOps consists of:

This results in the following advantages:

✓ By working directly with the project team throughout the whole project, the customer will
experience a stronger sense of ownership.
✓ The customer has opportunities to see the work being delivered in an early stage of the
project and can make appropriate decisions and changes to it.
✓ Development is more business and value focused. This is a result of working closer with the
customer and having a better understanding of their needs.
✓ An Agile way of working enables us to quickly create a base version of the product, which
can be built upon in the next iterations.

Understanding DevOps principles


Principle 1 – Customer-centric action: Nowadays, it is important that software development
projects have short cycles and feedback loops, with end users and real customers integrated into
the team. To fully meet the customers' requirements, all activity around building software and
products must involve these clients. DevOps teams and organizations must continuously invest in
products and services that will allow clients to receive the maximum outcome, while also being as
lean as possible to continuously innovate and change the chosen strategy when it is no longer
working.
Principle 2 – Create with the end in mind: Organizations need to act more like product
companies. They should focus more on building working products that are sold to real customers.
This engineering mindset needs to be shared by all employees. This is required to realize those
products. This means that they should let go of the approach where each unit focuses on a particular
role with their own scoped responsibility.

Principle 3 – End-to-end responsibility: In most traditional software development projects, the


software and services that are developed are handed over to operations, where they then deploy
and maintain those solutions after the initial development process. By adopting a DevOps way of
working, the DevOps teams become fully responsible and accountable for the project they deliver.
This means that once the product has been delivered by the team and it needs to be maintained, it
still remains under the responsibility of the team. The team will also provide support for the
product until it reaches its end of life. This greatly increases the level of responsibility of the team
and the quality of the products that are developed.

Principle 4 – Cross-functional autonomous teams: Organizations that work with vertical and
fully responsible teams will need to let these teams work completely independently throughout the
whole life cycle. To enable these teams to work completely independently, a broad and balanced
set of skills are required. Team members need to have T-shaped profiles instead of old-school IT
specialists who are only skilled in their own role. Examples of skills that every team member
should have include development, requirement analysis, testing, and administration skills.

Principle 5 – Continuous improvement: Another part of end-to-end responsibility is that, for


organizations, it is important to adapt changes continuously. There can be a number of changing
circumstances, such as new technology that has been released, changing customer requirements,
and so on. Continuous improvement is a strong focus in DevOps when it comes to optimizing for
speed and costs, minimizing waste, easy of delivery, and to continuously improve the software and
services that are being built and released. An important activity to embed inside these cycles is
experimentation. This will allow teams to develop a way of learning from their failures, which is
essential to continuous improvement.

Principle 6 – Automate everything: To fully adopt and embed a continuous improvement culture
inside an organization, most organizations have a lot of waste and tech depth to eliminate. To work
with high cycle rates and to process the instant feedback from customers and end users as soon as
possible, it is imperative to automate everything. This means that not only the software
development process should be automated using continuous delivery (which includes continuous
development and integration), but also the whole infrastructure landscape needs to be automated.
The infrastructure also needs to be ready for new ways of working. In this sense, automation is
synonymous with the drive to renew the way in which the team delivers their services to their
customers.

Introducing Azure DevOps key concepts


The following diagram shows the phases that are defined in the application life cycle:

Plan: During the planning phase, teams can use Kanban boards and backlogs to define, track, and
lay out the work that needs to be done in Azure Boards. They can also use GitHub for this. In
GitHub, an issue can be created by suggesting a new idea or stating that a bug should be tracked.
These issues can be organized and assigned to teams.

Develop: The development phase is supported by Visual Studio Code and Visual Studio. Visual
Studio Code is a cross-platform editor, while Visual Studio is a Windows- and Mac-only IDE. You
can use Azure DevOps for automated testing and use Azure Pipelines to create automatic builds
for building the source code. Code can be shared across teams with Azure DevOps or GitHub.

Deliver: The deliver phase is about deploying your applications and services to target
environments. You can use Azure Pipelines to deploy code automatically to any Azure service or
on-premises environments. You can use Azure Resource Manager templates or Terraform to spin
up environments for your applications or infrastructure components. You can also integrate Jenkins
and Spinnaker inside your Azure DevOps Pipelines.

Operate: In this phase, you implement full-stack monitoring for monitoring your applications and
services. You can also manage your cloud environment with different automation tools, such as
Azure Automation, Chef, and more. Keeping your applications and services secure is also part of
this phase. Therefore, you can use features and services such as Azure Policy and Azure Security
Center. To support the full life cycle of analyzing, designing, building, deploying, and maintaining
software and infrastructure products and services, Azure DevOps provides integrated features that
can be accessed through any web browser.

Discovering Azure DevOps services


In this section, we are going to introduce the different services that are offered by Azure DevOps.
These services can be used to support teams throughout the whole life cycle of realizing business
value for customers.

Azure Boards can be used to plan, track, and discuss work across teams using the Agile planning
tools that are available. Using Azure Boards, teams can manage their software projects. It also
offers a unique set of capabilities, including native support for Scrum and Kanban. You can also
create customizable dashboards, and it offers integrated reporting and integration with Microsoft
Teams and Slack.

Azure Repos provides support for private Git repository hosting and for Team Foundation Server
Control (TFSC). It offers a set of version control tools that can be used to manage the source code
of every development project, large or small. When you edit the code, you ask the source control
system to create a snapshot of the files. This snapshot is saved permanently so that it can be recalled
later if needed.
You can use Azure Pipelines to automatically build, test, and deploy code to make it available to
other users and deploy it to different targets, such as a development, test, acceptance, and
production (DTAP) environment. It combines CI/CD to automatically build and deploy your code.

Before you can use Azure Pipelines, you should put your code in a version control system, such as
Azure Repos. Azure Pipelines can integrate with a number of version control systems, such as
Azure Repos, Git, TFVS, GitHub, GitHub Enterprise, Subversion, and Bitbucket Cloud. You can
also use Pipelines with most application types, such as Java, JavaScript, Node.js, Python, .NET,
C++, Go, PHP, and XCode. Applications can be deployed to multiple target environments,
including container registries, virtual machines, Azure services, or any on-premises or cloud target.
With Azure Test Plans, teams can improve their code quality using planned and exploratory
services in Azure DevOps. Azure Test Plans offer features for planned manual testing, exploratory
testing, user acceptance testing, and for gathering feedback from stakeholders. With manual
testing, tests are organized into test plans and test suites by testers and test leads. Teams can begin
testing from their Kanban boards or from the Work Hub directly. With user acceptance testing, the
value that's delivered to meet customer requirements is verified. This is usually done by designated
testers. Exploratory testing includes tests that are executed by the whole development team,
including developers, product owners, and testers. The software is tested by exploring the software
systems, without the use of test plans or test suites.

With Azure Artifacts, you can create and share NuGet, npm, Python, and Maven packages from
private and public sources with teams in Azure DevOps. These packages can be used in source
code and can be made available to the CI/CD pipelines. With Azure Artifacts, you can create
multiple feeds that you can use to organize and control access to the packages.
You can download extensions for Azure DevOps from the Visual Studio Marketplace. These
extensions are simple add-ons that can be used to customize and extend your team's experience
with Azure DevOps. They can help by extending the planning and tracking of work items, code
testing and tracking, pipeline build and release flows, and collaboration among team members.
The extensions are created by Microsoft and the community.

Introducing the scenarios


To create the scenario project, we are going to use the Azure DevOps demo generator, which will
generate the sample project for us. These projects are free to use. Before you generate the project,
you need to install two different Azure DevOps extensions from the marketplace, both of which
are used by the Tailwind Traders project. These extensions are as follows:

✓ ARM Outputs: This extension reads the output values of ARM deployments and sets them as
Azure Pipelines variables. You can download and install the extension from
https://marketplace.visualstudio.com/ items?itemName=keesschollaart.arm-outputs.
✓ Team Project Health: This extension enables users to visualize the overall health of builds,
thereby delivering a visual cue similar to Codify Build Light. You can download the extension
from https://marketplace.visualstudio.com/ items?itemName=ms-devlabs.TeamProjectHealth.

Once the extensions have been installed inside your Azure DevOps organization, you can generate
the sample project:

1. First, navigate to the following site: https://azuredevopsdemogenerator. azurewebsites.net/.


2. Click the Sign In button. If you don't have an Azure account yet, you can sign up for a trial
account by clicking the Get started for free button:

3. Name the project Tailwind Traders, select an organization, and select a template by clicking
the Choose template button. Select Tailwind Traders from the list and click Select Template.
4. After filling in these details.
5. Click the Create Project button.
6. With the project created, navigate to https://dev.azure.com/.
7. Log in with your credentials and select the organization where you created the project. Select
the Tailwind Traders project to see if anything has been generated.
8. Repeat these steps to create the Parts Unlimited project in your DevOps environment.

You might also like