<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Yemisi Oyesainu</title>
    <description>The latest articles on Forem by Yemisi Oyesainu (@yemmyoye).</description>
    <link>https://forem.com/yemmyoye</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1058707%2F6af05a7b-b8d6-4db8-8989-930bce1a2195.png</url>
      <title>Forem: Yemisi Oyesainu</title>
      <link>https://forem.com/yemmyoye</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/yemmyoye"/>
    <language>en</language>
    <item>
      <title>Team Process Customization with Azure Boards</title>
      <dc:creator>Yemisi Oyesainu</dc:creator>
      <pubDate>Tue, 02 Jan 2024 17:08:25 +0000</pubDate>
      <link>https://forem.com/yemmyoye/team-process-customization-with-azure-boards-1j04</link>
      <guid>https://forem.com/yemmyoye/team-process-customization-with-azure-boards-1j04</guid>
      <description>&lt;p&gt;As part of my various blogs on &lt;a href="https://dev.to/yemmyoye/azure-boards-an-effective-tool-for-agile-planning-and-portfolio-management-gc1"&gt;Agile Planning and Portfolio management&lt;/a&gt;, I would like to delve into customizing Team process with Azure Boards here.&lt;br&gt;
In Azure DevOps, there are two types of processes. One is read only while the other is inherited processes. The &lt;strong&gt;Read only processes&lt;/strong&gt; are core system processes which can not be customized. They are Scrum, Agile and CMMI. &lt;strong&gt;Inherited processes&lt;/strong&gt; are created based on core system processes but they can be customized. Several team projects can reference a single customized process such that any updates or changes made to such process will also be updated on all the team projects that referenced the process. Both new and existing projects can reference a newly created inherited process.&lt;/p&gt;

&lt;p&gt;The following steps will demonstrate how to create an inherited process from Scrum (a core system process) and customize it.&lt;/p&gt;

&lt;p&gt;(1)Log in to Azure DevOps and click on the Azure DevOps logo. This will lead to the account root page.&lt;br&gt;
Click on &lt;strong&gt;Organization settings&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0mouak55yvaskz6hx4qk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0mouak55yvaskz6hx4qk.png" alt=" " width="800" height="255"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fa5r2tihqi5ltnl2c38wc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fa5r2tihqi5ltnl2c38wc.png" alt=" " width="800" height="359"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;(2)On the &lt;strong&gt;Organization settings&lt;/strong&gt;  menu, under Boards, click on &lt;strong&gt;Process&lt;/strong&gt;.&lt;br&gt;
On &lt;strong&gt;All processes&lt;/strong&gt; pane, by the right side of Scrum, click on the ellipsis, and from the ellipsis dropdown menu, select &lt;strong&gt;Create inherited process&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fx6axwd7guljoa5tul3xm.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fx6axwd7guljoa5tul3xm.png" alt=" " width="800" height="369"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Under the Process name (required) textbox, type &lt;strong&gt;Customized Scrum&lt;/strong&gt; and click on &lt;strong&gt;Create process&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6dwd88p90itmece67xv7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6dwd88p90itmece67xv7.png" alt=" " width="800" height="421"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;(3)On the &lt;strong&gt;All processes&lt;/strong&gt; pane, click on &lt;strong&gt;Customized Scrum&lt;/strong&gt; entry&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftjozkba8uqjd29jlbg3p.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftjozkba8uqjd29jlbg3p.png" alt=" " width="800" height="316"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Select &lt;strong&gt;Product Backlog Item&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3fq5avx7zyjw6sa62ndp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3fq5avx7zyjw6sa62ndp.png" alt=" " width="800" height="448"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Next, on the &lt;strong&gt;Product Backlog Item&lt;/strong&gt; pane, select &lt;strong&gt;New Field&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fo6xmmb6l4chj2v32vwdb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fo6xmmb6l4chj2v32vwdb.png" alt=" " width="800" height="299"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;A panel for &lt;strong&gt;Add a field to Product Backlog Item&lt;/strong&gt; will come up. Under &lt;strong&gt;Definition&lt;/strong&gt;, in the &lt;strong&gt;Name&lt;/strong&gt; textbox for &lt;strong&gt;Create a field&lt;/strong&gt;, type &lt;strong&gt;EShop Ticket ID&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fz87pvq8u1xzo74ox3h2q.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fz87pvq8u1xzo74ox3h2q.png" alt=" " width="800" height="360"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Click &lt;strong&gt;Layout&lt;/strong&gt; on the &lt;strong&gt;Add a field to Product Backlog Item&lt;/strong&gt; panel, in the &lt;strong&gt;Label&lt;/strong&gt; textbox, type &lt;strong&gt;Ticket ID&lt;/strong&gt;,&lt;br&gt;
on the Group textbox, type &lt;strong&gt;EShopOnWeb&lt;/strong&gt;, &lt;br&gt;
then click &lt;strong&gt;Add field&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1zs434qbnmn0vkq9diyn.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1zs434qbnmn0vkq9diyn.png" alt=" " width="800" height="391"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;(4)Return back to the &lt;strong&gt;All processes&lt;/strong&gt; pane, and select &lt;strong&gt;Scrum&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2newz717a89b01ft5p6p.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2newz717a89b01ft5p6p.png" alt=" " width="800" height="265"&gt;&lt;/a&gt;&lt;br&gt;
The current project, &lt;strong&gt;EShopOnWeb&lt;/strong&gt;, is using &lt;strong&gt;Scrum&lt;/strong&gt; but now we want to change the project process to &lt;strong&gt;Customized Scrum&lt;/strong&gt;.&lt;br&gt;
On the &lt;strong&gt;Scrum&lt;/strong&gt; pane, select the &lt;strong&gt;Projects&lt;/strong&gt; tab and on the row having &lt;strong&gt;EShopOnWeb&lt;/strong&gt;, click on the ellipsis and select &lt;strong&gt;Change process&lt;/strong&gt; from the dropdown &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqjvdxrjxxn2bsyizp0zn.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqjvdxrjxxn2bsyizp0zn.png" alt=" " width="800" height="245"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In the &lt;strong&gt;Select a target process&lt;/strong&gt; dropdown menu on the &lt;strong&gt;Change the project process&lt;/strong&gt; pane, select &lt;strong&gt;Customized Scrum&lt;/strong&gt; and click on &lt;strong&gt;Save&lt;/strong&gt; as shown in the image below&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fx0v3ygh7y9rbuiactmku.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fx0v3ygh7y9rbuiactmku.png" alt=" " width="800" height="556"&gt;&lt;/a&gt;&lt;br&gt;
.&lt;br&gt;
Then click &lt;strong&gt;Close&lt;/strong&gt; when the change is complete&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpce2fgdhxixvu1sw4au1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpce2fgdhxixvu1sw4au1.png" alt=" " width="724" height="595"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;(5)Return back to the account root page by clicking on the Azure DevOps logo and select the &lt;strong&gt;EShopOnWeb&lt;/strong&gt; project&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3vl6emr8q4yd3e3aiocs.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3vl6emr8q4yd3e3aiocs.png" alt=" " width="800" height="294"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;On the page that come up, on the left side vertical pane, under &lt;strong&gt;Boards&lt;/strong&gt; select &lt;strong&gt;Work items&lt;/strong&gt; and click on the first backlog item&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fe2an9ga6w0ytwrcjbnn9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fe2an9ga6w0ytwrcjbnn9.png" alt=" " width="800" height="270"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;There it is! The Ticket ID that we defined earlier&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjpjvfbos1lf3wr4nwezi.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjpjvfbos1lf3wr4nwezi.png" alt=" " width="800" height="317"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Hope this is helpful and easy to understand. Please give your feedbacks in the comment section below.&lt;/p&gt;

</description>
      <category>teamprocess</category>
      <category>azureboards</category>
      <category>agileplanning</category>
      <category>agile</category>
    </item>
    <item>
      <title>How to Customize Kanban Boards using Azure Boards</title>
      <dc:creator>Yemisi Oyesainu</dc:creator>
      <pubDate>Tue, 02 Jan 2024 16:50:39 +0000</pubDate>
      <link>https://forem.com/yemmyoye/how-to-customize-kanban-boards-using-azure-boards-p53</link>
      <guid>https://forem.com/yemmyoye/how-to-customize-kanban-boards-using-azure-boards-p53</guid>
      <description>&lt;p&gt;Generally, &lt;strong&gt;Kanban Board&lt;/strong&gt; is a visual tool used for project management and optimizing workflows. It is usually designed in a way that teams are able to visualize their tasks, limit work in progress, and maximize efficiency. Kanban board is an effective tool in agile methodologies. Azure boards can be used to customize Kanban board to match the way a Software development team plan to work to ensure a successful delivery.&lt;/p&gt;

&lt;p&gt;Basically, Kanban boards consist of the following components:&lt;/p&gt;

&lt;p&gt;(a) &lt;strong&gt;Visual signals:&lt;/strong&gt; At a glance, members of the team can assess the workflow and ascertain what has been done, any adjustment to be made, and next steps to be taken. &lt;/p&gt;

&lt;p&gt;(b) &lt;strong&gt;Columns:&lt;/strong&gt; Each column on the board represents a stage in the workflow such as &lt;strong&gt;To Do&lt;/strong&gt;, &lt;strong&gt;In Progress&lt;/strong&gt;, and &lt;strong&gt;Done&lt;/strong&gt;. These are arranged from left to right to show how the work is progressing. &lt;/p&gt;

&lt;p&gt;(c) &lt;strong&gt;Cards:&lt;/strong&gt; These are used to represent work items on the board. They contain details about the tasks such as its status, priority and others.&lt;/p&gt;

&lt;p&gt;(d) &lt;strong&gt;Limiting Work In Progress:&lt;/strong&gt; This is an essential principle in using Kanban board. Number of tasks allowed in each column should be limited to avoid overloading so that the work can flow smoothly.&lt;/p&gt;

&lt;p&gt;In this blog we will have a glimpse of how to customize Kanban board with Azure boards. This article is a continuation of the concepts I demonstrated in an article, &lt;a href="https://dev.to/yemmyoye/using-azure-boards-to-manage-sprints-and-capacity-e42"&gt;Using Azure Boards to manage Sprints and Capacity&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Come on, let's set out!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 1&lt;/strong&gt;&lt;br&gt;
Log in to Azure DevOps portal, in the list of &lt;strong&gt;Boards&lt;/strong&gt; items, select &lt;strong&gt;Boards&lt;/strong&gt;. On the Boards tab, click on the cogwheel icon for &lt;strong&gt;Configure board setting&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnyr4ycqfqdvfd9hzsfp9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnyr4ycqfqdvfd9hzsfp9.png" alt=" " width="800" height="349"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 2&lt;/strong&gt;&lt;br&gt;
On the Settings panel, select the &lt;strong&gt;Tag color&lt;/strong&gt; tab, then click on &lt;strong&gt;+Tag color&lt;/strong&gt;&lt;br&gt;
In the &lt;strong&gt;Tag&lt;/strong&gt; textbox, type &lt;strong&gt;data&lt;/strong&gt; and leave the default color in place. In this case the color is yellow.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzn7rr3z03fx4feydjfna.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzn7rr3z03fx4feydjfna.png" alt=" " width="800" height="345"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 3&lt;/strong&gt;&lt;br&gt;
Next on the &lt;strong&gt;Settings&lt;/strong&gt; panel of the &lt;strong&gt;Configure board settings&lt;/strong&gt;, select the &lt;strong&gt;Annotations&lt;/strong&gt; tab&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkyf9a0q8syfc9jawj5tt.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkyf9a0q8syfc9jawj5tt.png" alt=" " width="800" height="317"&gt;&lt;/a&gt;&lt;br&gt;
As you can see here, the Annotation is enabled. This will make the   child work items of that type easily accessible by clicking the visualization on each card.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 4&lt;/strong&gt;&lt;br&gt;
Select the &lt;strong&gt;Tests&lt;/strong&gt; tab on the &lt;strong&gt;Settings&lt;/strong&gt; panel. This will enable you to configure how tests appear and behave on the card&lt;br&gt;
Now, click on &lt;strong&gt;Save and close&lt;/strong&gt; to save the Styling rule.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fk4ku4mkyuky18x6dvzyt.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fk4ku4mkyuky18x6dvzyt.png" alt=" " width="800" height="296"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 5&lt;/strong&gt;&lt;br&gt;
On the &lt;strong&gt;Board&lt;/strong&gt; tab of the &lt;strong&gt;EShop-Web&lt;/strong&gt; panel, open the work item representing the &lt;strong&gt;As a customer, I want to view new tutorials&lt;/strong&gt; backlog item. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmyzqj5esxu0xzrii6nag.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmyzqj5esxu0xzrii6nag.png" alt=" " width="800" height="274"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;At the top of the panel, by the right side of the 0 comments entry, click &lt;strong&gt;Add tag&lt;/strong&gt; and in the textbox type &lt;strong&gt;data&lt;/strong&gt; and press the enter key&lt;br&gt;
Click the &lt;strong&gt;Add tag&lt;/strong&gt; again and enter &lt;strong&gt;ux&lt;/strong&gt; in the textbox and press the enter key&lt;br&gt;
Then, click on &lt;strong&gt;Save and close&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Freatm7odz2b87bg1fs23.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Freatm7odz2b87bg1fs23.png" alt=" " width="800" height="307"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkmthz4p3ypaexqxlg8zh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkmthz4p3ypaexqxlg8zh.png" alt=" " width="251" height="171"&gt;&lt;/a&gt;&lt;br&gt;
The two tags &lt;strong&gt;data&lt;/strong&gt; and &lt;strong&gt;ux&lt;/strong&gt; are now showing on the card with data having color yellow as specified in Step 2 above&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 6&lt;/strong&gt;&lt;br&gt;
Back on the &lt;strong&gt;Boards&lt;/strong&gt; panel, click on the &lt;strong&gt;Configure Board setting&lt;/strong&gt; cogwheel icon by the right side of the funnel icon&lt;br&gt;
Select the &lt;strong&gt;Columns&lt;/strong&gt; tab, click &lt;strong&gt;+ Column&lt;/strong&gt; &lt;br&gt;
Under the &lt;strong&gt;Column name&lt;/strong&gt; label, in the &lt;strong&gt;Name&lt;/strong&gt; textbox, type &lt;strong&gt;QA Approved&lt;/strong&gt;&lt;br&gt;
In the &lt;strong&gt;WIP limit&lt;/strong&gt; textbox, type &lt;strong&gt;1&lt;/strong&gt;. The figure 1 here signifies that its only one work item that should be in this stage at any point in time. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fv934f0mtef2iykt3ta2g.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fv934f0mtef2iykt3ta2g.png" alt=" " width="800" height="305"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnxcwg9wfwdki0ye7kzpc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnxcwg9wfwdki0ye7kzpc.png" alt=" " width="800" height="296"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 7&lt;/strong&gt;&lt;br&gt;
On the &lt;strong&gt;Settings&lt;/strong&gt; panel, click on the &lt;strong&gt;Column&lt;/strong&gt; tab again. In front of &lt;strong&gt;QA Approved&lt;/strong&gt; created earlier, there is an ellipsis, click on it and hold your cursor on it to move it twice to the right so that it will now be in the middle of &lt;strong&gt;Committed&lt;/strong&gt; and &lt;strong&gt;Done&lt;/strong&gt;. Then click &lt;strong&gt;Save and close&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyx7ew8uk7p7tdw3xkol3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyx7ew8uk7p7tdw3xkol3.png" alt=" " width="800" height="346"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fa3wgwwpqj3h146monf8d.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fa3wgwwpqj3h146monf8d.png" alt=" " width="800" height="382"&gt;&lt;/a&gt;&lt;br&gt;
To make the &lt;strong&gt;QA Approved&lt;/strong&gt; column visible on the Kanban board view, refresh the &lt;strong&gt;Boards&lt;/strong&gt; portal&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fe6i5pu818pzvph0jar8r.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fe6i5pu818pzvph0jar8r.png" alt=" " width="800" height="285"&gt;&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Step 8&lt;/strong&gt;&lt;br&gt;
Drag the work item, &lt;strong&gt;As a customer, I want to see tutorials I recently viewed&lt;/strong&gt; from the &lt;strong&gt;Committed&lt;/strong&gt; stage to the &lt;strong&gt;QA Approved&lt;/strong&gt; stage&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fquoytcgjww7zdf2lkivf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fquoytcgjww7zdf2lkivf.png" alt=" " width="800" height="279"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Drag the work item, &lt;strong&gt;As a customer, I want to view new tutorials&lt;/strong&gt; from the &lt;strong&gt;Approved&lt;/strong&gt; stage to the &lt;strong&gt;QA Approved&lt;/strong&gt; stage&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmyobnrfuwzg84kp62n2x.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmyobnrfuwzg84kp62n2x.png" alt=" " width="800" height="340"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;There is a signal on the panel showing figure 2 in red indicating that this stage has exceeded its limit. So we have to move the item, &lt;strong&gt;As a customer, I want to see tutorials I recently viewed&lt;/strong&gt;&lt;br&gt;
back to the &lt;strong&gt;Committed&lt;/strong&gt; stage&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fayl54mzmmja291wgy3ss.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fayl54mzmmja291wgy3ss.png" alt=" " width="800" height="289"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 9&lt;/strong&gt;&lt;br&gt;
Go back to the &lt;strong&gt;Boards&lt;/strong&gt; panel and click on the &lt;strong&gt;Configure board settings&lt;/strong&gt; cogwheel icon by the right side of the funnel icon&lt;br&gt;
On the &lt;strong&gt;Settings&lt;/strong&gt; panel, select the &lt;strong&gt;Columns&lt;/strong&gt; tab and go to the &lt;strong&gt;QA Approved&lt;/strong&gt; tab. Here, we want to turn on split column. This will address the issue of when work gets moved into a column and when it actually starts. It will show the actual status of work in progress. &lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdggtbo75lbcfwip3n501.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdggtbo75lbcfwip3n501.png" alt=" " width="800" height="320"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Scroll down to the bottom of the &lt;strong&gt;QA Approved&lt;/strong&gt; panel, you will see the &lt;strong&gt;Definition of done&lt;/strong&gt; textbox, type Passes &lt;strong&gt;all&lt;/strong&gt; tests. This is a qualification that will apply to any work that is actually done.&lt;br&gt;
On the &lt;strong&gt;Settings&lt;/strong&gt; panel, click &lt;strong&gt;Save and close&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvv4lrjxqehq7l50pr5e7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvv4lrjxqehq7l50pr5e7.png" alt=" " width="800" height="379"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;As seen in the image below, the split consists of two columns, &lt;strong&gt;Doing&lt;/strong&gt; and &lt;strong&gt;Done&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fuqsq02x5jk96ctynvs3w.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fuqsq02x5jk96ctynvs3w.png" alt=" " width="800" height="296"&gt;&lt;/a&gt;&lt;br&gt;
Also, the image below shows how the &lt;strong&gt;Definition of done&lt;/strong&gt; appears on the Board panel&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3agt2wt2o418aeln4e12.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3agt2wt2o418aeln4e12.png" alt=" " width="800" height="242"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 10&lt;/strong&gt;&lt;br&gt;
Adding Swimlanes to your Kanban board enables you to visualize  the status of work that supports different service-level classes.&lt;br&gt;
Click on the &lt;strong&gt;Configure boards settings&lt;/strong&gt; cogwheel icon and on the &lt;strong&gt;Settings&lt;/strong&gt; panel, select the &lt;strong&gt;Swimlanes&lt;/strong&gt; tab&lt;br&gt;
Next, click on &lt;strong&gt;+ Swimlane&lt;/strong&gt;&lt;br&gt;
In the &lt;strong&gt;Name&lt;/strong&gt; textbox under the &lt;strong&gt;Swimlane Name&lt;/strong&gt; label, type &lt;strong&gt;Expedite&lt;/strong&gt;. &lt;br&gt;
Now click &lt;strong&gt;Save and close&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsucntd6392f5j4e5s4hp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsucntd6392f5j4e5s4hp.png" alt=" " width="800" height="315"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 11&lt;/strong&gt;&lt;br&gt;
Go back to the &lt;strong&gt;Board&lt;/strong&gt; tab of the &lt;strong&gt;Boards&lt;/strong&gt; panel, drag the work item on &lt;strong&gt;Committed&lt;/strong&gt; stage and drop it on &lt;strong&gt;QA Approved|Doing&lt;/strong&gt; stage of the &lt;strong&gt;Expedite&lt;/strong&gt; Swimlane. This will make the work item have priority when the QA bandwidth becomes available&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fk3mbh08lfruw2v5kkhtx.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fk3mbh08lfruw2v5kkhtx.png" alt=" " width="800" height="351"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;That is it! We have customized a Kanban Board. If you find this helpful kindly drop your feedback in the Comments section&lt;/p&gt;

</description>
      <category>kanbanboards</category>
      <category>azureboards</category>
      <category>agile</category>
      <category>agileplanning</category>
    </item>
    <item>
      <title>Using Azure Boards to Manage Sprints and Capacity</title>
      <dc:creator>Yemisi Oyesainu</dc:creator>
      <pubDate>Tue, 02 Jan 2024 16:23:35 +0000</pubDate>
      <link>https://forem.com/yemmyoye/using-azure-boards-to-manage-sprints-and-capacity-e42</link>
      <guid>https://forem.com/yemmyoye/using-azure-boards-to-manage-sprints-and-capacity-e42</guid>
      <description>&lt;p&gt;&lt;strong&gt;What are Sprints?&lt;/strong&gt; &lt;/p&gt;

&lt;p&gt;Literally speaking, Sprint means the duration or time spent running as fast as one could to cover a short distance either in a race or probably when one is in a hurry to catch up with a train or bus. Today,  Software developers are typically sprinting to stay ahead of the rapid demand of the Tech industry. This calls for proper and efficient planning and this is where Agile methodologies such as  managing Sprints and Capacity comes in. &lt;/p&gt;

&lt;p&gt;Explaining what Sprints means in Agile planning can not be done in isolation of an idea of what &lt;strong&gt;Scrum&lt;/strong&gt; is. Developers use Scrum as a framework for tackling complex tasks (projects) by breaking them into smaller bits that can be completed in increments. These 'smaller bits' are Sprints which are fixed length duration of about four(4) weeks (or less sometimes) having specific start and end dates. This duration is consistently maintained throughout the development process and a new Sprint start immediately the preceding one has been successfully completed. The number of Sprints in a software development project depends basically on how complex the project is. During a Sprint, the development team work on planned specific task which is known as &lt;strong&gt;User Story&lt;/strong&gt;. &lt;/p&gt;

&lt;p&gt;User stories describe the definite requirements of the development project. It captures the functionality, who the end user is, and what value or benefit the user derives from that functionality of the software. They are essential part of Product backlog taking into considerations the inputs from the &lt;strong&gt;Scrum team&lt;/strong&gt; and other stakeholders. They are used to estimate the efforts required for the development process because they eventually become the basis for the task that the team will work on during the Sprint. Also, during Sprints, the team works on creating new features based on the User stories.&lt;br&gt;
The &lt;strong&gt;Scrum team&lt;/strong&gt; is made up of the Scrum master, the Product owner and the Developers. It is the responsibility of the &lt;strong&gt;Scrum master&lt;/strong&gt; to make sure that the Scrum team is effective in discharging their responsibilities while the &lt;strong&gt;Product owner&lt;/strong&gt; manages the product backlog and ensure that it is easily understood. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What is Capacity?&lt;/strong&gt;&lt;br&gt;
Capacity refers to the quantity of work that a development team can perform within a given timeframe during a Sprint. This usually depends on the past ability of the team, availability of the team members, their skillsets and unexpected bugs. Having a good knowledge of the teams' capabilities will enable them and the Product owner to choose the User stories it can reasonably accomplish from the Product backlog.&lt;/p&gt;

&lt;p&gt;Managing Sprints and Capacity is an integral part of Agile planning and Portfolio management. This is the responsibility of the Scrum team. A Sprint usually has a cycle. A &lt;strong&gt;Sprint cycle&lt;/strong&gt; consists of the following steps: sprint planning, daily scrum, sprint review, and sprint retrospective .&lt;br&gt;
At &lt;strong&gt;Sprint Planning&lt;/strong&gt; meeting, the stakeholders and the development team determines the goals of the Sprint by defining the tasks to be worked on during the iteration.&lt;br&gt;
At the beginning of each day during the Sprint, the Scrum master have a &lt;strong&gt;Daily Scrum&lt;/strong&gt;, which is a stand-up meeting with all the team members in respect of their activities and progress so far.&lt;br&gt;
&lt;strong&gt;Sprint review&lt;/strong&gt; session is an exhibition of the work accomplished during the entire Sprint to the stakeholders and other team members. This review will afford them the opportunity to make any necessary corrections before Production.&lt;br&gt;
&lt;strong&gt;Sprint retrospective&lt;/strong&gt; happens at the end of each Sprints when developers exchange ideas and learn from any mistake made in order to fashion out ways to address such in the next Sprint.&lt;/p&gt;

&lt;p&gt;In a few quick steps, I will demonstrate how this will be done using Azure Boards. Lets go! (Note that this blog is a follow up to my article on &lt;a href="https://dev.to/yemmyoye/managing-work-items-with-azure-boards-3pdc"&gt;Managing Work items with Azure Boards&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 1&lt;/strong&gt;&lt;br&gt;
Log in to the Azure DevOps portal and on the vertical navigation pane, click on &lt;strong&gt;Boards&lt;/strong&gt; and select &lt;strong&gt;Sprints&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fl0h568jw5xrz7bq15e76.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fl0h568jw5xrz7bq15e76.png" alt=" " width="800" height="318"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 2&lt;/strong&gt;&lt;br&gt;
On the &lt;strong&gt;Taskboard&lt;/strong&gt; tab, in the toolbar, select the &lt;strong&gt;View options&lt;/strong&gt; symbol by the left side of the funnel icon.&lt;br&gt;
From the dropdown menu, select the &lt;strong&gt;Work details&lt;/strong&gt; entry and select &lt;strong&gt;Sprint 2&lt;/strong&gt; as filter.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsqxbg00scxcau9kcgr6v.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsqxbg00scxcau9kcgr6v.png" alt=" " width="800" height="293"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F42cccg89p5ndoralj0xu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F42cccg89p5ndoralj0xu.png" alt=" " width="800" height="332"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fb2jwuyowvks135fj8s8v.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fb2jwuyowvks135fj8s8v.png" alt=" " width="800" height="369"&gt;&lt;/a&gt;&lt;br&gt;
In the image above, &lt;strong&gt;Sprint 2&lt;/strong&gt; has two tasks  in the &lt;strong&gt;To do&lt;/strong&gt; stage and none of these have been assigned. The numbers &lt;strong&gt;5&lt;/strong&gt; and &lt;strong&gt;3&lt;/strong&gt; showing in front of &lt;strong&gt;Unassigned&lt;/strong&gt; represent the estimated quantity of work remaining to be done.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgzcxpe211bdik78fp25p.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgzcxpe211bdik78fp25p.png" alt=" " width="800" height="350"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 3&lt;/strong&gt;&lt;br&gt;
On the &lt;strong&gt;To Do&lt;/strong&gt; Column, I will click on the Unassigned entry in front of the Task Item &lt;strong&gt;Add page for most recent tutorials&lt;/strong&gt;, and from the list of user accounts,  I will select my account to assign the task to myself.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqzbyzjui3o8hhrb5b5lv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqzbyzjui3o8hhrb5b5lv.png" alt=" " width="800" height="334"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 4&lt;/strong&gt;&lt;br&gt;
Next,  I will select the &lt;strong&gt;Capacity&lt;/strong&gt; tab&lt;br&gt;
And on the Capacity tab view, click on &lt;strong&gt;+ Add user&lt;/strong&gt; and select my user account. Set the &lt;strong&gt;Activity&lt;/strong&gt; field to &lt;strong&gt;Development&lt;/strong&gt; and, in the textbox of &lt;strong&gt;Capacity per day&lt;/strong&gt; , type &lt;strong&gt;1&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5epvden0r0exkeq7mk7l.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5epvden0r0exkeq7mk7l.png" alt=" " width="800" height="230"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Lets see how to set time for vacation. Vacations are added to Capacity view.&lt;br&gt;
Next to the entry representing my user account ( this will be your user account when you are taking this Lab), is the &lt;strong&gt;Day off&lt;/strong&gt; column, click on the &lt;strong&gt;0&lt;/strong&gt; entry. This will bring up the space to set days off.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fl09ipzj5i7u4x4wo7w7e.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fl09ipzj5i7u4x4wo7w7e.png" alt=" " width="800" height="192"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;For this Lab, I will set my vacation to 4 days off using the calendar and click &lt;strong&gt;OK&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8dzb2ek4eoo9174srf2q.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8dzb2ek4eoo9174srf2q.png" alt=" " width="800" height="209"&gt;&lt;/a&gt;&lt;br&gt;
Go back to the &lt;strong&gt;Capacity&lt;/strong&gt; tab and click &lt;strong&gt;Save&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fz8m1bgfjz4o1blqksxk0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fz8m1bgfjz4o1blqksxk0.png" alt=" " width="800" height="287"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 5&lt;/strong&gt;&lt;br&gt;
On the &lt;strong&gt;Sprint&lt;/strong&gt; view, select &lt;strong&gt;Taskboard&lt;/strong&gt; tab again&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffumdw39wt2ooxh7dvqa8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffumdw39wt2ooxh7dvqa8.png" alt=" " width="800" height="365"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;A basic advantage of the &lt;strong&gt;Boards&lt;/strong&gt; is the opportunity to easily make useful updates to crucial data. It is advisable to make a routine revision of the &lt;strong&gt;Remaining Work&lt;/strong&gt; estimate to align with the anticipated time for each task. For example, after checking the work involved in &lt;strong&gt;Add page for most recent tutorials&lt;/strong&gt; task, you may discover that the time required is more than initially expected.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 6&lt;/strong&gt;&lt;br&gt;
In the square box representing the &lt;strong&gt;Add page for most recent tutorials&lt;/strong&gt; on the &lt;strong&gt;Taskboard&lt;/strong&gt; tab, to match the total capacity of hours for this Sprint, set the total number of hours to &lt;strong&gt;14&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7swz4lrep4y7xw17876v.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7swz4lrep4y7xw17876v.png" alt=" " width="800" height="340"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The image above shows that the &lt;strong&gt;Development&lt;/strong&gt; and your personal capacities is automatically expanded from 5hours(previously) to 14hours and 'colour bars' remains green for both of them i.e Development capacity and your capacity. However, the overall &lt;strong&gt;Team&lt;/strong&gt; capacity is exceeded because of the extra 3hours required for &lt;strong&gt;Optimize data query for most recent tutorials&lt;/strong&gt; task, the number of hours is now &lt;strong&gt;17&lt;/strong&gt;. That's why the 'colour bar' for the &lt;strong&gt;Team&lt;/strong&gt; turned red&lt;/p&gt;

&lt;p&gt;Note that there are two basic ways to resolve this kind of capacity issues:&lt;br&gt;&lt;br&gt;
(i) move the task to future iteration by opening the task here and &lt;br&gt;
edit it within the panel providing access to the task details.&lt;br&gt;
(ii) move the task to future iteration by going through the &lt;strong&gt;Backlog&lt;/strong&gt; view which provides an in-line menu option to move it.&lt;/p&gt;

&lt;p&gt;But as for this Lab we are not moving the task yet&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 7&lt;/strong&gt;&lt;br&gt;
Select the View option icon by the left side of the funnel icon. From the dropdown menu, select the &lt;strong&gt;Assigned To=&lt;/strong&gt; entry.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fz1op6p31p0378onwmp8i.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fz1op6p31p0378onwmp8i.png" alt=" " width="800" height="345"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The view shown in the image above will enable you to view the progress of tasks by person instead of by backlog item.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 8&lt;/strong&gt;&lt;br&gt;
Next, click the &lt;strong&gt;Configure team settings&lt;/strong&gt; cogwheel icon by the right side of the funnel icon. &lt;br&gt;
Select the &lt;strong&gt;Styles&lt;/strong&gt; tab, then click &lt;strong&gt;+ Styling rule&lt;/strong&gt; &lt;br&gt;
Under the &lt;strong&gt;Rule Name&lt;/strong&gt; label, in the Name textbox, type &lt;strong&gt;Development&lt;/strong&gt;&lt;br&gt;
In the &lt;strong&gt;Card color&lt;/strong&gt; dropdown menu select the green rectangle&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgxtm4g0oaq83zduqntmw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgxtm4g0oaq83zduqntmw.png" alt=" " width="800" height="74"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0ipsb4anyb9logkljpvp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0ipsb4anyb9logkljpvp.png" alt=" " width="800" height="329"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Any card that meets the rule criteria that will be set in Step 9 below will be set to green.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 9&lt;/strong&gt;&lt;br&gt;
To set the rule criteria, go to the &lt;strong&gt;Rule criteria&lt;/strong&gt; section, under &lt;strong&gt;Field&lt;/strong&gt; dropdown menu, select &lt;strong&gt;Activity&lt;/strong&gt;,&lt;br&gt;
in the &lt;strong&gt;Operator&lt;/strong&gt; dropdown menu, select &lt;strong&gt;=&lt;/strong&gt;,&lt;br&gt;
in the Value dropdown menu, select &lt;strong&gt;Development&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmi7fsuo8fo4idc55c41e.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmi7fsuo8fo4idc55c41e.png" alt=" " width="800" height="285"&gt;&lt;/a&gt;&lt;br&gt;
In the next three steps, we will navigate other parts of the Team Settings panel.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 10&lt;/strong&gt;&lt;br&gt;
On the &lt;strong&gt;Settings&lt;/strong&gt; panel, select the &lt;strong&gt;Backlog&lt;/strong&gt; tab. In the image below you can see that &lt;strong&gt;Epic&lt;/strong&gt; is not selected by default but you can decide to change this&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjyvx4bhbm2rckcrow4oy.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjyvx4bhbm2rckcrow4oy.png" alt=" " width="800" height="283"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 11&lt;/strong&gt;&lt;br&gt;
On the &lt;strong&gt;Settings&lt;/strong&gt; panel, select the &lt;strong&gt;Working days&lt;/strong&gt; tab. Here, you can specify the working days that the team will follow. This also applies to the calculations of capacities and burndown&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fe6p9l3zjb867yzisnq58.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fe6p9l3zjb867yzisnq58.png" alt=" " width="800" height="323"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 12&lt;/strong&gt;&lt;br&gt;
On the &lt;strong&gt;Settings&lt;/strong&gt; panel, select the &lt;strong&gt;Working with bugs&lt;/strong&gt; tab. In this view, you have the options of specifying how you want the bugs to appear on the Boards&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fni94ivvdieh60119kchq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fni94ivvdieh60119kchq.png" alt=" " width="800" height="332"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now to save the Styling rule, click on &lt;strong&gt;Save and close&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6yw3320gkq5b4i0ukkxq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6yw3320gkq5b4i0ukkxq.png" alt=" " width="800" height="320"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This blog has explained and demonstrated what Sprints and capacity are and how they are managed with Azure Boards. &lt;/p&gt;

&lt;p&gt;Hope you find this interesting to follow through. Try it out yourself and don't forget to let us know how you feel about the article in the comment section below.&lt;/p&gt;

</description>
      <category>sprints</category>
      <category>capacity</category>
      <category>azureboards</category>
      <category>agileplanning</category>
    </item>
    <item>
      <title>Managing Work items with Azure Boards</title>
      <dc:creator>Yemisi Oyesainu</dc:creator>
      <pubDate>Tue, 02 Jan 2024 15:44:39 +0000</pubDate>
      <link>https://forem.com/yemmyoye/managing-work-items-with-azure-boards-3pdc</link>
      <guid>https://forem.com/yemmyoye/managing-work-items-with-azure-boards-3pdc</guid>
      <description>&lt;p&gt;For agile planning and portfolio management, Azure Boards is an effective tool to manage work items.&lt;/p&gt;

&lt;p&gt;What are work items in Software development project? They are used to track the features and requirements of your project, code bugs and risks that may be associated with the project. As demonstrated in my article on &lt;a href="https://dev.to/yemmyoye/azure-boards-an-effective-tool-for-agile-planning-and-portfolio-management-gc1"&gt;Agile Planning and Portfolio management&lt;/a&gt;, while creating the project, &lt;strong&gt;EShopOnWeb&lt;/strong&gt;, &lt;strong&gt;Scrum&lt;/strong&gt; was selected as the Work item process. This will determine the work item types available on which each work item will be based. In this blog, I will demonstrate how to manage work item available for tracking information under the Scrum process. However, there are other options of work item process that you can select from. These are Agile process, Basic process and CMMI process. Work items plays an essential role in accomplishing the overall project because work items are individual tasks that made up the entire project. They can be used to describe work to be done, impediments to be released, test definitions or other key items.&lt;/p&gt;

&lt;p&gt;Let's get to work now! There is a pre-requisite for this Lab on managing work items, that we will do first. That is, a preconfigured &lt;strong&gt;Parts Unlimited&lt;/strong&gt; team project. (NB: It is a requirement for some Azure DevOps Lab).&lt;/p&gt;

&lt;p&gt;&lt;u&gt;Configuring Parts Unlimited Teams Project&lt;/u&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 1&lt;/strong&gt;&lt;br&gt;
 We will use Azure DevOps Demo Generator to automate the &lt;br&gt;
 creation of a new Azure DevOps project within my account that &lt;br&gt;
 is prepopulated with content like work items, repos etc. To do &lt;br&gt;
 this, I will open this link on my browser &lt;br&gt;
 &lt;a href="https://azuredevopsdemogenerator.azurewebsites.net/" rel="noopener noreferrer"&gt;https://azuredevopsdemogenerator.azurewebsites.net/&lt;/a&gt; and sign in &lt;br&gt;
 using the Microsoft account associated with my Azure DevOps &lt;br&gt;
 subscription&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9mtj0cefm8civza11ojf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9mtj0cefm8civza11ojf.png" alt=" " width="800" height="348"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 2&lt;/strong&gt;&lt;br&gt;
I will accept the permission request for accessing my subscription.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 3&lt;/strong&gt;&lt;br&gt;
Click on the dropdown on the right side of &lt;strong&gt;Select organisation&lt;/strong&gt; to select on your Azure DevOps organisation and type &lt;strong&gt;Parts Unlimited&lt;/strong&gt; as the name of the project.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbwx8wqm95svfd49r9rlt.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbwx8wqm95svfd49r9rlt.png" alt=" " width="659" height="203"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 4&lt;/strong&gt;&lt;br&gt;
Click on &lt;strong&gt;Choose Template&lt;/strong&gt; as shown in the image above. Select &lt;strong&gt;Parts Unlimited&lt;/strong&gt;. Next, click on &lt;strong&gt;Select Template&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fksk9cn0lq4mv597jwva1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fksk9cn0lq4mv597jwva1.png" alt=" " width="800" height="343"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 5&lt;/strong&gt;&lt;br&gt;
Click on &lt;strong&gt;Create Project&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Finmyxmqlz7uepbw8wbji.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Finmyxmqlz7uepbw8wbji.png" alt=" " width="800" height="384"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Yeah! We are ready to move on to the main Lab to demonstrate how to manage work items with Azure Boards&lt;/p&gt;

&lt;p&gt;&lt;u&gt;Managing Work items&lt;/u&gt;&lt;br&gt;
To demonstrate this, we will use work items to set up the plan to extend the Parts Unlimited site, project created above, with a product training section.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 1&lt;/strong&gt;&lt;br&gt;
Log in to your Azure DevOps portal and on the vertical navigational pane, click on &lt;strong&gt;Boards&lt;/strong&gt; and select &lt;strong&gt;Work items&lt;/strong&gt;.&lt;br&gt;
Next, click on &lt;strong&gt;+ New Work Item&lt;/strong&gt; and select &lt;strong&gt;Epic&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fk4w5mr1wtl495p8zu3te.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fk4w5mr1wtl495p8zu3te.png" alt=" " width="800" height="366"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 2&lt;/strong&gt;&lt;br&gt;
In the Title box, type &lt;strong&gt;Product Training&lt;/strong&gt; and click on  &lt;strong&gt;Unassigned&lt;/strong&gt; entry and from the dropdown menu select your user account to assign the new work item to yourself.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F19pewh6i2q0l5fw9i701.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F19pewh6i2q0l5fw9i701.png" alt=" " width="800" height="365"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 3&lt;/strong&gt;&lt;br&gt;
By the side of &lt;strong&gt;Area&lt;/strong&gt; entry, Click on &lt;strong&gt;EShopOnWeb&lt;/strong&gt; entry as shown in the image below&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvo5eqyk2dg42jbhg44st.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvo5eqyk2dg42jbhg44st.png" alt=" " width="800" height="299"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;From the dropdown menu, select &lt;strong&gt;EShop-Web&lt;/strong&gt;. The &lt;strong&gt;Area&lt;/strong&gt; will be set to &lt;strong&gt;EShopOnWeb\EShop-Web&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7cem0tohobt3ok0gdbab.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7cem0tohobt3ok0gdbab.png" alt=" " width="800" height="285"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 4&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
By the side of &lt;strong&gt;Iteration&lt;/strong&gt; entry, Click on &lt;strong&gt;EShopOnWeb&lt;/strong&gt; entry&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1ei25rerd58lbetizmcw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1ei25rerd58lbetizmcw.png" alt=" " width="800" height="270"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;From the dropdown menu, select &lt;strong&gt;Sprint 2&lt;/strong&gt;. The &lt;strong&gt;Iteration&lt;/strong&gt; will be set to &lt;strong&gt;EShopOnWeb\Sprint 2&lt;/strong&gt;. Then click on &lt;strong&gt;Save&lt;/strong&gt; &lt;u&gt;but do not close the page&lt;/u&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjlv3hgizfdsjkv079l2k.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjlv3hgizfdsjkv079l2k.png" alt=" " width="800" height="341"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqfewq0ondvfbg1o7d6pc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqfewq0ondvfbg1o7d6pc.png" alt=" " width="800" height="225"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 5&lt;/strong&gt;&lt;br&gt;
In the &lt;strong&gt;Related work&lt;/strong&gt; section, click on &lt;strong&gt;+ Add link&lt;/strong&gt;. Then select &lt;strong&gt;New item&lt;/strong&gt; from the dropdown menu. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxt7krvp88khrbl0wxvlj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxt7krvp88khrbl0wxvlj.png" alt=" " width="800" height="354"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbzcyj1z2zjl0cujxkgr0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbzcyj1z2zjl0cujxkgr0.png" alt=" " width="800" height="349"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now, click on the &lt;strong&gt;Link type&lt;/strong&gt; and from the dropdown list, select &lt;strong&gt;Child&lt;/strong&gt;; next on the dropdown list of &lt;strong&gt;Work item type&lt;/strong&gt; select &lt;strong&gt;Feature&lt;/strong&gt;; in the &lt;strong&gt;Title&lt;/strong&gt; textbox, type &lt;strong&gt;Training Dashboard&lt;/strong&gt; and click &lt;strong&gt;OK&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwr00wka0tgvq8x7etem9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwr00wka0tgvq8x7etem9.png" alt=" " width="800" height="367"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 6&lt;/strong&gt;&lt;br&gt;
On the New Feature &lt;strong&gt;Training Dashboard&lt;/strong&gt;, click on &lt;strong&gt;Save and Close&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdakz0yry3g03a8d0aggw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdakz0yry3g03a8d0aggw.png" alt=" " width="800" height="352"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 7&lt;/strong&gt;&lt;br&gt;
On the Azure DevOps navigation pane in the &lt;strong&gt;Boards&lt;/strong&gt; menu, click on &lt;strong&gt;Boards&lt;/strong&gt;, then &lt;strong&gt;EShop-Web boards&lt;/strong&gt; as shown below&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F481cvf4zmyyt0i0b1mp0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F481cvf4zmyyt0i0b1mp0.png" alt=" " width="800" height="301"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In the upper right corner of the page, click on &lt;strong&gt;Backlog items&lt;/strong&gt; and from the dropdown menu select &lt;strong&gt;Features&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fe720f9plqmzs02imv9pe.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fe720f9plqmzs02imv9pe.png" alt=" " width="800" height="284"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 8&lt;/strong&gt;&lt;br&gt;
Hover the cursor on the rectangle representing the &lt;strong&gt;Training Dashboard&lt;/strong&gt; feature. This will reveal the ellipsis symbol &lt;strong&gt;(...)&lt;/strong&gt; in its upper right corner, click on it and from the dropdown menu, select &lt;strong&gt;Add Product Backlog item&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fggi4w0gq2oxrxo9b9xkb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fggi4w0gq2oxrxo9b9xkb.png" alt=" " width="800" height="426"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 9&lt;/strong&gt;&lt;br&gt;
In the textbox of the new product backlog item, type &lt;strong&gt;As a customer, I want to view tutorials&lt;/strong&gt; and press the Enter key to save the entry. This will create a new product backlog item (PBI) Work item that is a child of the feature and shares its area and iteration&lt;/p&gt;

&lt;p&gt;Repeat the same step to add these two product backlog items:&lt;br&gt;
 &lt;strong&gt;As a customer, I want to see tutorials I recently viewed&lt;/strong&gt;&lt;br&gt;
 &lt;strong&gt;As a customer, I want to request new tutorials&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9jsjj3fs2gyuciwzp2cu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9jsjj3fs2gyuciwzp2cu.png" alt=" " width="800" height="375"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 10&lt;/strong&gt;&lt;br&gt;
In the upper right corner of the &lt;strong&gt;Boards&lt;/strong&gt; panel, select the &lt;strong&gt;Features&lt;/strong&gt; entry and from the dropdown menu, select &lt;strong&gt;Backlog items&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fluu824eyjpjlv6bf5v2u.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fluu824eyjpjlv6bf5v2u.png" alt=" " width="800" height="194"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzynovmhmwr38571jgb79.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzynovmhmwr38571jgb79.png" alt=" " width="800" height="366"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 11&lt;/strong&gt;&lt;br&gt;
On the &lt;strong&gt;Board&lt;/strong&gt; tab of the &lt;strong&gt;EShop-WEB&lt;/strong&gt; panel, I will drag the first work item: &lt;strong&gt;As a customer, I want to view new tutorials&lt;/strong&gt; from the &lt;strong&gt;New stage&lt;/strong&gt; and drop it under the &lt;strong&gt;Approved stage&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fveaelzd3sebu0ugq7y9l.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fveaelzd3sebu0ugq7y9l.png" alt=" " width="800" height="301"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 12&lt;/strong&gt;&lt;br&gt;
On the rectangle representing the first work item that I moved to the &lt;strong&gt;Approved&lt;/strong&gt; stage, I will hover the cursor to reveal a down facing caret symbol and click on it to expand the work item card. Then click on &lt;strong&gt;Unassigned&lt;/strong&gt; and assign the PBI to myself.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1oxmwcmlvnx1e1y5tlaq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1oxmwcmlvnx1e1y5tlaq.png" alt=" " width="800" height="308"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 13&lt;/strong&gt;&lt;br&gt;
I will drag the second work item, &lt;strong&gt;As a customer, I want to see tutorials I recently viewed&lt;/strong&gt; from the &lt;strong&gt;New&lt;/strong&gt; stage and drop it on the &lt;strong&gt;Committed&lt;/strong&gt; stage.&lt;br&gt;
I will drag the third work item, &lt;strong&gt;As a customer, I want to request new tutorials&lt;/strong&gt; from the &lt;strong&gt;New&lt;/strong&gt; stage and drop it on the &lt;strong&gt;Done&lt;/strong&gt; stage.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkncq64n9lnddlfcyv7na.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkncq64n9lnddlfcyv7na.png" alt=" " width="800" height="197"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 14&lt;/strong&gt;&lt;br&gt;
On the &lt;strong&gt;Board&lt;/strong&gt; tab of the &lt;strong&gt;EShop-WEB&lt;/strong&gt; pane, at the top of the pane, click on &lt;strong&gt;Backlog&lt;/strong&gt; to display the tabular form.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fn4lj586fsb8ls8wgjhpf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fn4lj586fsb8ls8wgjhpf.png" alt=" " width="800" height="299"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 15&lt;/strong&gt;&lt;br&gt;
Still on the &lt;strong&gt;Backlog tab&lt;/strong&gt; of the &lt;strong&gt;EShop-WEB&lt;/strong&gt; pane, in the upper left corner of the pane, click the second plus sign from the top, the one next to the first work item. This will display the &lt;strong&gt;NEW TASK&lt;/strong&gt; panel. &lt;br&gt;
In the &lt;strong&gt;Enter title&lt;/strong&gt; textbox, type &lt;strong&gt;Add page for most recent tutorials&lt;/strong&gt;.&lt;br&gt;
In the &lt;strong&gt;Remaining Work&lt;/strong&gt; textbox, type &lt;strong&gt;5&lt;/strong&gt;&lt;br&gt;
In the &lt;strong&gt;Activity&lt;/strong&gt; dropdown menu, select &lt;strong&gt;Development&lt;/strong&gt; &lt;br&gt;
Then click on &lt;strong&gt;Save &amp;amp; Close&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvgpep79b165wjzi4w4ky.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvgpep79b165wjzi4w4ky.png" alt=" " width="800" height="303"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 16&lt;/strong&gt;&lt;br&gt;
We will repeat Step 15 above to add another task.&lt;br&gt;
Click on the plus sign from the top&lt;br&gt;
On the &lt;strong&gt;NEW TASK&lt;/strong&gt; panel, in the &lt;strong&gt;Enter Title&lt;/strong&gt; textbox type &lt;strong&gt;Optimize data query for most recent tutorials&lt;/strong&gt; &lt;br&gt;
In the &lt;strong&gt;Remaining Work&lt;/strong&gt; textbox, type &lt;strong&gt;3&lt;/strong&gt;&lt;br&gt;
In the &lt;strong&gt;Activity&lt;/strong&gt; dropdown menu, select &lt;strong&gt;Design&lt;/strong&gt; &lt;br&gt;
Then click on &lt;strong&gt;Save &amp;amp; Close&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fn0ztvyphkupplai4dzof.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fn0ztvyphkupplai4dzof.png" alt=" " width="800" height="316"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fuvtwdmjyn0stsjtqr84t.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fuvtwdmjyn0stsjtqr84t.png" alt=" " width="800" height="311"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Waoh! In this task we have been able to have a walkthrough on how to manage work items with a popular agile tool, Azure Boards. Simple, not so?&lt;/p&gt;

&lt;p&gt;Tell us what you feel about this piece in the comment section below&lt;/p&gt;

</description>
      <category>azureboards</category>
      <category>workitems</category>
      <category>agileplanning</category>
      <category>portfoliomanagement</category>
    </item>
    <item>
      <title>Azure Boards: An effective tool for Agile Planning and Portfolio Management</title>
      <dc:creator>Yemisi Oyesainu</dc:creator>
      <pubDate>Tue, 02 Jan 2024 15:27:37 +0000</pubDate>
      <link>https://forem.com/yemmyoye/azure-boards-an-effective-tool-for-agile-planning-and-portfolio-management-gc1</link>
      <guid>https://forem.com/yemmyoye/azure-boards-an-effective-tool-for-agile-planning-and-portfolio-management-gc1</guid>
      <description>&lt;p&gt;For some years now, Agile project management have come to stay as an effective way of planning and collaborating on different types of projects. Particularly of interest is its application to Software Development life cycle. It has helped teams to streamline and plan their activities in such a way that achieving best results is not as tedious as what it used to be. One of the popular tools used extensively by Developers is Azure Boards. It has helped in effortlessly navigating the complexities of project planning with ease. But before we dive much into Azure Boards and demonstrate how it can be used, lets briefly explain what Agile Planning and Portfolio Management means.  &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What is Agile Planning?&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
It is a style for Project management used for Software development projects. It is an incremental iterative approach that is very flexible and makes continuous improvement for software applications possible. Most times these improvements are necessitated by Customer's or User's feedbacks.&lt;br&gt;&lt;br&gt;
With agile planning, Software engineers are able to understand and estimate the time it will take to perform each task and complete the entire project. The team will break down the entire project activities into different 'portions' known as &lt;strong&gt;Sprints&lt;/strong&gt;. Processes created from Sprints usually becomes repeatable processes that can be used throughout an application or product life cycle.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What is Portfolio Management?&lt;/strong&gt;&lt;br&gt;
Creating a Portfolio in the management of software projects is a usual norm as this sets out project-related activities, responsibilities and tasks. Therefore, a portfolio is a selection of projects grouped together to be centrally managed and controlled in accordance with the organization's set goals and objectives. This allows for strategically planning project execution with agile principles. The risks and returns on investment of each projects are considered and this will help the members of the Project Portfolio Management(PPM) to make effective decisions.&lt;/p&gt;

&lt;p&gt;As mentioned at the outset, this blog will deal with one of the tools used by Software developers for Agile planning and Portfolio management - Azure Boards. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Azure Boards&lt;/strong&gt;&lt;br&gt;
Azure Boards is a web-based service provided by Microsoft to plan, track and collaborate on software development process. It supports agile planning and methodologies like Scrum and Kanban. It is a platform that can be customized for the management of work items and effective team collaborations. The hubs on Azure Board include Work items, Boards, Backlogs, Sprints, Queries, Delivery Plans and Analytics views. (&lt;a href="https://learn.microsoft.com/en-us/azure/devops/boards/get-started/what-is-azure-boards?view=azure-devops" rel="noopener noreferrer"&gt;For more on Azure Boards click here&lt;/a&gt;).&lt;br&gt;
This blog and four other blogs to follow on my &lt;a href="https://dev.to/yemmyoye/"&gt;page&lt;/a&gt; will demonstrate (with well-annotated images) to use Azure Boards in the following ways to perform some agile planning and portfolio management tasks:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Manage teams, areas, and iterations&lt;/li&gt;
&lt;li&gt;Manage work items&lt;/li&gt;
&lt;li&gt;Manage Sprints and Capacity&lt;/li&gt;
&lt;li&gt;Customize Kanban Boards&lt;/li&gt;
&lt;li&gt;Customize Team process&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Managing Teams, Areas and Iterations with Azure Boards&lt;/strong&gt;&lt;br&gt;
For this lab and the other four stated above which will be covered in subsequent articles, you will need to set up an Azure DevOps Organization. To do this, take the following simple steps&lt;/p&gt;

&lt;p&gt;i. Log in to your account on Azure portal &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frpmq4yg26ltf4q8tca1j.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frpmq4yg26ltf4q8tca1j.png" alt=" " width="800" height="370"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;ii. Search for &lt;strong&gt;Azure DevOps Organization&lt;/strong&gt; on the Search bar and click on it&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fh171ohlqgq0uzlinpl7c.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fh171ohlqgq0uzlinpl7c.png" alt=" " width="800" height="362"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;iii. Next, you will have this page. Then click on &lt;strong&gt;My Azure DevOps Organization&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fk940eh25rveiqimkfsis.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fk940eh25rveiqimkfsis.png" alt=" " width="800" height="358"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;iv. Input your details and click on &lt;strong&gt;Continue&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2xabh5snec34urqhz0uu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2xabh5snec34urqhz0uu.png" alt=" " width="800" height="340"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;v. Click on &lt;strong&gt;Create new Organization&lt;/strong&gt; and then &lt;strong&gt;Continue&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjrrk15k9mue7uso37akt.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjrrk15k9mue7uso37akt.png" alt=" " width="800" height="360"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmfwclpyg6exta352f8zg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmfwclpyg6exta352f8zg.png" alt=" " width="800" height="370"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnuuonrr668jj7zbfkj6o.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnuuonrr668jj7zbfkj6o.png" alt=" " width="800" height="372"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzvlal23y6ya4mexgo6to.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzvlal23y6ya4mexgo6to.png" alt=" " width="800" height="389"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fy99q9fsyh801jdwch2gr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fy99q9fsyh801jdwch2gr.png" alt=" " width="800" height="368"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Yes!! We are ready to take the first step in this lab on how to manage teams, areas nd iterations&lt;/p&gt;

&lt;p&gt;&lt;u&gt;Step 1 -Create and configure team project.&lt;/u&gt; &lt;br&gt;
We will create a new Azure DevOps project with a repository based on the eShopOnWeb. Lets have a walkthrough &lt;br&gt;
(a) Open your Azure DevOps Organization on a browser (Please be sure you are using a browser that supports Azure DevOps such as Microsoft Edge)&lt;br&gt;
Click on &lt;strong&gt;New Project&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F53wb4tocx1q9mh38rpey.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F53wb4tocx1q9mh38rpey.png" alt=" " width="800" height="329"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;(b) We will give this project the name &lt;strong&gt;eShopOnWeb&lt;/strong&gt; and select the Visibility option to be &lt;strong&gt;Private&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fizrnhe9h8ixv5ubyymji.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fizrnhe9h8ixv5ubyymji.png" alt=" " width="800" height="364"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;(c) Click on &lt;strong&gt;Advanced&lt;/strong&gt; and select &lt;strong&gt;Scrum&lt;/strong&gt; under &lt;em&gt;Work Item Process&lt;/em&gt;.&lt;strong&gt;Git&lt;/strong&gt; is already the default Version Control. Now Click on &lt;strong&gt;Create&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6472hww3dk1irrdq3zbf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6472hww3dk1irrdq3zbf.png" alt=" " width="800" height="356"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkpv7mn0xql3dtam3dwfa.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkpv7mn0xql3dtam3dwfa.png" alt=" " width="800" height="373"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We are now ready for the main task of this Lab&lt;/p&gt;

&lt;p&gt;&lt;u&gt;Step 2 - Create a new team and configure its area and iterations&lt;/u&gt;&lt;br&gt;
(a) Ensure that your Browser displays your Azure DevOps organization with the &lt;strong&gt;eShopOnWeb&lt;/strong&gt; project generated in Step 1(c) showing like this :&lt;strong&gt;&lt;a href="https://dev.azure.com/youraccontname/eShopOnWeb" rel="noopener noreferrer"&gt;https://dev.azure.com/youraccontname/eShopOnWeb&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;(b) Click on &lt;strong&gt;Project settings&lt;/strong&gt; and select &lt;strong&gt;Teams&lt;/strong&gt; under the &lt;em&gt;General&lt;/em&gt; section&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbrt7uf3uw0xiz1mfps41.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbrt7uf3uw0xiz1mfps41.png" alt=" " width="800" height="366"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ff19krhg09au4b4suug9r.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ff19krhg09au4b4suug9r.png" alt=" " width="800" height="354"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;(c) Next, click on &lt;strong&gt;New Team&lt;/strong&gt;. However, there is a default team, &lt;strong&gt;EShopOnWeb Team&lt;/strong&gt;, already for this project but we need to create a new one&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2ph9nkph6zl56hjsmz7u.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2ph9nkph6zl56hjsmz7u.png" alt=" " width="800" height="347"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;(d) Name the new team &lt;strong&gt;EShop-Web&lt;/strong&gt;, leave other settings at default and click on &lt;strong&gt;Create&lt;/strong&gt;  &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8eygltzt9eakpbixzrs0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8eygltzt9eakpbixzrs0.png" alt=" " width="800" height="357"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;(e) On the list of teams, Click on the newly created &lt;strong&gt;EShop-Web&lt;/strong&gt; team to have a view of its details&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1gqtxorjl4s6cwvef1q1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1gqtxorjl4s6cwvef1q1.png" alt=" " width="800" height="293"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;(f) To define the schedule and scope of the team, click on &lt;strong&gt;Iterations and Area Paths&lt;/strong&gt; link at the top of the &lt;strong&gt;EShop-Web&lt;/strong&gt; page.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fi7enx8luaasj612p60vm.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fi7enx8luaasj612p60vm.png" alt=" " width="800" height="366"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;(g) On the &lt;strong&gt;Boards&lt;/strong&gt; pane, click on &lt;strong&gt;Iterations&lt;/strong&gt; and then at the bottom of the page on the left hand side, click on &lt;strong&gt;+ Select iteration(s)&lt;/strong&gt; &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpb9yz35v8qc4qlmdeng5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpb9yz35v8qc4qlmdeng5.png" alt=" " width="800" height="301"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;(h) On the window that comes up for Iterations, select  &lt;strong&gt;EShopOnWeb/Sprint 1&lt;/strong&gt; and click on &lt;strong&gt;Save and Close&lt;/strong&gt;  &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F664vvjg7xa6gyopb8ch9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F664vvjg7xa6gyopb8ch9.png" alt=" " width="800" height="365"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;(i) To set the dates for the Sprint 1, select &lt;strong&gt;Sprint 1&lt;/strong&gt; and  click on the ellipsis &lt;strong&gt;(...)&lt;/strong&gt; that is in front of Sprint 1 on the Iterations' page. On the dropdown menu, click on &lt;strong&gt;Edit&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F04vhzqa80zgsqlsdk98k.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F04vhzqa80zgsqlsdk98k.png" alt=" " width="800" height="329"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3xel742zow0kvbi0zi6k.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3xel742zow0kvbi0zi6k.png" alt=" " width="800" height="350"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;(j) I will state three(3) full work weeks for each Sprint. In this Lab, the first Sprint starts from 18th December 2023 and ends on 5th January 2024&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ff1ngghlax0z1ngl8evvz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ff1ngghlax0z1ngl8evvz.png" alt=" " width="800" height="370"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;(k) Repeat Steps 2(g) to 2(j) to add Sprint 2 and Sprint 3.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwffihvg5wd2cqcee35y9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwffihvg5wd2cqcee35y9.png" alt=" " width="800" height="351"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnft8k9ouil1a1bdnont3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnft8k9ouil1a1bdnont3.png" alt=" " width="800" height="339"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Foxxcpeilii0qaxbua9r7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Foxxcpeilii0qaxbua9r7.png" alt=" " width="800" height="335"&gt;&lt;/a&gt;&lt;br&gt;
Note that the first day of Sprint 2 is the next working day after the end of Sprint 1. Sprint 1 ends on Friday 5th January 2024 and Sprint 2 starts on Monday 8th January 2024. Each of Sprint 2 and Sprint 3 also lasts for 3 working weeks.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0sa4fvt7yuyec9azlzfm.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0sa4fvt7yuyec9azlzfm.png" alt=" " width="800" height="285"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;(l) Now we will configure the Area path. On the &lt;strong&gt;Project Settings / Boards / Team Configuration&lt;/strong&gt; pane, click on &lt;strong&gt;Areas&lt;/strong&gt;. You will notice that there is a default area named after the team name&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhp6n42flde372ghx8yo5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhp6n42flde372ghx8yo5.png" alt=" " width="800" height="320"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;(m) Click on the ellipsis by the left side of &lt;strong&gt;default area&lt;/strong&gt; as shown in the image below. From the dropdown menu select &lt;strong&gt;Include sub areas&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhm92zj6fywlyhk7f0cig.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhm92zj6fywlyhk7f0cig.png" alt=" " width="800" height="426"&gt;&lt;/a&gt;&lt;br&gt;
Please note that by default, all teams is set to exclude sub-area paths. With that, the team will not be able to view work items from sub areas but only the work items associated with their specific area path. However, if the Management team decide to change the default setting and include the sub areas as we did in this Lab, for example, the EShopOnWeb team will gain visibility into all work items from all sub areas under its hierarchy.&lt;/p&gt;

&lt;p&gt;As noted above, my subsequent blogpost will address managing work items, sprints and capacity, customizing Kanban Boards, and customizing team process. &lt;/p&gt;

&lt;p&gt;I hope you find this blog helpful. Kindly drop your feedbacks in the comments section.&lt;/p&gt;

</description>
      <category>azureboards</category>
      <category>agileplanning</category>
      <category>portfoliomanagement</category>
      <category>teamsareasanditerations</category>
    </item>
    <item>
      <title>Ensuring Resilience: Safeguarding Azure Key Vault and Storages from Disasters</title>
      <dc:creator>Yemisi Oyesainu</dc:creator>
      <pubDate>Wed, 02 Aug 2023 18:55:03 +0000</pubDate>
      <link>https://forem.com/yemmyoye/ensuring-resilience-safeguarding-azure-key-vault-and-storages-from-disasters-1876</link>
      <guid>https://forem.com/yemmyoye/ensuring-resilience-safeguarding-azure-key-vault-and-storages-from-disasters-1876</guid>
      <description>&lt;p&gt;Planning for disaster recovery is an essential norm in cloud environment. It cannot be taken lightly because of its importance in guaranteeing high availability and integrity of services and applications deployed in the cloud. This is fundamental to continuity of any business entity. Disaster Recovery (DR) is organization's resilience in promptly recovering access and functionality of its infrastructure after a disruptive event, which may be as a result of natural disaster or resulting from human actions or errors.&lt;/p&gt;

&lt;p&gt;Come on and let's explore some best practices for disaster recovery on Key Vault and Storage accounts. For a clearer and concise discussion we will look into these as it applies in Microsoft Azure Architecture. It is believed that the basic knowledge of a Cloud Service Provider (CSP) Infrastructure can assist in understanding the same scenario in other CSPs’ infrastructure.&lt;/p&gt;

&lt;p&gt;First, we will highlight what the objectives of Disaster recovery are in cloud environment, an overview of what key vault and storages are as cloud solutions and what are the potential risk that can impact on the high availability of key vault and storages, and will be presented. And more importantly, we will look into steps for designing a DR plan for the two solutions and how this applies to them individually.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Objectives of Disaster Recovery&lt;/strong&gt;&lt;br&gt;
A Disaster recovery plan aims at accomplishing the followings:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; To ensure business continuity: With DR, organisations will be able to minimize the impact of a   disaster on business operations and ensure that critical functions can continue or resume as quickly as possible after a disaster.&lt;/li&gt;
&lt;li&gt; To minimize downtime: The downtime that immediately follows a disruption will be minimize or
non-existent depending on the effectiveness of the Disaster recovery plan. This limits financial losses and at the same time customers’ confidence level is maintained.&lt;/li&gt;
&lt;li&gt; To restore data: Essential data and applications will be recovered and restored to their
functional state after a disaster to resume normal operations.&lt;/li&gt;
&lt;li&gt; To preserve data integrity: The integrity and accuracy of recovered data will be maintained to
avoid potential errors or inconsistencies that could impact business processes.&lt;/li&gt;
&lt;li&gt; To identify and mitigate risks: Potential risks and vulnerabilities will be assessed to enhance 
preparedness and reduce the likelihood of future disasters or minimize their impact.&lt;/li&gt;
&lt;li&gt; To protect assets and resources: Hardware, software, equipment, and facilities, will be 
protected from excessive damage or loss during a disaster.&lt;/li&gt;
&lt;li&gt; To ensure compliance to Regulatory requirements: Disaster recovery plans seek to adhere to 
laws relating to data privacy, security, and business continuity.&lt;/li&gt;
&lt;li&gt; To enhance organizational resilience: Planning for an effective disaster recovery promotes a 
culture of resilience within the organization, whereby members are encouraged to be adaptable and flexible to face unforeseen challenges.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Key Vault&lt;/strong&gt;&lt;br&gt;
Key Vault is a cloud service for securely storing and accessing secrets. These secrets include API keys, passwords, certificates, or cryptographic keys. Access to these are securely controlled by the Key vault. A detailed documentation on &lt;a href="https://dev.to/yemmyoye/how-to-implement-key-vault-in-azure-n5k"&gt;how to implement key vault in azure&lt;/a&gt; can be accessed on my earlier blogpost. Considering that these secrets kept in the Vault are very sensitive, a good disaster recovery plan for this service is very crucial.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Storages&lt;/strong&gt;&lt;br&gt;
Storages plays a vital role in any Cloud or on premise Infrastructure. Deployed resources needed to be kept in a secured manner that will make accessibility possible when needed. In cloud computing, Storage is the capability of storing and managing data, files, and other resources in storage services provided by a cloud service provider. Cloud storage allows users and organizations to access, upload, download, and modify their data without the need for managing a physical infrastructure.&lt;/p&gt;

&lt;p&gt;In Azure, Storage services offers high availability, scalability, durability, and security for a variety of data objects in the cloud and this can be accessed globally. Types of Storage services in Azure include Azure Blob Storage, Azure Files, and Azure Queue Storage, Azure Table and Azure Managed Disk. The user-interface tools for interacting with Azure Storage is the Azure portal and Azure Storage Explorer. A descriptive article on how to create a Storage account with Blob Storage Container can be found in my earlier blog &lt;a href="https://dev.to/yemmyoye/creating-a-storage-account-with-azure-blob-storage-container-344n"&gt;Creating a Storage Account with Azure Blob Storage Container&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Potential Risks on Key Vault and Storages&lt;/strong&gt;&lt;br&gt;
Risks and threats that Key Vault and storage systems may encounter are enumerated below:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; Natural disaster – On this list are fire outbreak, hurricanes, flood, earthquakes, tsunami, tornado,
wildfire etc.&lt;/li&gt;
&lt;li&gt; Cyber attacks&lt;/li&gt;
&lt;li&gt; Human errors: Here, let’s talk about each of the resources one at a time&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;(a) Risk of human error on key Vault&lt;/p&gt;

&lt;p&gt;(i) Unauthorized Access to sensitive keys, secrets, and &lt;br&gt;
        certificates may occur if proper access controls and &lt;br&gt;
        permissions are not set up&lt;br&gt;
(ii)    Compromising the encryption keys when they are not &lt;br&gt;
        adequately protected. This may lead to the exposure of &lt;br&gt;
        encrypted data. &lt;br&gt;
(iii)   Malicious or negligent actions by authorized users with &lt;br&gt;
        access to the Key Vault could lead to data     breaches or &lt;br&gt;
        misuse of sensitive information.&lt;br&gt;
(iv)    Not rotating the encryption keys regularly can increase &lt;br&gt;
        the risk of prolonged exposure of sensitive data&lt;br&gt;
 (v)    Insecure management of secrets, such as passwords or API &lt;br&gt;
        keys&lt;br&gt;
(vi)    When key vault is not designed with redundancy or backup &lt;br&gt;
        mechanisms it can become a single point of failure for &lt;br&gt;
        applications &lt;/p&gt;

&lt;p&gt;(b) Risk of human error on Storages&lt;/p&gt;

&lt;p&gt;(i) Misconfiguring Publicly Accessible Containers/Blobs can give way to unauthorized access to sensitive data&lt;br&gt;
(ii)    Weak access controls and authentication mechanisms for Storages&lt;br&gt;
(iii)   Accidental deletion or corruption of data without proper backups can lead to irreversible data loss.&lt;br&gt;
(iv)    Users with access to storage accounts might intentionally or unintentionally compromise data security.&lt;br&gt;
(v) Failure to use encryption for data at rest or in transit increases the risk of data exposure if the storage resources are compromised.&lt;br&gt;
(vi)    If SAS (Share Access Signatures) tokens are not securely managed and expire too late, attackers might abuse them to gain unauthorized access to storage resources.&lt;br&gt;
(vii)   Misconfiguration of Cross-Origin Resource Sharing (CORS) might lead to unauthorized cross-origin requests, potentially exposing sensitive data.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Designing a Disaster Recovery (DR) Plan for Key Vault and Storage&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;In designing a DR plan, the following has to be considered:&lt;br&gt;
a)  Assessing the risks by identifying and evaluating this potential impact&lt;br&gt;
b)  Essential metrics such as the Recovery Point Objective (RPO) and Recovery Time Objective (RTO) has to be defined&lt;br&gt;
c)  Choose the disaster recovery strategy&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Implementing Disaster Recovery for Azure Key Vault&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The two main ways of implementing DR plans for Key Vault are &lt;br&gt;
(i) Backup and Restore &lt;br&gt;
                                                                                                    (ii) Multi region Replication&lt;/p&gt;

&lt;p&gt;(i) &lt;u&gt;Backup and Restore&lt;/u&gt;&lt;br&gt;
Presently, Azure Key Vault (AKV) doesn't provide a way to back up an entire key vault in a single operation but the contents of the key vault can be backed up individually. Azure Key Vault has multiple layers of redundancy which ensures that keys and secrets remain available to your application.&lt;/p&gt;

&lt;p&gt;When there is disaster, Key Vault maintains availability by automatically failing over requests to a paired region without any intervention from a user. This is because &lt;strong&gt;the keys and the secrets together with other contents in the key vault are replicated within the region and to a secondary region&lt;/strong&gt; at least 150 miles away. But the replication must be within the same geography to maintain high durability of Key Vault contents. If individual keys, secrets or certificates in the Key vault fails, alternate components within the region automatically take over the request to make sure that there's no downtime.&lt;br&gt;
However, note that exception to paired regions is single region geo like Brazil South, Qatar Central. In single region geo, Zone Redundant Storage (ZRS) is used to replicate data three times within the single location/region.&lt;/p&gt;

&lt;p&gt;If an entire region becomes unavailable (which is very rare), what happens? Requests are automatically directed (failed over) to a secondary region. When the primary region is available again, requests are routed back to the primary region. Again, this does not apply in single region geo.&lt;/p&gt;

&lt;p&gt;To restore backed up contents of a Key Vault, it can only be restored in the same geography due to cryptographic boundary. For example, East US and West US belong to the same geography - United States.  The regions can be different, but they need to belong to the same geography and the same Subscription.&lt;/p&gt;

&lt;p&gt;You can configure &lt;strong&gt;soft-delete and purge protection features&lt;/strong&gt; on your key vault to protect your secrets against accidental or malicious deletion of your secrets. This allows recovery of the deleted vaults and deleted contents of the key vault known as soft-delete. It is important to note that Key Vault does not support the ability to backup more than 500 past versions of a key, secret, or certificate object.&lt;/p&gt;

&lt;p&gt;(ii)    &lt;u&gt;Multi region replication&lt;/u&gt;&lt;br&gt;
Azure Key Vault is a multi-tenant service that uses a pool of Hardware Security Modules (HSMs).Multi region replication is the extension of a managed HSM pool from primary region to secondary region that enhances the availability of critical cryptographic keys if one region become unavailable. After configurations, both regions are active, and replication takes place automatically. The closest available region to the application receives and fulfills the request, thereby maximizing read throughput and latency. The picture below explains how this works.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frr0sam7fjv99i6d7x146.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frr0sam7fjv99i6d7x146.png" alt=" " width="800" height="279"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;When multi-region replication is enabled on a managed HSM in the primary region, a second managed HSM pool, with three load-balanced HSM partitions, is created in the secondary region. When requests are issued to the Traffic Manager global DNS endpoint the closest available region receives and fulfills the request. For the list of Azure regions where you can replicate HSM pool from as the primary region, click on this &lt;a href="https://learn.microsoft.com/en-us/azure/key-vault/managed-hsm/multi-region-replication" rel="noopener noreferrer"&gt;link.&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Implementing Disaster Recovery for Azure Storages&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Storage account is used to manage the services that comprise Azure Storage. Storage accounts is used to deploy storage resources such as blob containers, file shares, tables, and queues. To plan disaster recovery for Azure storage, the Cloud concept of Redundancy comes into play. &lt;br&gt;
&lt;strong&gt;Redundancy&lt;/strong&gt; is the process of duplicating copies of data, systems and other resources so that if there is any disruptive events or actions, you have immediate and secure access to backed-up copies. In &lt;a href="https://learn.microsoft.com/en-us/azure/storage/common/storage-redundancy" rel="noopener noreferrer"&gt;Azure Storage Redundancy&lt;/a&gt;, redundancy setting for Storage accounts are broadly divided into two categories:&lt;/p&gt;

&lt;p&gt;(i) Redundancy in the Primary region&lt;br&gt;
(ii)    Redundancy in the Secondary Region&lt;/p&gt;

&lt;p&gt;&lt;u&gt;Redundancy in the Primary Region&lt;/u&gt;&lt;br&gt;
Storage resources in a Storage account is usually replicated three times in the primary region. For the purpose of Disaster Recovery plan within a zone, Zone Redundancy Storage (ZRS) is recommended.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Primary Region&lt;br&gt;
ZRS&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0fq5evs5frpob8gco8bk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0fq5evs5frpob8gco8bk.png" alt=" " width="593" height="199"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The diagram above depicts how Zone Redundancy Storage is structure in three availability zones.&lt;/p&gt;

&lt;p&gt;Zone-redundant storage (ZRS) have the features listed below:&lt;br&gt;
(a) It copies data synchronously across three Azure availability zones in the primary region. &lt;br&gt;
(b) It offers durability for storage resources of at least 99.9999999999% (12 9's) over a given year.&lt;br&gt;
(c) If a zone becomes unavailable you can still access the data for both read and write operations&lt;br&gt;
(d) ZRS in the primary region is recommended for &lt;br&gt;
   (i)  Scenarios that require high availability.&lt;br&gt;
  (ii)  Restricting replication of data to a particular country or&lt;br&gt;
        region to meet data governance requirements.&lt;br&gt;
 (iii)  Azure Files workloads.&lt;br&gt;
(e)     It provides excellent performance, low latency, and resiliency for your data if it becomes temporarily unavailable within a zone.&lt;br&gt;
f)  ZRS is supported for Standard storage accounts, Premium block blob accounts and Premium file share accounts   &lt;/p&gt;

&lt;p&gt;Point (e) above shows that Zone Redundant Storage is only effective for any disruptive event that occur within a zone. For regional disaster recovery, Geo Zone Redundant Storage (GZRS) is recommended. GZRS make use of ZRS in the primary region and geo-replicates data to a secondary region.&lt;/p&gt;

&lt;p&gt;&lt;u&gt;Redundancy in a Secondary Region&lt;/u&gt;&lt;br&gt;
Replicating data to a secondary region is ideal to achieve high availability and durability especially in a scenario of a complete regional outage or a disaster in which the primary region irrecoverable. There are two options for copying your data to a secondary region:&lt;br&gt;
(a)&lt;u&gt;Geo Redundant Storage (GRS)&lt;br&gt;
&lt;/u&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzh9u0aw5vzugfez5659a.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzh9u0aw5vzugfez5659a.png" alt=" " width="615" height="218"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The picture above shows how data is replicated from a Primary region to a Secondary region. The features of GRS are stated below&lt;br&gt;
i.  It copies data synchronously three times within a single physical location in the primary region using LRS, and then copy it asynchronously to a single physical location in a secondary region&lt;br&gt;&lt;br&gt;
ii. Data written to the secondary location is also replicated within that location using LRS.&lt;br&gt;
iii.    Primary region and secondary region are usually hundreds of miles away apart&lt;br&gt;
iv. It offers durability for storage resources of at least 99.99999999999999% over a given year&lt;/p&gt;

&lt;p&gt;(b) &lt;u&gt;Geo-Zone-Redundant Storage(GZRS)&lt;/u&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffb9fi551mhexjpe6fjg0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffb9fi551mhexjpe6fjg0.png" alt=" " width="586" height="213"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The picture depicts geo replication in Geo Zone Redundant Storage. &lt;br&gt;
How does it work?&lt;br&gt;
i.  It combines the high availability provided by redundancy across availability zones with protection from regional outages provided by geo-replication.&lt;br&gt;
ii. In a GZRS storage account, data is copied across three availability zones in the primary region&lt;br&gt;
iii.    Data is also replicated to a secondary geographic region for protection from regional disasters.&lt;br&gt;
iv. For Storage solutions, it is used to achieve maximum consistency, durability, availability, excellent performance, and resilience for disaster recovery.&lt;br&gt;
v.  It provide at least 99.99999999999999% durability of objects over a given year.&lt;br&gt;
vi. It is only Standard General-purpose v2 storage accounts that support GZRS&lt;br&gt;
vii.    Enabling read access to the secondary region will make data to be always available to be read from the endpoint as well as from the primary endpoint&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Testing and Monitoring Disaster Recovery procedures&lt;/strong&gt;&lt;br&gt;
&lt;u&gt;Testing&lt;/u&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; Backup Testing: Conducting regular tests for the backup and restore process is important to ensure that data can be successfully restored from the GZRS storage. To do this, a test environment can be created where data can be restored to verifying its integrity after a disruptive event
&lt;/li&gt;
&lt;li&gt; Failover Testing: Test the failover process to a secondary region to simulate a disaster scenario. Ensure that the application can continue to function seamlessly using the data from the secondary region in the event of a disaster&lt;/li&gt;
&lt;li&gt; Testing Data Consistency: In a multi-region setup, you need to ensure that the data in both regions is consistent. Regularly test data consistency checks to ensure there are no discrepancies between the data in the primary and secondary regions.&lt;/li&gt;
&lt;li&gt; Load Testing: Conduct load testing after failover to ensure that the secondary region can handle the increased traffic and workload.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;u&gt;Monitoring &lt;/u&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; Monitor data replication continuously between the primary and secondary regions. Azure Monitor can be used to track the status of GZRS replication and get alerts if any issues arise.&lt;/li&gt;
&lt;li&gt; Set up health probes and heartbeats to check the availability and responsiveness of your application and storage services in both regions.&lt;/li&gt;
&lt;li&gt; Implement Application Performance Monitoring (APM) tools to monitor the application's performance during normal operation and after failover.&lt;/li&gt;
&lt;li&gt; Configure alerts to notify relevant members of Disaster recovery team in case of a disaster recovery event. These alerts can be set up to trigger when specific conditions are met, such as data unavailability or replication delays.&lt;/li&gt;
&lt;li&gt; Use automation scripts to regularly test the disaster recovery procedures and monitor the infrastructure's health. This can help identify issues before they degenerate.&lt;/li&gt;
&lt;li&gt; Conduct regular incident response drills to test how your team responds to disaster recovery scenarios&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Steps for Creating a Disaster Recovery Team&lt;/strong&gt; &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; Select members who are experts in cloud security, storage technologies, key management, and disaster recovery. This should staff from IT, security, operations, and any other relevant departments.&lt;/li&gt;
&lt;li&gt; All team members must have a comprehensive knowledge of the key vault and storage services provided by your cloud provider to ensure effective disaster recovery planning.&lt;/li&gt;
&lt;li&gt; Conduct a thorough risk assessment specific to key vaults and storage services. Identify potential threats, vulnerabilities, and risks that could impact the availability or security of your data. &lt;/li&gt;
&lt;li&gt; Define your recovery objectives using the metrics: Recovery Time Objectives (RTO) and Recovery Point Objectives (RPO) for key vaults and storage. &lt;/li&gt;
&lt;li&gt; Develop Disaster Recovery Plan outlining step-by-step procedures for data backup, replications, recovery, and restoration as described above. &lt;/li&gt;
&lt;li&gt; Establish clear communication and coordination channels among the DR team members and with other relevant stakeholders. Each member must have full documentation of their roles and responsibilities during and after a disaster&lt;/li&gt;
&lt;li&gt; Training on key vault and storage services' disaster recovery features and best practices together with  awareness of any updates thereof should not be neglected &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Conclusion&lt;/strong&gt;&lt;br&gt;
It is very important to pay attention to disaster recovery procedures on key vault and storages because these two services are very crucial and fundamental in cloud environment. This article has discussed extensively overview of key vault and storages and potential risks that may interfere with their availability.&lt;/p&gt;

&lt;p&gt;How to implement disaster recovery procedures such as backup and restore, together with multiregion replication were explained. Testing and monitoring Disaster recovery plan basically by the disaster recovery team was also highlighted.&lt;/p&gt;

&lt;p&gt;In all, regularly reviewing and updating the disaster recovery plan as your cloud environment and business needs evolve will ensure high availability and resilience of key vault and storages as well as other cloud resources.&lt;/p&gt;

&lt;p&gt;Trust this is useful. Please let us have your feedbacks&lt;/p&gt;

</description>
      <category>disasterrecovery</category>
      <category>keyvault</category>
      <category>storage</category>
      <category>resilience</category>
    </item>
    <item>
      <title>Disaster Recovery on Kubernetes and Container Registry</title>
      <dc:creator>Yemisi Oyesainu</dc:creator>
      <pubDate>Fri, 28 Jul 2023 16:51:52 +0000</pubDate>
      <link>https://forem.com/yemmyoye/disaster-recovery-on-kubernetes-and-container-registry-641</link>
      <guid>https://forem.com/yemmyoye/disaster-recovery-on-kubernetes-and-container-registry-641</guid>
      <description>&lt;p&gt;&lt;strong&gt;Disaster Recovery (DR)&lt;/strong&gt;&lt;br&gt;
Disaster recovery is an integral cloud benefit. It is an essential advantage of adopting cloud architectures for business solutions. It is the ability to recover data, applications and IT infrastructures after a disaster or a disruptive occurrence. This occurrence may be natural or man-made. They include flood, hurricanes, earthquakes, hardware failures, cyber-attacks, non-compliance with best practices etc. Disaster recovery in cloud environment is accomplished with various tools, services and architectural builds which ensures resiliency and high availability.&lt;br&gt;
Strategies employed for disaster recovery in on-premise environment differs greatly from what obtains in containerized environment. Granted, this is costlier than DR in containerized environment because backups for systems and data has to be kept safe in a physical data center (usually offsite). Investments in the maintenance and physically securing such infrastructure can be mind-blowing.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Kubernetes and Container Registry&lt;/strong&gt;&lt;br&gt;
Before diving into disaster recovery as it relates to Kubernetes and Containers Registry, let’s have a brief overview of what Kubernetes and Container Registry are.&lt;br&gt;
First, &lt;strong&gt;Containers&lt;/strong&gt; are lightweight packages that house the application code together with dependencies and configuration for specific application. Containers make deployment of application to any compute environment easy such that when there is higher demand for your application, it is not difficult to scale out to meet those demands by deploying additional container instances. This is depicted in the picture below&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fr9t5fxt0df3hlromlogv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fr9t5fxt0df3hlromlogv.png" alt=" " width="576" height="256"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Container image&lt;/strong&gt; is an executable code that can create a container on a computing system. It includes everything that a container needs to run. It is a snapshot of a specific application or service along with its dependencies and configurations. These images are stored and managed in Container Registry. &lt;br&gt;
&lt;strong&gt;Container Registry&lt;/strong&gt; is a storage location where developers can push and pull container images and share them with their teams or the broader community. There are three main types of Container Registry:&lt;br&gt;
(i) Docker Hub - this is a public registry that make over 100,000 off-the-shelf images shared by software vendors, open source projects, and Docker’s community of users, accessible&lt;br&gt;
(ii)    Self-hosted Registries- this is managed by individual organisation when they prefer to host their container images on their own on-premises infrastructure&lt;br&gt;
(iii)   Third party Registry Services – these are Container Registry services provided by Cloud Service Providers. They are fully managed offerings that also give you control over how you manage your images but with no operational cost for infrastructure. These include Amazon Elastic Container Registry, Azure Container Registry and Google Container Registry.&lt;br&gt;
These registries help in the containerization workflow. Containerization workflow is orchestrated such that it is easy for developers and operations teams to work with large-scale container deployments. A popular platform very useful here is Kubernetes.&lt;br&gt;
&lt;strong&gt;Kubernetes&lt;/strong&gt; is an open source platform for Container Orchestration. It is portable and extensible for automating deployment, scaling and management of containerized workload. It eliminates the complexity associated with management of containers. Containers are usually complex to manage because critical applications run in such environment. This necessitate the importance of having a very good and standard plan for disaster recovery in containerized environment. One that conforms to the best practices in the Industry. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Disaster Recovery on Kubernetes and Container Registry&lt;/strong&gt;&lt;br&gt;
As explained above, in today’s technology world, Kubernetes and Container Registry play a crucial role in application development and deployment workflows. Therefore, having a robust disaster recovery plan for these components is essential for the following reasons&lt;br&gt;
(i) To maintain business continuity: When a disaster or any disruptive event occur, it affects the smooth running of business operations, slowing it down or stopping abruptly. But having disaster recovery plan in place will ensure business continuity&lt;br&gt;
(ii)    To improve system security: Disaster recovery plans limit security risks. This is because most cloud based DR solutions have built-in security features that can detect and block cyber attacks&lt;br&gt;
(iii)   To reduce cost of recovery: Business operations returns to normal state as early as possible after a disruption if there is an effective recovery plan. Thus, resulting in minimized loss due to the disaster&lt;br&gt;
(iv)    To ensure customer retention: Customers always watch out for the capabilities of an organisation to recover after a disaster. This often affect their decision to continue their business relationship with the organisation. Imagine what can happen to a commercial bank that its Data centre was destroyed by fire and was unable to render the least of its services, like checking of account balance, for about a week after the fire outbreak.&lt;/p&gt;

&lt;p&gt;Disaster recovery on Kubernetes and Container registry refers to the strategies and practices employed to ensure the availability, resilience, and recovery of containerized applications and container images in case of disruptive events or perils. &lt;br&gt;
Planning for these will basically be in three phases:&lt;br&gt;
(i) Identifying the potential risks on Kubernetes and Container Registry&lt;br&gt;
(ii)    Preserving the applications and images before the occurrence of any disaster i.e. backup plans&lt;br&gt;
(iii)   Recovering the applications and images after a disaster or disruptive event i.e. recovery plans&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What are the Potential Risks?&lt;/strong&gt;&lt;br&gt;
These risks can be grouped into two:&lt;br&gt;
1.Risks due to natural disasters&lt;br&gt;
Natural disasters are acts of nature caused by the natural forces of the Earth where great damage and, sometimes, loss of life occurs. These include earthquakes, flood, hurricanes, volcanic eruptions, landslides, wildfires etc. These can cause an outright or partial destruction of data centres and other cloud infrastructures leading to disruption in availability of cloud applications and services.&lt;/p&gt;

&lt;p&gt;2.Risks due to man made errors of system malfunctions. These are discussed below&lt;/p&gt;

&lt;p&gt;a.&lt;u&gt;Security vulnerabilities:&lt;/u&gt; Cyber attackers can gain unauthorized access to containerized applications if they are not regularly updated and patched. When deploying and managing Kubernetes components in-house, the Kubernetes API server and its components as open source tools have potential risk because both external and internal users connect to it. Also, RBAC is the Kubernetes-native method of managing and controlling authorization to Kubernetes resources. In the event of a security breach, attackers can quickly get high-level access to the clusters using the cluster admin role.&lt;br&gt;
b.&lt;u&gt;Vulnerable container images:&lt;/u&gt; Container images that are not scanned for vulnerabilities before deployment are detrimental to the cluster where they run. Images from untrusted source can have critical vulnerabilities like remote code execution.&lt;br&gt;
c.&lt;u&gt;Security risk of Kubernetes secrets:&lt;/u&gt; Kubernetes secrets are useful for securing sensitive data like passwords, certificates, or tokens and using them inside containers but they may not secure the cluster data against malicious cyber attacks. This is because they are not encrypted by default. Another massive threat to secrets is that any pod and any applications running inside the pod in the same namespace can access and read them.  In addition to this, any old or unused secrets can create confusion and let out vulnerable data.&lt;br&gt;
d.&lt;u&gt;Runtime threats:&lt;/u&gt; Containers are controlled by the host operating system in the runtime and these run on Worker nodes. If there are permissive policies or container images with vulnerabilities, they can permit unauthorized access into the whole cluster and this will be destructive.&lt;br&gt;
e.&lt;u&gt;Risk through network access:&lt;/u&gt; Network policies are used to manage and restrict the network access between pods, namespaces, and IP blocks. They also work with the labels on the pods. But when these labels are not used efficiently, it can lead to unauthorized access.&lt;br&gt;
f.&lt;u&gt;Partial monitoring and audit logging:&lt;/u&gt; Monitoring only the application metrics when an application is deployed to a Kubernetes cluster can predispose the whole system to unhealthy anomalies&lt;br&gt;
g.&lt;u&gt;Unrestricted pods and namespaces:&lt;/u&gt; This can give way to unwanted access to sensitive data inside your cluster.&lt;br&gt;
h.&lt;u&gt;Cluster and Resource misconfiguration:&lt;/u&gt; When online examples for Kubernetes resources are not edited using "kubectl edit" commands during configuration, the changes will be overwritten in the next deployment and you will not be able to track the modifications thus leading to unpredictable outcomes&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Major Elements of Disaster Recovery on Kubernetes and Container images in the Container Registry&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;1.Backup and Restore&lt;/strong&gt;&lt;br&gt;
This is the process of making duplicate copies of critical data to be able to restore them when needed. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F72f1zp6vp9lp0con2mc0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F72f1zp6vp9lp0con2mc0.png" alt=" " width="800" height="206"&gt;&lt;/a&gt;&lt;br&gt;
As seen in the image above, data are backed up and stored in an offsite location. This may be on physical secondary location or in private or public cloud.&lt;br&gt;
Backup objectives has to be defined through metrics like the Recovery Point Objective (RPO) and Recovery Time Objective (RTO) to ensure that data is protected and minimize interruption in case of a data loss event. The RPO is the frequency at which backups are made while the RTO indicates the time it takes to restore data from backup. Organisation should strive to achieve the lowest metric in both the RPO and the RTO for the following reasons:&lt;br&gt;
a)The smaller the RPO, the lesser the risk for data loss when recovering from a backup. &lt;br&gt;
b)A shorter RTO indicates that the recovery process should be able to restore data more rapidly after data loss and allow for the quicker continuation of business activities&lt;br&gt;
For Kubernetes, regularly backing up the Kubernetes cluster's configuration and etcd database is essential to recover the cluster's state in case of failure.&lt;br&gt;
Generally, backing up in Container registry bothers on regularly backing up the container images. This is usually automated with the built in features of the registry to be sure that the most recent image versions and metadata backed up consistently. Consulting the official documentation for the specific container registry solution you are using is very essential for more detailed and up-to-date instructions on how to perform backups and ensure data integrity.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2.Data Replication&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fksnd5cur1ijw3onm8eko.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fksnd5cur1ijw3onm8eko.png" alt=" " width="800" height="384"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The picture shows replication strategy for Kubernetes from Data Center 1 named &lt;strong&gt;Active&lt;/strong&gt; which is the Primary location to a Data Center 2 named &lt;strong&gt;Standby&lt;/strong&gt;, a Secondary location.&lt;br&gt;
Processes involved in Replication of data are stated below:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Running multiple replicas of critical application components 
across different nodes in a Kubernetes cluster ensures 
redundancy and high availability. If one replica fails, the 
others can continue to handle the workload&lt;/li&gt;
&lt;li&gt;Geo-replication of data and applications across multiple 
geographically dispersed data centers or availability zones 
within a cloud provider's infrastructure ensures redundancy and 
fault tolerance.&lt;/li&gt;
&lt;li&gt;Many container registry solutions offer built-in replication 
features that can copy container images to multiple locations or 
even across different cloud providers.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;3.Disaster Recovery Plan&lt;/strong&gt;&lt;br&gt;
Outlining the steps and procedures (for various disaster scenarios) to follow in case of a disaster is very crucial to ensure proper implementation. This should include information on the followings:  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt; backup schedules&lt;/li&gt;
&lt;li&gt; recovery point objectives (RPOs)&lt;/li&gt;
&lt;li&gt; recovery time objectives (RTOs)&lt;/li&gt;
&lt;li&gt; the responsibilities of different team members during a 
recovery operation.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;4.Multi-cluster Set up&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt; Deploying Kubernetes clusters across multiple regions or data 
centers can provide geographical   redundancy. If one data
center experiences a disaster, applications can failover to 
another cluster in a different location. This ensures 
protection against regional outage.&lt;/li&gt;
&lt;li&gt; Having a multi-cluster environment enables you to ensure that 
workloads don’t experience downtime due to a problem within a 
single cluster, as you can seamlessly transfer them to another 
cluster.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;5.Load Balancers&lt;/strong&gt;&lt;br&gt;
(a)In Kubernetes clusters, a Load Balancer service does the &lt;br&gt;
   following:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt; Distributes network loads and service requests efficiently 
  across multiple instances&lt;/li&gt;
&lt;li&gt; Enables autoscaling in response to demand changes&lt;/li&gt;
&lt;li&gt; Ensures High Availability by sending workloads to healthy 
  Pods
These actions mitigate the impact of potential failures and 
spares users the annoyance of dealing with unresponsive 
services and applications when a disaster occurs.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;(b)For effective use of Load balancers for Disaster recovery plan &lt;br&gt;
   in Container Registry, the registry has to be replicated to a &lt;br&gt;
   secondary region. In Azure, Container Registry's has built-in &lt;br&gt;
   geo-replication feature that perform this task&lt;br&gt;
Actions needed here are: &lt;/p&gt;

&lt;p&gt;i. deploy load balancers to both the primary and secondary regions&lt;br&gt;
ii. set up health probes or monitoring checks on the container &lt;br&gt;
   registry instances behind the load balancers&lt;br&gt;
iii. configure disaster recovery routing to ensure traffic are &lt;br&gt;
    redirected to secondary region in the event of disaster&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;6.Monitoing and Alerting&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt; After setting up the backup process, regularly monitor the 
backup logs &lt;/li&gt;
&lt;li&gt; Implementing effective monitoring and alerting systems can help 
detect issues early and trigger recovery processes 
automatically&lt;/li&gt;
&lt;li&gt; This make it easy to detect security breaches or performance 
problems&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;7.Regular testing of Disaster Recovery plan&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Conduct periodic testing of the failover process to be sure that the disaster recovery plan will work as expected when there is need for it. It will help to identify and address any weaknesses in the recovery plan.  Here are some useful steps to take:-&lt;/p&gt;

&lt;p&gt;a)Set up a separate environment specifically dedicated to testing disaster scenarios. This should be isolated from the production environment to prevent any accidental impact on live services.&lt;/p&gt;

&lt;p&gt;b)Create a replica of your production Kubernetes cluster and container registry in the test environment using the same versions of Kubernetes, container images, configurations, and other dependencies to ensure consistency&lt;/p&gt;

&lt;p&gt;c)Identify the potential disaster scenarios you want to simulate such as node failures, network outages, container image registry unavailability, or entire cluster outages&lt;/p&gt;

&lt;p&gt;d)Utilize infrastructure-as-code (IAC) tools like Terraform to automate the provisioning of the test environment. This helps ensure that the test environment is reproducible and consistent for each test run&lt;/p&gt;

&lt;p&gt;e)Set up load balancers in the test environment as you have in the production environment.&lt;/p&gt;

&lt;p&gt;f)Intentionally trigger disaster scenarios and test your backup and restore procedures.&lt;/p&gt;

&lt;p&gt;g)Deploy monitoring and logging tools in the test environment to closely observe the behavior of the system during each simulated disaster&lt;/p&gt;

&lt;p&gt;h)Analyze the results and make necessary adjustments to improve the recovery plan&lt;/p&gt;

&lt;p&gt;i)Create scripts or automation to clean up and reset the test environment after each simulation&lt;/p&gt;

&lt;p&gt;j)Document the results of each disaster simulation and any improvements effected&lt;/p&gt;

&lt;p&gt;k)Repeat testing regularly&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;8.Security&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
(a)Access Control&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Apply strong access controls to limit who can manage and modify 
resources in the Kubernetes cluster and container registry.&lt;/li&gt;
&lt;li&gt;Use Kubernetes RBAC (Role Based Access Control) to define 
granular access levels based on roles, allowing only authorized 
users to perform specific actions.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;(b)Network Security&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Use Virtual LANs (VLANs) to segregate the disaster recovery 
environment from the production environment&lt;/li&gt;
&lt;li&gt;Network Policies in Kubernetes can be used to control traffic 
flow between pods and namespaces and enforce security rules.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;(c)Secure Authentication and Authorization&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt; Use authentication mechanisms such as TLS certificates or OAuth 
tokens.&lt;/li&gt;
&lt;li&gt; Integrate with an Identity Provider (IdP) for centralized user 
management and single sign-on (SSO).&lt;/li&gt;
&lt;li&gt; Enforce the use of Multi-Factor Authentication (MFA) for 
accessing critical resources. This adds an extra layer of 
security, making it difficult for unauthorized users to gain 
access&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;(d)Encryption&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt; Encrypt sensitive data at rest and in transit. &lt;/li&gt;
&lt;li&gt; Use encryption for etcd data, Kubernetes secrets, container 
images, and communication channels.&lt;/li&gt;
&lt;li&gt; Utilize TLS/SSL certificates for secure communication within 
the Kubernetes cluster and with the container registry.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;(e)Secure Container Images&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt; Container images must be scanned for vulnerabilities before 
deployment to ensure that only secure images are used in the DR 
environment.&lt;/li&gt;
&lt;li&gt; Use image signing and verification to prevent unauthorized 
modifications.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;(f)Regular Updates and Patching&lt;br&gt;
   Consistently update the Kubernetes cluster, container runtime, &lt;br&gt;
   and other components with the latest security patches.&lt;/p&gt;

&lt;p&gt;(g)Communication with External Services&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt; These can be secured with VPNs or encrypted channels&lt;/li&gt;
&lt;li&gt; Communication between the DR environment and external systems 
must be authenticated and authorized &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;(h)Security of the Disaster Recovery Site&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt; This applies to organisation maintaining on premise
infrastructure&lt;/li&gt;
&lt;li&gt; A separate site must be used for disaster recovery and you must 
ensure that it meets the same security standards as the primary 
site.&lt;/li&gt;
&lt;li&gt; Securely transfer data between the primary and DR sites using 
encrypted channels such as VPN, TLS/SSL Certificates, VLAN (for 
Container registry) etc&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;9.Create Disaster recovery team&lt;/strong&gt;&lt;br&gt;
Creating a disaster recovery (DR) team for Kubernetes and the Container Registry is crucial for effectively handling and mitigating potential disasters. Note the following steps and criteria while creating the team&lt;/p&gt;

&lt;p&gt;(a) Members of the team should consist of skilled individuals who understand the infrastructure, applications, and data involved and stakeholders like the IT managers, DevOps leads, Cloud Administrators/Engineers, application owners, and security personnel&lt;br&gt;
(b) Define and assign specific roles and responsibilities of each team member based on their expertise and knowledge of Kubernetes, container orchestration, container registries, network management, and disaster recovery procedures systems involved&lt;br&gt;
(c) Select individuals who are available and accessible during potential disaster scenarios&lt;br&gt;
(d) Provide training and knowledge sharing sessions to the DR team to ensure that all members understand the disaster recovery plan and procedures and get familiar with the organization's infrastructure, applications, and data dependencies&lt;br&gt;
(e) Set up clear communication channels such as Google meet, Microsoft Teams, for the DR team to stay connected during both normal operations and disaster scenarios.&lt;br&gt;
(f) Organize regular disaster recovery drills and testing exercises for the team, to validate the effectiveness of the plan and identify any areas for improvement&lt;br&gt;
(g) All procedures, configurations, and contact information in the disaster recovery documentation must be kept up-to-date. And updated documentation must be circulated among DR team members&lt;br&gt;
(h) Set up alerts to notify the team about any suspicious or unauthorized activities.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Real live Scenarios of disaster recovery on Kubernetes&lt;/strong&gt;&lt;br&gt;
1.BlackRock, a global investment management firm, utilizes &lt;br&gt;
  Kubernetes to deploy its applications across multiple regions. &lt;br&gt;
  They set up a disaster recovery strategy where applications and &lt;br&gt;
  data are automatically replicated and failover to a secondary &lt;br&gt;
  Kubernetes cluster in case of a disaster in the primary region.&lt;/p&gt;

&lt;p&gt;2.Adobe's Experience Manager (AEM), a content management solution, &lt;br&gt;
  uses Kubernetes for its disaster recovery strategy. They deploy &lt;br&gt;
  AEM in a highly available Kubernetes cluster with data &lt;br&gt;
  replication and automated failover across different regions or &lt;br&gt;
  data centers&lt;/p&gt;

&lt;p&gt;3.Pinterest, a visual discovery and bookmarking platform, runs its &lt;br&gt;
  Kubernetes workloads on Amazon EKS. They have a multi- &lt;br&gt;
  Availability Zone EKS deployment to ensure redundancy and high &lt;br&gt;
  availability. In the event of a failure, their applications can &lt;br&gt;
  quickly recover in another Availability Zone.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Real live Scenarios of disaster recovery on Container Registry&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;1.Docker Hub, the official Docker image registry, employs robust &lt;br&gt;
  disaster recovery practices to ensure the availability of &lt;br&gt;
  container images for developers worldwide. They use a &lt;br&gt;
  combination of data replication, backups, and load balancing &lt;br&gt;
  across multiple regions to ensure high availability and data &lt;br&gt;
  redundancy. In the event of an outage in one region, users can &lt;br&gt;
  still access images from other available regions.&lt;/p&gt;

&lt;p&gt;2.Microsoft Azure's Azure Container Registry (ACR) is designed for &lt;br&gt;
  high availability and disaster recovery. ACR replicates &lt;br&gt;
  container images across multiple regions, providing geographic &lt;br&gt;
  redundancy to ensure accessibility even during regional outages. &lt;br&gt;
  Additionally, ACR integrates with Azure Backup for image &lt;br&gt;
  registry backup and recovery.&lt;/p&gt;

&lt;p&gt;3.Amazon Web Services (AWS) Elastic Container Registry (ECR) &lt;br&gt;
  offers container image storage with built-in redundancy and high &lt;br&gt;
  availability. ECR automatically replicates images across &lt;br&gt;
  multiple AWS Availability Zones within a region to ensure data &lt;br&gt;
  durability. Additionally, AWS provides multi-region replication &lt;br&gt;
  options to further enhance disaster recovery capabilities.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Conclusion&lt;/strong&gt;&lt;br&gt;
Disaster recovery on Kubernetes and container registry is a critical aspect of ensuring the high availability, resilience, and business continuity of modern cloud-native applications. Kubernetes has emerged as a dominant and popular orchestration platform for containerized workloads, offering flexibility and scalability to deploy applications across various environments. Along with it, Container registries play an essential role in securely storing and managing container images, making them an important part of the disaster recovery strategy.&lt;/p&gt;

&lt;p&gt;This article have explored the key components of a robust disaster recovery plan for Kubernetes and Container Registry, together with strategies highlighted in view of best practices and real-life examples. We learned how to set up test environments to simulate disaster scenarios, the importance of encrypted channels for data transfer, and the significance of a well-prepared disaster recovery team.&lt;/p&gt;

&lt;p&gt;As Cloud computing continues to evolve, organizations primary aim is to deliver seamless, reliable, and uninterrupted services to their customers. And this can be achieved by leveraging on the capabilities of Kubernetes, Container registries, and other cloud provider services while keeping on guard for potential disasters.&lt;/p&gt;

&lt;p&gt;I hope you find this article helpful. Please leave your feedbacks in the comment section&lt;/p&gt;

</description>
      <category>disasterrecovery</category>
      <category>kubernetes</category>
      <category>containerregistry</category>
      <category>containers</category>
    </item>
    <item>
      <title>How to Capture the Image of a Virtual Machine</title>
      <dc:creator>Yemisi Oyesainu</dc:creator>
      <pubDate>Sat, 01 Jul 2023 09:59:45 +0000</pubDate>
      <link>https://forem.com/yemmyoye/how-to-capture-the-image-of-a-virtual-machine-4kbe</link>
      <guid>https://forem.com/yemmyoye/how-to-capture-the-image-of-a-virtual-machine-4kbe</guid>
      <description>&lt;p&gt;Hi! I'm here again with some little tips on capturing the Image of a virtual machine. You may wonder, why do I need to do this? Well, it is a good idea to have something you can refer to or make use of in future in case you need to know something about your VM or use your virtual machine again from its fresh state it was when you created and deployed it.&lt;/p&gt;

&lt;p&gt;More importantly, when you created an image of a virtual machine, it can be used to create multiple VMs.&lt;br&gt;
In Azure, when the image of a virtual machine is captured, the virtual machine will be temporarily stopped. This to achieve consistency of the data and prevent encountering any problem while creating the image. This is crucial because capturing an image requires a point-in-time snapshot of the virtual machine's disk.&lt;br&gt;&lt;br&gt;
Azure Compute Gallery is an Azure service used for storing images of VMs captured. From the gallery you can share your images and you can replicate them to multiple regions. &lt;br&gt;
Yes, that's the gist.&lt;/p&gt;

&lt;p&gt;In my earlier post, &lt;a href="https://dev.to/yemmyoye/adding-data-disk-to-a-virtual-machine-257c"&gt;Adding Data Disk to a Virtual Machine&lt;/a&gt; I created a virtual machine, connected to it, installed a web server role and added a data disk. You can click on the link to see how this was done.&lt;/p&gt;

&lt;p&gt;Now let's go through some simple steps to capture the image of a virtual machine. I want to capture the image of the Virtual machine &lt;strong&gt;Abiksvm&lt;/strong&gt; created in the post referred to above.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 1&lt;/strong&gt;&lt;br&gt;
Go to Azure Portal and click on the virtual machine to be captured&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnarrhpls1oascn04adnr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnarrhpls1oascn04adnr.png" alt=" " width="800" height="426"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Ascertain the Status of the virtual machine that it is running&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwwcfzwcc6kdjaj75d2rk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwwcfzwcc6kdjaj75d2rk.png" alt=" " width="800" height="426"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 2&lt;/strong&gt;&lt;br&gt;
Go back to the Azure portal home page and select Azure Compute Gallery&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxpyrm84ug3icjp13a9f3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxpyrm84ug3icjp13a9f3.png" alt=" " width="800" height="426"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Click on 'Create'&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5p3zk5u0qlktqob13rzg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5p3zk5u0qlktqob13rzg.png" alt=" " width="800" height="426"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I will complete the Project details and Instance details as follows:&lt;br&gt;
Subscription: Azure Pass Sponsorship&lt;br&gt;
Resource group: UniRg&lt;br&gt;
Gallery name: Abiksgallery&lt;br&gt;
Region: East US&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyciieyxmhfxpjndmra5a.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyciieyxmhfxpjndmra5a.png" alt=" " width="800" height="426"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Click on Review and Create&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5szkplpx7inm565384f7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5szkplpx7inm565384f7.png" alt=" " width="800" height="426"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Click on Create&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyxzykjw8atjz4rd20kde.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyxzykjw8atjz4rd20kde.png" alt=" " width="800" height="426"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fb57tdulrvox1fpyxjdkh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fb57tdulrvox1fpyxjdkh.png" alt=" " width="800" height="426"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Go to Resource&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F83t829klja8ouyz8gasl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F83t829klja8ouyz8gasl.png" alt=" " width="800" height="426"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The Compute Gallery for storing the VM image we want to capture has been created.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 3&lt;/strong&gt;&lt;br&gt;
Lets go back to the virtual machine we want to capture&lt;br&gt;
Click on Capture&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpr9551jhnqkv8f7csgl9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpr9551jhnqkv8f7csgl9.png" alt=" " width="800" height="426"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fakx4vrcpukyvn8johd29.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fakx4vrcpukyvn8johd29.png" alt=" " width="800" height="426"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Select the Compute Gallery already created, &lt;strong&gt;Abiksgallery&lt;/strong&gt;&lt;br&gt;
And name the VM Image definition. I will name is &lt;strong&gt;Abiksimage&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxwxuke1bxjob5v6z9ld6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxwxuke1bxjob5v6z9ld6.png" alt=" " width="800" height="426"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Input the Version number &lt;strong&gt;0.0.1&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9zxz52lfmnm0ui0qovhn.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9zxz52lfmnm0ui0qovhn.png" alt=" " width="800" height="426"&gt;&lt;/a&gt;&lt;br&gt;
The Default replica count is 2.I will leave it at 2.You can input any number you desired.&lt;br&gt;
I will select the two regions where I want to replicate the image captured: &lt;strong&gt;West US 2 and UK South&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1zfwnw44snr4sfhpu232.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1zfwnw44snr4sfhpu232.png" alt=" " width="800" height="426"&gt;&lt;/a&gt;&lt;br&gt;
Click on Review and Create&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqhylr2y1gqfiqhepucif.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqhylr2y1gqfiqhepucif.png" alt=" " width="800" height="426"&gt;&lt;/a&gt;&lt;br&gt;
Click on Create&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F76g003t7a6ouy8dx33ca.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F76g003t7a6ouy8dx33ca.png" alt=" " width="800" height="426"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;When you click on 'Create', the VM has to be stopped before the snapshot will be taken as seen in the picture above.&lt;/p&gt;

&lt;p&gt;Then, the Virtual machine will also be generalised. Generalizing is a process that removes machine and user specific information from the VM. This also has to take place before the image of the VM is taken.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftgzjt823w7m17nhw584n.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftgzjt823w7m17nhw584n.png" alt=" " width="800" height="426"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fc7phcbv7mmlllurvsazb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fc7phcbv7mmlllurvsazb.png" alt=" " width="800" height="426"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;When the deployment is complete, that means that the image has been taken. Lets click on Go to Resource and see for ourselves.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpo9ffy6vpnnm2rofhb34.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpo9ffy6vpnnm2rofhb34.png" alt=" " width="800" height="426"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Also, go to the Portal's home page and Click on the gallery, Abiksgallery&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fayy7jfgdxrgdvsjjoefa.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fayy7jfgdxrgdvsjjoefa.png" alt=" " width="800" height="426"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Viola! The image has been successfully captured and stored in the gallery.&lt;/p&gt;

&lt;p&gt;Simple. Not so?&lt;/p&gt;

&lt;p&gt;What is your view about this? Please leave your comments below&lt;/p&gt;

</description>
      <category>capture</category>
      <category>capturetheimage</category>
      <category>virtualmachine</category>
      <category>image</category>
    </item>
    <item>
      <title>Load Balancer and Virtual Machine Scale set</title>
      <dc:creator>Yemisi Oyesainu</dc:creator>
      <pubDate>Fri, 30 Jun 2023 18:25:38 +0000</pubDate>
      <link>https://forem.com/yemmyoye/load-balancer-and-virtual-machine-scale-set-485f</link>
      <guid>https://forem.com/yemmyoye/load-balancer-and-virtual-machine-scale-set-485f</guid>
      <description>&lt;p&gt;Load balancers and Virtual Machine Scale sets are different tools or services, but both are excellent infrastructure for achieving scalability and high availability of applications in Cloud environment.&lt;/p&gt;

&lt;p&gt;Before we embark on highlighting how the two works, let's look at what each of them really are.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Load Balancer&lt;/strong&gt; is a networking component or service that distributes incoming network traffic across multiple backend servers, virtual machines, or other resources. As the name implies, it balances workload across these resources. It can be implemented as software or hardware appliances or as cloud-based services provided by cloud platforms.&lt;br&gt;
Its main features are &lt;br&gt;
(i)traffic distribution&lt;br&gt;
(ii)resources health monitoring&lt;br&gt;
(iii)session persistence&lt;br&gt;
(iv) SSL termination&lt;/p&gt;

&lt;p&gt;There are different types of Load balancers classified based on specific needs and requirements. They are&lt;br&gt;
&lt;u&gt;(i)Local/Network Load Balancer or Transport Layer Load Balancer: &lt;/u&gt;This operates at the network layer (Layer 4) of the OSI model distributing workload based on IP addresses and port numbers. They are often hardware appliances or software solutions specifically designed for local or on-premises network environments.&lt;br&gt;
&lt;u&gt;(ii)Application Load Balancer (ALB) or Application Layer Load Balancer:&lt;/u&gt;It runs at the application layer (Layer 7) of the OSI model making the load balancing decisions based on information within the application layer protocols, such as HTTP headers, URLs, or cookies. ALBs are commonly used for HTTP(S) traffic and provide advanced features like content-based routing, SSL termination, and session persistence. &lt;br&gt;
&lt;u&gt;(iii)Global Load Balancer:&lt;/u&gt; distributes traffic across multiple data centers or regions, allowing load balancing on a global scale. It directs requests to the nearest or least loaded data center, reducing latency and improving performance. Generally, it is used for multi-region architectures to achieve high availability and global traffic optimization. Examples of GLB architectures are DNS hosting solutions, such as Infoblox and CloudFlare; DNS service of a major public cloud providers like AWS Route53, Azure Traffic Manager.&lt;br&gt;
&lt;u&gt;(iv)Software Load Balancer:&lt;/u&gt; These are implemented in software and run on standard servers or virtual machines. They provide load balancing functionality without the need for specialized hardware appliances. Software load balancers are flexible and scalable, often used in cloud environments or virtualized infrastructures.&lt;br&gt;
&lt;u&gt;(v)Reverse Proxy Load Balancer:&lt;/u&gt; This is located between clients and backend servers, acting as a proxy for incoming requests. It receives the client requests, performs load balancing, and forwards the requests to the appropriate backend server. They are often use in handling incoming web traffic, providing SSL termination, and offering advanced caching or content delivery capabilities.&lt;br&gt;
&lt;u&gt;(vi)DNS Load Balancer:&lt;/u&gt; This distributes traffic by leveraging the DNS (Domain Name System) to resolve domain names to multiple IP addresses. It can direct clients to different IP addresses based on factors like geographic location or server health. DNS load balancing is an effective approach for balancing traffic across multiple resources or locations.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Virtual Machine Scale Set (VMSS)&lt;/strong&gt; is a tool or service provided by cloud computing platforms, such as Microsoft Azure, that enables the management of a group of identical virtual machines as a collective unit. &lt;br&gt;
Other important features and benefits of VMSS includes &lt;br&gt;
(i)It makes deployment and management of multiple virtual machines easy by automatically creating, scaling, and distributing them based on predefined policies.&lt;br&gt;
(ii)In VMSS, scaling rules and conditions are defined to automatically add or remove virtual machine instances based on demand. Adding more VM Instances is referred to as scaling out while reducing number of VM Instances is known as scaling in&lt;br&gt;
(iii) It is used to update and maintain the virtual machines within the set, and this include rolling upgrades and fault domain support.&lt;/p&gt;

&lt;p&gt;You can have more control over the way the scale set manages virtual machine instances by using the orchestration modes. When creating VMSS, the orchestration mode is defined and this can not be modified after the deployment of the scale set. &lt;br&gt;
There are two main types of orchestration modes:&lt;/p&gt;

&lt;p&gt;&lt;u&gt;(i)Scale sets with Uniform orchestration:&lt;/u&gt; It is optimized for large-scale stateless workloads with identical instances.&lt;br&gt;
It uses a virtual machine template to scale up to desired capacity. It also uses identical VM instances though it has some ability to manage or customize individual virtual machine instances. Individual Uniform VM instances are exposed via the Virtual Machine Scale Set VM API commands. When it is configured with less than 100 instances, it provides fault domain high availability. It supports a full range of scale set management and orchestration, including metrics-based autoscaling, instance protection, and automatic OS upgrades.&lt;/p&gt;

&lt;p&gt;&lt;u&gt;(ii)Scale sets with Flexible orchestration:&lt;/u&gt; This achieves high availability with identical or multiple virtual machine types. Up to 1000 VMs can be provisioned in the orchestration mode. These are spread across fault domains in a region or within an Availability Zone making scaling out easily achievable. This orchestration mode works with all sizes of virtual machines.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How does Load balancer and Virtual Machine Scale set work together?&lt;/strong&gt;&lt;br&gt;
A load balancer receives incoming network traffic from clients. It then distributes the traffic across the virtual machines within a Virtual machine scale set. The workload is evenly distributed preventing any single virtual machine from being overwhelmed.&lt;/p&gt;

&lt;p&gt;When demand for your application increases, a VMSS can automatically scale out by adding more virtual machine instances to handle the increased load. The load balancer ensures that the incoming traffic is distributed across all the available instances, enabling horizontal scaling and providing additional capacity.&lt;/p&gt;

&lt;p&gt;If for any reason a virtual machine within the scale set becomes unavailable or unhealthy, the load balancer will redirect the workload meant for that Virtual machine to the remaining healthy instances, ensuring uninterrupted service enhancing applications high availability.&lt;/p&gt;

&lt;p&gt;Load balancers performs regular health checks of each virtual machine instance within a VMSS and route traffic only to the healthy instances. If a virtual machine becomes unhealthy, the load balancer can automatically stop sending traffic to it until it recovers.&lt;/p&gt;

&lt;p&gt;As I mentioned at the outset, you can see how Load balancers and Virtual machine scale sets work together to achieve scalability, high availability, and efficient traffic distribution for applications deployed in a cloud environment.&lt;/p&gt;

&lt;p&gt;Let's proceed to Azure Portal to create a Load balancer and Virtual Machine Scale Set&lt;/p&gt;

&lt;p&gt;(1)Log in to Azure Portal and type Virtual machine scale sets into the search bar&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyn3ndct8ynvsjcvjbicp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyn3ndct8ynvsjcvjbicp.png" alt=" " width="800" height="426"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffky1al72ohq6foe9xal5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffky1al72ohq6foe9xal5.png" alt=" " width="800" height="426"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Click on 'Create'&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkaca0vpspni6wtimkgro.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkaca0vpspni6wtimkgro.png" alt=" " width="800" height="426"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Complete the Project details and Scale sets details &lt;br&gt;
My Subscription is &lt;strong&gt;Azure Pass Sponsorship&lt;/strong&gt; and my Resource group is &lt;strong&gt;UniRg&lt;/strong&gt;.I will name the scale sets &lt;strong&gt;Abbyvmss&lt;/strong&gt; and choose &lt;strong&gt;East US&lt;/strong&gt; as the Region &lt;/p&gt;

&lt;p&gt;I will leave Orchestration at default and choose the image as Windows Server 2019 under the Instance details&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8iqqe18eomcato58vycj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8iqqe18eomcato58vycj.png" alt=" " width="800" height="426"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Complete details of the Administrator account.&lt;br&gt;
My username is &lt;u&gt;Azureuser&lt;/u&gt; and password is &lt;u&gt;Password123*&lt;/u&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2i17do7h9kii81pzbxfv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2i17do7h9kii81pzbxfv.png" alt=" " width="800" height="426"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;(2)To configure Load balancer, click on 'Networking'&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F861plvtrd2i1fuwonk85.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F861plvtrd2i1fuwonk85.png" alt=" " width="800" height="426"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Under 'Networking' click on &lt;strong&gt;Azure load balancer&lt;/strong&gt;&lt;br&gt;
Next click on create Load balancer. I will name it &lt;strong&gt;balancer1&lt;/strong&gt;&lt;br&gt;
Then click 'Create'&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9n6y2iz6ipi41ac8dnzf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9n6y2iz6ipi41ac8dnzf.png" alt=" " width="800" height="426"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;To allow traffic from the Load balancer, we have to edit the Port configuration of the Network interface&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1n0r5iljtuk4at89qpbr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1n0r5iljtuk4at89qpbr.png" alt=" " width="800" height="426"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Click on the Edit button on the left side of the V-net&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2oefms6owmrhvm0jt2oh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2oefms6owmrhvm0jt2oh.png" alt=" " width="800" height="426"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Click on 'Allow selected ports' under Public Inbound Port&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4c8hbvtjhrcrgeqhljzv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4c8hbvtjhrcrgeqhljzv.png" alt=" " width="800" height="426"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Select HTTP(80), RDP (3389) and Click OK&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5uo7o1xclkuala6glu93.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5uo7o1xclkuala6glu93.png" alt=" " width="800" height="426"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;(3)Go to Scaling&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjt9rph86wpebw98u37iy.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjt9rph86wpebw98u37iy.png" alt=" " width="800" height="426"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I will leave the Initial Instance Count at the default of 2 and Scaling Policy at Manual&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fk06pduxq0jmsh8zbdl2v.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fk06pduxq0jmsh8zbdl2v.png" alt=" " width="800" height="426"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;(4)Click on 'Health' and enable application health monitoring&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Faub7t41w1i8to8y2tf0e.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Faub7t41w1i8to8y2tf0e.png" alt=" " width="800" height="426"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Click on Review and Create&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4bm2bynoox9gmb3pq1zw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4bm2bynoox9gmb3pq1zw.png" alt=" " width="800" height="426"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Click on Create and allow the deployment to complete&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxwet838augtrwoo4yx6r.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxwet838augtrwoo4yx6r.png" alt=" " width="800" height="426"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ff588nyod3js01yevso5a.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ff588nyod3js01yevso5a.png" alt=" " width="800" height="426"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;(5)Go to Resource&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcojpvf9da24fajovem1a.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcojpvf9da24fajovem1a.png" alt=" " width="800" height="426"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The Virtual machine scale set Abbyvmss has been created with load balancer and two virtual machine instances&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8wdultb07a1avnsz7ino.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8wdultb07a1avnsz7ino.png" alt=" " width="800" height="426"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqkr5wxbvpdk06g36wz6l.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqkr5wxbvpdk06g36wz6l.png" alt=" " width="800" height="426"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The two VM Instances are running.&lt;/p&gt;

&lt;p&gt;Trust you find this useful.Please proceed to the comment section and let's have your feedback&lt;/p&gt;

</description>
      <category>loadbalancer</category>
      <category>virtualmachinescaleset</category>
      <category>distributetraffic</category>
      <category>vmss</category>
    </item>
    <item>
      <title>Adding Data Disk to a Virtual Machine</title>
      <dc:creator>Yemisi Oyesainu</dc:creator>
      <pubDate>Thu, 29 Jun 2023 12:09:29 +0000</pubDate>
      <link>https://forem.com/yemmyoye/adding-data-disk-to-a-virtual-machine-257c</link>
      <guid>https://forem.com/yemmyoye/adding-data-disk-to-a-virtual-machine-257c</guid>
      <description>&lt;p&gt;Creating and deploying Virtual Machines is an essential part of Cloud Computing and as such, it has become one of the major Cloud Administrators' role. However, when Virtual machines are created newly, they only have Operating System Disk. To be able to store application data and any other data or information on the Virtual machine, data disk needs to be added.&lt;/p&gt;

&lt;p&gt;Data disks attached to Virtual machines are managed disk. This is because they are created and managed by Cloud Service Providers(CSP). Managed Disks have several benefits compared to unmanaged disks.&lt;/p&gt;

&lt;p&gt;First, the management of the disk is simple because you don't have to bother yourself about managing storage accounts, blob containers, or dealing with manual scaling and configuration. The CSP takes care of all these.&lt;/p&gt;

&lt;p&gt;Second, reliability is enhanced. Managed disks provide built-in redundancy and high availability. Data are replicated  within the same region, ensuring that your data remains intact even if an individual disk or underlying hardware fails. These type of disk provide a reliable and convenient solution for data recovery, ensuring that your data remains protected and recoverable in case of any unforeseen occurrence.&lt;/p&gt;

&lt;p&gt;Thirdly, managed disks offer improved performance and low latency by leveraging on the cloud service provider's infrastructure and storage optimization techniques. There is also different disk types with varying performance characteristics, such as Standard HDD, Standard SSD, and Premium SSD, based on your workload requirements, that you can choose from.&lt;/p&gt;

&lt;p&gt;Finally, managed disk makes scalability and platform integration easy.&lt;/p&gt;

&lt;p&gt;Now we will set out to create a Windows Virtual machine, connect to it, install a web server on it, add a data disk and initialise it for use.&lt;br&gt;
Come on and let's do these together.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 1&lt;/strong&gt;&lt;br&gt;
I will start by logging in to Azure Portal and select Virtual Machine&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvlpf390u2fhi5f35vs0w.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvlpf390u2fhi5f35vs0w.png" alt=" " width="800" height="426"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0llzsocb9jibrzm7lcqn.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0llzsocb9jibrzm7lcqn.png" alt=" " width="800" height="426"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 2&lt;/strong&gt;&lt;br&gt;
Click on 'Create'&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Femixjxu71glxjd5jnk8z.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Femixjxu71glxjd5jnk8z.png" alt=" " width="800" height="426"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Complete the Project details and Instance details&lt;br&gt;
I will choose to complete them as follows:&lt;/p&gt;

&lt;p&gt;Subscription : Azure Pass Sponsorship&lt;br&gt;
Resource Group: UniRg&lt;br&gt;
Virtual Machine Name: Abiksvm&lt;br&gt;
Region: East US&lt;br&gt;
Availability option: Availability zone&lt;br&gt;
Image: Windows Server 2019 Datacenter - x64 Gen 2&lt;br&gt;
Leave other parameters at default&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjz3k0zd6subhr9v0k6ei.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjz3k0zd6subhr9v0k6ei.png" alt=" " width="800" height="426"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fn85olf8dpvg5h4br4b0u.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fn85olf8dpvg5h4br4b0u.png" alt=" " width="800" height="426"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 3&lt;/strong&gt;&lt;br&gt;
Complete the details for Administrator account&lt;br&gt;
I will choose my Username as &lt;strong&gt;Azureuser&lt;/strong&gt; and password is &lt;strong&gt;Password123&lt;/strong&gt;*(Note that you can choose any username and password you desire)&lt;/p&gt;

&lt;p&gt;Under Select Inbound ports, click on 'HTTP (80)' and 'RDP (3389)'&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fx2tdb2qdlzpx2mh3ejfm.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fx2tdb2qdlzpx2mh3ejfm.png" alt=" " width="800" height="426"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Folaloiyibu19z1ia3vw3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Folaloiyibu19z1ia3vw3.png" alt=" " width="800" height="426"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Go to Monitoring and disable Diagnostics&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F97bizkube1orgvbkkbxh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F97bizkube1orgvbkkbxh.png" alt=" " width="800" height="426"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Click on Review and Create&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fq14i86j4i24oehbq2iuk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fq14i86j4i24oehbq2iuk.png" alt=" " width="800" height="426"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Then Click on Create and wait for the deployment to complete&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fc77id4j3bydbebixin71.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fc77id4j3bydbebixin71.png" alt=" " width="800" height="426"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhibu5vceav0x5yqa1yol.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhibu5vceav0x5yqa1yol.png" alt=" " width="800" height="426"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Click on 'Go to Resource'&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyrivjlazyzlhptdtg86n.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyrivjlazyzlhptdtg86n.png" alt=" " width="800" height="426"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 4&lt;/strong&gt;&lt;br&gt;
Connect to the Virtual machine &lt;br&gt;
Click on Connect&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0ko8hynok6letyep59j9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0ko8hynok6letyep59j9.png" alt=" " width="800" height="426"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Click on 'Download RDP File'&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9c1432behk27plw5fegh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9c1432behk27plw5fegh.png" alt=" " width="800" height="426"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Open the RDP File downloaded, it will bring up a dialog box for Remote Desktop Connection&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgy7desm5k7wbntwen73d.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgy7desm5k7wbntwen73d.png" alt=" " width="800" height="426"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Click Connect&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4gzzstiwry2tgegwh63s.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4gzzstiwry2tgegwh63s.png" alt=" " width="800" height="426"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Enter the Username and Password created under the Administrator Account in Step (3) above to log in to the Virtual machine &lt;strong&gt;Abiksvm&lt;/strong&gt; and click OK&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fudritu1ab9lcg6nwe951.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fudritu1ab9lcg6nwe951.png" alt=" " width="800" height="426"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwe2tg4t8pn6u5ifw71pu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwe2tg4t8pn6u5ifw71pu.png" alt=" " width="800" height="426"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Click Yes&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcy36pird7yyji92dojs4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcy36pird7yyji92dojs4.png" alt=" " width="774" height="489"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We have connected to the Virtual Machine&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 5&lt;/strong&gt;&lt;br&gt;
Install a Web Server role on the Virtual Machine&lt;br&gt;
Type PowerShell into the Search window of the Virtual Machine&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fd9e2x11lbcjr0zdlzdgg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fd9e2x11lbcjr0zdlzdgg.png" alt=" " width="800" height="530"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Right click on the Windows PowerShell and then click on Run as Administrator&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ff7who4erwnu1ljpaauyy.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ff7who4erwnu1ljpaauyy.png" alt=" " width="800" height="351"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;When the Terminal is ready, type in this command:&lt;br&gt;
&lt;strong&gt;Install-WindowsFeature Web-Server&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmcuf73jidqfsrpdhovk1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmcuf73jidqfsrpdhovk1.png" alt=" " width="773" height="438"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Then press Enter on your keyboard and wait for the Installation to complete&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2v4effozayk75bffymlh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2v4effozayk75bffymlh.png" alt=" " width="700" height="470"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbvkjcg4sbrmwr8ybj65v.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbvkjcg4sbrmwr8ybj65v.png" alt=" " width="720" height="525"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The Web Server role has been installed. Lets check this out.&lt;/p&gt;

&lt;p&gt;Go back to the Overview page of the Virtual machine Abiksvm on the Azure portal and copy the IP Address of the VM&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2nnq28xq42j4msi2t9m2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2nnq28xq42j4msi2t9m2.png" alt=" " width="800" height="426"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Paste the IP Address in your browser and press Enter on your keyboard&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7p71r1ekuisdez9xl0no.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7p71r1ekuisdez9xl0no.png" alt=" " width="800" height="426"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F51alxov9sxvqoirf9u2p.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F51alxov9sxvqoirf9u2p.png" alt=" " width="800" height="426"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;That's it! A Windows Server has been installed.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 6&lt;/strong&gt;&lt;br&gt;
Add Data Disk to Virtual Machine Abiksvm&lt;br&gt;
On the VM, Click on 'Disks' and then, click on 'Create and attach a new disk'&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvhexi619mtztcn75nicr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvhexi619mtztcn75nicr.png" alt=" " width="800" height="426"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Give the disk a name. I will name it &lt;strong&gt;datadisk&lt;/strong&gt; and change the size to 10GB&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffcmabn1vtwh4aj3l7axy.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffcmabn1vtwh4aj3l7axy.png" alt=" " width="800" height="426"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Click on 'Save'&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fo93fu7l4vz7g3vb9w31p.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fo93fu7l4vz7g3vb9w31p.png" alt=" " width="800" height="426"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fb456h01tmvxck0n8m9gq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fb456h01tmvxck0n8m9gq.png" alt=" " width="800" height="426"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The Data disk has been created&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 7&lt;/strong&gt;&lt;br&gt;
Initialise the Data disk&lt;br&gt;
Go back to the VM we connected to earlier and type 'disk management' in the search window&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzuwigup6rdkeoie5ru1t.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzuwigup6rdkeoie5ru1t.png" alt=" " width="714" height="508"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Click on 'Create and format hard disk partitions'&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcvtpgpwax8ojcv34waje.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcvtpgpwax8ojcv34waje.png" alt=" " width="800" height="445"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fat80dm6fsr1zeih174t1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fat80dm6fsr1zeih174t1.png" alt=" " width="800" height="435"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Click OK&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmmyuyefdluvp2kudwsg3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmmyuyefdluvp2kudwsg3.png" alt=" " width="800" height="439"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Scroll down to Disk 2 and Right click on 'New Simple Volume'&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbxst94zk24dm4cwh9cfd.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbxst94zk24dm4cwh9cfd.png" alt=" " width="800" height="441"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F55uwq7wrqd16xifqe8xm.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F55uwq7wrqd16xifqe8xm.png" alt=" " width="800" height="435"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Click Next&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fe6tybvgrvywoci197or1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fe6tybvgrvywoci197or1.png" alt=" " width="800" height="443"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Click Next&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fn2ayxp7e9vuny4vvt0fo.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fn2ayxp7e9vuny4vvt0fo.png" alt=" " width="800" height="439"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Click Next&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fp5g08iudtjl8v065mqef.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fp5g08iudtjl8v065mqef.png" alt=" " width="800" height="440"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Give the Volume label a name and click next. I will give it the same name I used on Azure Portal, &lt;strong&gt;datadisk&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fy8oo8wwq2uru7t377pzy.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fy8oo8wwq2uru7t377pzy.png" alt=" " width="800" height="446"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fh0qphahegvd9y5tgnb0f.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fh0qphahegvd9y5tgnb0f.png" alt=" " width="800" height="439"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Click on Finish&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fem760s6oop35isckypap.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fem760s6oop35isckypap.png" alt=" " width="800" height="445"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The Data disk has been successfully initialised and ready for use.&lt;/p&gt;

&lt;p&gt;Trust you find this useful. Please let's have your comments.&lt;/p&gt;

</description>
      <category>datadisk</category>
      <category>manageddisk</category>
      <category>virtualmachine</category>
      <category>cloudadministratorrole</category>
    </item>
    <item>
      <title>Organise your Resources with Tags</title>
      <dc:creator>Yemisi Oyesainu</dc:creator>
      <pubDate>Tue, 27 Jun 2023 16:52:23 +0000</pubDate>
      <link>https://forem.com/yemmyoye/organise-your-resources-with-tags-5eli</link>
      <guid>https://forem.com/yemmyoye/organise-your-resources-with-tags-5eli</guid>
      <description>&lt;p&gt;Classifying your resources in the cloud environment is very essential. This will enable you to identify your resources based on the setup that obtains in your organisation.&lt;/p&gt;

&lt;p&gt;Tags are used to identify resources in the cloud. They are descriptive metadata that helps you to logically arrange your resources into a taxonomy. It consists of key-value pair. That is,  a tag is a label made up of a key and an optional value.&lt;br&gt;
It can be applied to Azure resources, resource groups, and subscriptions.&lt;/p&gt;

&lt;p&gt;It helps in identifying cost of different business processes in the cloud. Organisations can use tags to identify billings associated with each departments cloud resources usage. For example, The employees' names and their departments may be used as a key-value pair:&lt;/p&gt;

&lt;p&gt;&lt;u&gt;Name of Employee&lt;/u&gt;  &lt;u&gt;Department&lt;/u&gt;   &lt;u&gt;Tag(key:value)&lt;/u&gt;&lt;br&gt;
Gladys                     Procurement         Gladys:Procurement&lt;br&gt;
Richard                    Finance             Richard:Finance&lt;br&gt;
Catherine                  Sales               Catherine: Sales&lt;/p&gt;

&lt;p&gt;Other parameters can be used to create a key:value pair depending on the Company's setup and mode of operations.&lt;/p&gt;

&lt;p&gt;Next, we will see how Resource tagging can be implemented in Microsoft Azure. The following steps will guide you&lt;/p&gt;

&lt;p&gt;&lt;u&gt;Step 1&lt;/u&gt;&lt;br&gt;
Log in to azure Portal&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftazav591igjp0palr9mt.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftazav591igjp0palr9mt.png" alt=" " width="800" height="409"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;u&gt;Step 2&lt;/u&gt;&lt;br&gt;
Type 'Policy' into the Search bar and click on it&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fm0t1hcp5not34uekq294.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fm0t1hcp5not34uekq294.png" alt=" " width="800" height="420"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffrfzho80jwdvwqp93o82.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffrfzho80jwdvwqp93o82.png" alt=" " width="800" height="405"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;u&gt;Step 3&lt;/u&gt;&lt;br&gt;
Click on 'Assignments' to Assign a Policy&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8evxzxnadpgjqf8chz8g.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8evxzxnadpgjqf8chz8g.png" alt=" " width="800" height="405"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Then Click on 'Assign Policy'&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1xkcnny1pp6j3x8nvvqw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1xkcnny1pp6j3x8nvvqw.png" alt=" " width="800" height="426"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhy0ij62s1k2cfnrw8j2p.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhy0ij62s1k2cfnrw8j2p.png" alt=" " width="800" height="429"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Click on the small box in front of Policy Definitions and wait for it to come up&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8xtyyzwqs2ck2fj6uxhw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8xtyyzwqs2ck2fj6uxhw.png" alt=" " width="800" height="429"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fngtdltv8fj71njdfxgn9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fngtdltv8fj71njdfxgn9.png" alt=" " width="800" height="426"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Type Tag in the Search box of the Available Definitions and Select 'Require a tag and its value on Resources'&lt;br&gt;
Then Click on 'Add'&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcuemhyp7o7tn2jxggog7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcuemhyp7o7tn2jxggog7.png" alt=" " width="800" height="426"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fo9pb64qzq0lf6kd15c49.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fo9pb64qzq0lf6kd15c49.png" alt=" " width="800" height="426"&gt;&lt;/a&gt;&lt;br&gt;
Go to Parameters and give the Tag a name and the Tag value too&lt;br&gt;
The name will be Company and the Value will be Eunicloud&lt;br&gt;
Therefore, the Key:Value pair is &lt;strong&gt;Company:Eunicloud&lt;/strong&gt;&lt;br&gt;
Please note that tag values are case sensitive.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F18w5jebhwjja0pe0kw4w.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F18w5jebhwjja0pe0kw4w.png" alt=" " width="800" height="426"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Click on 'Review and Create'&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F92ps3x19piajj92lqsid.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F92ps3x19piajj92lqsid.png" alt=" " width="800" height="426"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Then, Click on 'Create'&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhynu258wxa2o9njexri3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhynu258wxa2o9njexri3.png" alt=" " width="800" height="426"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;A policy assignment was created to implement resource tagging.&lt;/p&gt;

&lt;p&gt;&lt;u&gt;Step 4&lt;/u&gt;&lt;br&gt;
Go back to Azure portal Home page and click on Storage account&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3zgj3dxexn550xjcf8km.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3zgj3dxexn550xjcf8km.png" alt=" " width="800" height="426"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fd9ucn7xh2fojk5e8fy06.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fd9ucn7xh2fojk5e8fy06.png" alt=" " width="800" height="426"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Click on 'Create'&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fggfo29cm9dm8cwrs0uqr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fggfo29cm9dm8cwrs0uqr.png" alt=" " width="800" height="426"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Complete the Project details and Instance details&lt;br&gt;
I will select my subscription, &lt;strong&gt;Azure Pass Sponsorship&lt;/strong&gt; and Resource group is &lt;strong&gt;UniRg&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxyh1im3hxz4mxnb4vptq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxyh1im3hxz4mxnb4vptq.png" alt=" " width="800" height="426"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The name of my Storage account is &lt;strong&gt;yemmystore&lt;/strong&gt; (this is a random name. You can give yours any name of your choice) and I will select &lt;strong&gt;East US&lt;/strong&gt; for the Region&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fuofdi81xkau7m2eviw3h.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fuofdi81xkau7m2eviw3h.png" alt=" " width="800" height="426"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Click on 'Review'&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fx00huiesxq9aengst17i.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fx00huiesxq9aengst17i.png" alt=" " width="800" height="426"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The Validation of the Storage account failed and could not be created. This is because of the Policy that is already assigned, requires that any resource to be created should be tagged &lt;strong&gt;Company:Eunicloud&lt;/strong&gt;&lt;br&gt;
Therefore, we have to assign the tag to yemmystore so that it can be created&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsijlslurlaxr2zyz6cy2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsijlslurlaxr2zyz6cy2.png" alt=" " width="800" height="426"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Then Click on 'Review'&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fngslpdzonped4jum1c6w.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fngslpdzonped4jum1c6w.png" alt=" " width="800" height="426"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Then, Click on 'Create' and wait for the deployment to complete&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fogdl713tz0epm3pot4ai.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fogdl713tz0epm3pot4ai.png" alt=" " width="800" height="426"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvgjmznr1d3kkle5e43gz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvgjmznr1d3kkle5e43gz.png" alt=" " width="800" height="426"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The Storage Account &lt;strong&gt;yemmystore&lt;/strong&gt;    has been created with the tag &lt;br&gt;
     &lt;strong&gt;Company:Eunicloud&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvk0jy2tbsg95x2qo7ljc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvk0jy2tbsg95x2qo7ljc.png" alt=" " width="800" height="426"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;u&gt;Step 5&lt;/u&gt;&lt;br&gt;
Go back to the Home page of the Azure portal and select Policy&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fga0767p67r316f9muw7l.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fga0767p67r316f9muw7l.png" alt=" " width="800" height="426"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Click on 'Assignments'&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fl9dy4ydyx823d15e7kjg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fl9dy4ydyx823d15e7kjg.png" alt=" " width="800" height="426"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Then Click on the Assignment name 'Require a tag and its value on Resources'&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdy3nce3pzigfm0buppcn.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdy3nce3pzigfm0buppcn.png" alt=" " width="800" height="426"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Click on 'Delete Assignment'&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fd1e12rlptuxnkrjmi266.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fd1e12rlptuxnkrjmi266.png" alt=" " width="800" height="426"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Select Yes in the Dialog box&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2pvlg49na9lbpzavs8t2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2pvlg49na9lbpzavs8t2.png" alt=" " width="800" height="426"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The Policy assignment has been successfully deleted&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F37vag82v68ebjyokx73q.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F37vag82v68ebjyokx73q.png" alt=" " width="800" height="426"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fv3bsg6p3bgioiplil734.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fv3bsg6p3bgioiplil734.png" alt=" " width="800" height="426"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I hope this is useful. When next you are creating your resources, try it out. Your workload will be well organised.&lt;/p&gt;

&lt;p&gt;Comments are welcomed.&lt;/p&gt;

</description>
      <category>resourcetags</category>
      <category>organiseresources</category>
      <category>tag</category>
      <category>keyvaluepair</category>
    </item>
    <item>
      <title>Migration to the Cloud-Estimate Cost savings with TCO Calculator</title>
      <dc:creator>Yemisi Oyesainu</dc:creator>
      <pubDate>Tue, 27 Jun 2023 11:54:08 +0000</pubDate>
      <link>https://forem.com/yemmyoye/migration-to-the-cloud-estimate-cost-savings-with-tco-calculator-409f</link>
      <guid>https://forem.com/yemmyoye/migration-to-the-cloud-estimate-cost-savings-with-tco-calculator-409f</guid>
      <description>&lt;p&gt;In my earlier blog post, &lt;a href="https://dev.to/yemmyoye/manage-the-cost-of-your-cloud-resources-3c9h"&gt;Manage the Cost of your Cloud Resources&lt;/a&gt;, I have discussed about Migration to the Cloud and its benefits. &lt;/p&gt;

&lt;p&gt;Here, we will look at how organisations can make informed decisions by estimating the cost that will be saved when they chose to migrate their business operations from on premise to the cloud environment. A very useful tool in this instance is &lt;strong&gt;Total Cost of Ownership Calculator (TCO)&lt;/strong&gt;.This calculator compares the cost of using the Infrastructure for your business workloads on premise with the cost of infrastructure needed to run the same workload in the cloud.&lt;/p&gt;

&lt;p&gt;Let's explore this with the following steps&lt;br&gt;
&lt;strong&gt;Step 1&lt;/strong&gt;&lt;br&gt;
Type 'Total Cost of Ownership Calculator' in your browser&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fywd3ubxxd6jtday2zdce.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fywd3ubxxd6jtday2zdce.png" alt=" " width="800" height="426"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Click on 'Total Cost of Ownership(TCO) Calculator|Microsoft Azure'&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgeqpx3g0xa5gml0dru8o.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgeqpx3g0xa5gml0dru8o.png" alt=" " width="800" height="426"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F52kndhdk2on4lg6fjfcd.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F52kndhdk2on4lg6fjfcd.png" alt=" " width="800" height="426"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 2&lt;/strong&gt;&lt;br&gt;
The first step on the Calculator is to define your workload. Here you will enter the details of your on premise workloads&lt;br&gt;
(a) For Servers, Click on &lt;strong&gt;Add Server Workload&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9jjeabf5k5hmw8f1yuqo.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9jjeabf5k5hmw8f1yuqo.png" alt=" " width="800" height="426"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Under Workload 1, I wiil select Windows operating system and leave other parameters at default&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0nf9cnu17879ycr85ekg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0nf9cnu17879ycr85ekg.png" alt=" " width="800" height="426"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Under Workload 2, I will select Web app under workload type and for operating system I will choose Linux.Other parameters will be left at default&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbhav6v9fgcjpsnue46ke.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbhav6v9fgcjpsnue46ke.png" alt=" " width="800" height="426"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;(b) For Databases, Click on &lt;strong&gt;Add Database&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4pjfrh5fvl947j5bt5vv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4pjfrh5fvl947j5bt5vv.png" alt=" " width="800" height="426"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Under Database 1 Source, I will select Microsoft SQL Server, and OS will be Windows. Others will be at default&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftr1lwav99blrejex8kpf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftr1lwav99blrejex8kpf.png" alt=" " width="800" height="426"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Under Database 2 Source, I will select MySQL Server, and OS will be Linux. Others will be at default&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fejif8zq0lh8m1g3q0kg7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fejif8zq0lh8m1g3q0kg7.png" alt=" " width="800" height="426"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;(c)For Storage, &lt;strong&gt;Click on Add Storage&lt;/strong&gt; and leave the parameters at default&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmtfdulce8nvkw0var3k3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmtfdulce8nvkw0var3k3.png" alt=" " width="800" height="426"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1fyi0mc65qfgoth2xzx6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1fyi0mc65qfgoth2xzx6.png" alt=" " width="800" height="426"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;(d) For Networking, I will select the Destination Region as North Europe&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F09cqpcajqvp543zlqfjc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F09cqpcajqvp543zlqfjc.png" alt=" " width="800" height="426"&gt;&lt;/a&gt;&lt;br&gt;
 &lt;strong&gt;Step 3&lt;/strong&gt;&lt;br&gt;
Click Next&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnuvp3ih1jyb94v4yd53f.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnuvp3ih1jyb94v4yd53f.png" alt=" " width="800" height="387"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8qge82altebmpzptljk5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8qge82altebmpzptljk5.png" alt=" " width="800" height="402"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F649ptp5mao1imowi5d8s.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F649ptp5mao1imowi5d8s.png" alt=" " width="800" height="360"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ficvfyhoj8zxxpe17woo2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ficvfyhoj8zxxpe17woo2.png" alt=" " width="800" height="388"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fipz66crysdb8ovvlsj5k.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fipz66crysdb8ovvlsj5k.png" alt=" " width="800" height="381"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 4&lt;/strong&gt;&lt;br&gt;
I will leave the Assumptions at default and click on Next to view the Report which is the Comparison of on premise cost of infrastructure with Azure cost of infrastructure for the same workload&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2xnkkmsa352438pyv14t.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2xnkkmsa352438pyv14t.png" alt=" " width="800" height="426"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4uqwo5wqpei9cyoqv15v.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4uqwo5wqpei9cyoqv15v.png" alt=" " width="800" height="426"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9wxbawiy3mg4iwgjq2he.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9wxbawiy3mg4iwgjq2he.png" alt=" " width="800" height="426"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The Blue graph line indicate the On premise cost while the Green graph line shows the Azure cost for the same workload for a period of five years. There is a wide difference in the two costs. This difference is the cost saved by moving the organisation's workload to the cloud. It is indicated on the graph and this amount to &lt;strong&gt;$98,257&lt;/strong&gt; as shown on the top of the graph.&lt;/p&gt;

&lt;p&gt;The two pie charts below shows the total on premise cost and total azure cost for the period amounting to &lt;strong&gt;$117,590&lt;/strong&gt; and &lt;strong&gt;$19,333&lt;/strong&gt; respectively&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvi1hjmx9ry9c73w6vnv5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvi1hjmx9ry9c73w6vnv5.png" alt=" " width="800" height="426"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The graph also indicate the percentages of cost of each of the services used by the company while on premise and when migrated to the cloud on Azure&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5h8jxms0s6ze8srmpo8q.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5h8jxms0s6ze8srmpo8q.png" alt=" " width="800" height="426"&gt;&lt;/a&gt;&lt;br&gt;
It is really worthwhile to migrate to the cloud. For instance, some costs that are incurred on premise are not incurred at all in the cloud i.e. Cost of building, equipping &amp;amp; maintaining Datacenter and Networking which are cared for by the Cloud Service Provider while other cost such as Compute services is reduced from 80% on premise to 69% in the cloud.&lt;/p&gt;

&lt;p&gt;TCO is a very simple and easy to use tool.&lt;/p&gt;

&lt;p&gt;Is this helpful? Please leave your feedback in the comment section.&lt;/p&gt;

</description>
      <category>totalcostofownershipcalculator</category>
      <category>tco</category>
      <category>costsavings</category>
      <category>migrationtocloud</category>
    </item>
  </channel>
</rss>
