<?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>DEV Community: Chidera Enyelu</title>
    <description>The latest articles on DEV Community by Chidera Enyelu (@dera2024).</description>
    <link>https://dev.to/dera2024</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%2F1580990%2F89dfdc5f-507d-4e34-9b68-8f15d0fa1cec.jpeg</url>
      <title>DEV Community: Chidera Enyelu</title>
      <link>https://dev.to/dera2024</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/dera2024"/>
    <language>en</language>
    <item>
      <title>Deploying a Static Website with Docker and Nginx</title>
      <dc:creator>Chidera Enyelu</dc:creator>
      <pubDate>Wed, 07 May 2025 19:28:10 +0000</pubDate>
      <link>https://dev.to/dera2024/deploying-a-static-website-with-docker-and-nginx-518g</link>
      <guid>https://dev.to/dera2024/deploying-a-static-website-with-docker-and-nginx-518g</guid>
      <description>&lt;p&gt;If you're looking for a fast and lightweight way to serve a static website, Nginx and Docker make an unbeatable combination. In this post, I’ll walk you through how to Dockerize a basic HTML/CSS website using Nginx on an Alpine Linux base image.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Project Structure&lt;/strong&gt;&lt;br&gt;
Using the command below, clone the static app into your local machine. Here’s what your project folder might look like:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git clone https://github.com/techie-dera/ec2resume.git
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;EC2-Demo/&lt;br&gt;
│&lt;br&gt;
├── index.html&lt;br&gt;
├── style.css&lt;br&gt;
└── Dockerfile&lt;br&gt;
The index.html and style.css files are your actual static website content, and the Dockerfile is what we’ll use to package and serve the site.&lt;/p&gt;

&lt;p&gt;🐋 &lt;strong&gt;Dockerfile Breakdown&lt;/strong&gt;&lt;br&gt;
Here’s the Dockerfile we'll use:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;FROM nginx:alpine&lt;br&gt;
RUN rm -rf /usr/share/nginx/html/*&lt;br&gt;
COPY ./index.html /usr/share/nginx/html/&lt;br&gt;
COPY ./style.css /usr/share/nginx/html/&lt;br&gt;
EXPOSE 8080&lt;br&gt;
CMD ["nginx", "-g", "daemon off;"]&lt;/code&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%2Fragy04e4ig6cvjnitcjs.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fragy04e4ig6cvjnitcjs.jpeg" alt="Image description" width="800" height="526"&gt;&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;What This Does:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;FROM nginx:alpine: Uses a minimal Nginx image based on Alpine Linux.&lt;br&gt;
RUN rm -rf /usr/share/nginx/html/: Removes the default web page.&lt;br&gt;
COPY: Adds your index.html and style.css files to the Nginx web root.&lt;br&gt;
EXPOSE 8080: Makes the container’s HTTP port available to the host.&lt;br&gt;
CMD: Keeps Nginx running in the foreground.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Build the Docker Image&lt;/strong&gt;&lt;br&gt;
Run this command in the directory with your Dockerfile:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;docker build -t my-static-app .&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Run the Container&lt;/strong&gt;&lt;br&gt;
After building the image, launch it with:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;docker run -d -p 8080:80 --name static-web my-static-app&lt;/code&gt;&lt;br&gt;
Visit &lt;a href="http://localhost" rel="noopener noreferrer"&gt;http://localhost&lt;/a&gt; (or your server's IP address if hosted on EC2) to view your site live.&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%2F9wxzbmckbjpgb61hmf4r.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9wxzbmckbjpgb61hmf4r.png" alt="Image description" width="800" height="385"&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%2F46nxuyh3ersxq624dj8e.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F46nxuyh3ersxq624dj8e.png" alt="Image description" width="800" height="385"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why This Is Great&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Lightweight: Alpine + Nginx is fast and efficient.&lt;/li&gt;
&lt;li&gt;Portable: You can deploy the same container anywhere — EC2, ECS, or Kubernetes.&lt;/li&gt;
&lt;li&gt;Simple: No web servers to install manually or configure.&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>software</category>
      <category>docker</category>
      <category>containerapps</category>
      <category>devops</category>
    </item>
    <item>
      <title>Dockerize a Node.js Application for Efficient Deployment</title>
      <dc:creator>Chidera Enyelu</dc:creator>
      <pubDate>Wed, 07 May 2025 07:56:03 +0000</pubDate>
      <link>https://dev.to/dera2024/dockerize-a-nodejs-application-for-efficient-deployment-3lfa</link>
      <guid>https://dev.to/dera2024/dockerize-a-nodejs-application-for-efficient-deployment-3lfa</guid>
      <description>&lt;p&gt;As a DevOps engineer, containerizing applications is a crucial part of my workflow. Recently, I worked on dockerizing a simple Node.js front-end project, and I’d love to walk you through the process I followed from crafting the Dockerfile to building the image. Here is the command to the repository I cloned for this project, run it on the terminal of your directory/folder.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;$ git clone https://github.com/docker/welcome-to-docker&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Project Structure
Create a file name “dockerfile” on your folder/directory and here is a quick look at the project layout:&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;welcome-to-docker/&lt;br&gt;
│&lt;br&gt;
├── dockerfile&lt;br&gt;
├── package.json&lt;br&gt;
├── package-lock.json&lt;br&gt;
├── .dockerignore&lt;br&gt;
├── src/&lt;br&gt;
├── public/&lt;br&gt;
├── README.md&lt;br&gt;
└── ...&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;The app is a basic React project created with create-react-app, and I aimed to build and serve the static files using a lightweight Docker image.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;&lt;br&gt;
FROM node:20-alpine&lt;br&gt;
WORKDIR /app&lt;br&gt;
COPY package*.json ./&lt;br&gt;
COPY ./src ./src&lt;br&gt;
COPY ./public ./public&lt;br&gt;
RUN npm install&lt;br&gt;
EXPOSE 3000&lt;br&gt;
CMD ["serve", "-s", "build"]&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt; Choosing a Base Image
To keep the image small and efficient,I used node:20-alpine as the base image:&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;FROM node:20-alpine&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Alpine-based images are minimal and perfect for production environments.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Setting the Working Directory
I then defined /app as the working directory inside the container:&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;WORKDIR /app&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;This ensures all subsequent commands execute relative to this directory.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Copying Project Files
I copied the essential files required to install dependencies and build the project:&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;COPY package*.json ./&lt;br&gt;
 COPY ./src ./src&lt;br&gt;
 COPY ./public ./public&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;This step ensures that only necessary files are added to the Docker image, keeping it clean and efficient.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Installing Dependencies and Building the App
This was the key part of the Dockerfile. I configured npm for better reliability and installed the necessary packages before building the project:&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;RUN npm install&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;This installs the node modules will be installed into the node_modules directory inside our image.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Exposing the Application Port&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;EXPOSE 3000&lt;br&gt;
  CMD ["serve", "-s", "build"]&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;This sets the default command that runs on port 3000 when the container starts.&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%2Fea3taiv87r7xef0pz8xj.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fea3taiv87r7xef0pz8xj.jpeg" alt="Image description" width="800" height="500"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Building the Docker Image
Once the Dockerfile was ready, I ran the following command to build the image:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt; docker build -t my-react-app .
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This created a Docker image tagged my-react-app.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Running the Container
to serve the application, I used:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;docker run -p 3000:80. “Image name” serve -s build
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This spins up a container maps port 3000 on your host to port 3000 in the container.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Using Docker Desktop to manually run your container after build&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Step 1:     Launch Docker Desktop.&lt;br&gt;
Step 2: Navigate to the “Images” tab on the left 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%2Fe7crrnmsqup0hbv5hzzz.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fe7crrnmsqup0hbv5hzzz.jpeg" alt="Image description" width="800" height="500"&gt;&lt;/a&gt;&lt;br&gt;
Step 3: Run the Image&lt;br&gt;
    • Find your image (e.g., my-react-app) in the list.&lt;br&gt;
    • Click the “Run” button next to it.&lt;br&gt;
    • In the popup:&lt;br&gt;
    • Set a container name (optional).&lt;br&gt;
    • Set the port mapping — e.g., host port 5000 to container 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%2Fxqhla8kmdm2xmqjcw6z6.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxqhla8kmdm2xmqjcw6z6.jpeg" alt="Image description" width="800" height="500"&gt;&lt;/a&gt;&lt;br&gt;
    • Click Run.&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%2Fpdwkwj7mf1bvfkf7iia7.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpdwkwj7mf1bvfkf7iia7.jpeg" alt="Image description" width="800" height="500"&gt;&lt;/a&gt;&lt;br&gt;
Step 4: Access the App&lt;br&gt;
    • Go to your browser and open &lt;a href="http://localhost:5000" rel="noopener noreferrer"&gt;http://localhost:5000&lt;/a&gt; to view your app.&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%2F5jx27tnk2u72rsqdror4.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5jx27tnk2u72rsqdror4.jpeg" alt="Image description" width="800" height="500"&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%2Fwk7r8t5cpsmbzgkkvhuk.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwk7r8t5cpsmbzgkkvhuk.jpeg" alt="Image description" width="800" height="500"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Dockerizing applications simplifies deployment, ensures consistency across environments, and makes scaling easier. By carefully crafting a Dockerfile, I containerized my React app in a clean, efficient way ready for production or further development.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>cloud</category>
      <category>devops</category>
      <category>coding</category>
      <category>docker</category>
    </item>
    <item>
      <title>Deploying a Web App with ARM Templates and Azure CLI</title>
      <dc:creator>Chidera Enyelu</dc:creator>
      <pubDate>Sat, 24 Aug 2024 11:59:39 +0000</pubDate>
      <link>https://dev.to/dera2024/web-app-with-arm-templates-and-azure-cli-3jl0</link>
      <guid>https://dev.to/dera2024/web-app-with-arm-templates-and-azure-cli-3jl0</guid>
      <description>&lt;p&gt;Azure CLI is a command-line tool for managing Azure resources, allowing you to create, configure, and manage resources across Azure services efficiently using scripts and automation.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Prepare Your ARM Template&lt;/strong&gt;&lt;br&gt;
First, you need an ARM template that defines your Azure resources. Here’s a basic example to deploy an App Service Plan and a Web App:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;{
    "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "resources": [
      {
        "type": "Microsoft.Web/serverfarms",
        "apiVersion": "2021-01-15",
        "name": "[parameters('appServicePlanName')]",
        "location": "[resourceGroup().location]",
        "sku": {
          "name": "F1",
          "tier": "Free",
          "size": "F1",
          "family": "F",
          "capacity": 1
        }
      },
      {
        "type": "Microsoft.Web/sites",
        "apiVersion": "2021-01-15",
        "name": "[parameters('webAppName')]",
        "location": "[resourceGroup().location]",
        "properties": {
          "serverFarmId": "[resourceId('Microsoft.Web/serverfarms', parameters('appServicePlanName'))]",
          "siteConfig": {
            "appSettings": [
              {
                "name": "SCM_DO_BUILD_DURING_DEPLOYMENT",
                "value": "true"
              }
            ]
          }
        }
      }
    ],
    "parameters": {
      "appServicePlanName": {
        "type": "string"
      },
      "webAppName": {
        "type": "string"
      }
    }
  }

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Prepare Your Parameters.json file:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "appServicePlanName": {
      "value": "myAppServicePlan"
    },
    "webAppName": {
      "value": "myPhpWebApp43564"
    }
  }
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Install and Configure Azure CLI&lt;/strong&gt;&lt;br&gt;
If you haven’t already installed the Azure CLI, download and install it &lt;a href="https://dev.tourl"&gt;learn microsoft.com&lt;/a&gt; for your operating system. After installation, configure it by logging in:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/exdrq5wbesxet0yn3qqs.png)

bash
Copy code
az login
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Create Resource Group&lt;/strong&gt;&lt;br&gt;
If you don’t already have a resource group, create one using Azure CLI:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;bash
Copy code
az group create --name myResourceGroup --location eastus
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



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

&lt;p&gt;Replace myResourceGroup and eastus with your desired resource group name and location.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Deploy the ARM Template&lt;/strong&gt;&lt;br&gt;
Deploy the ARM template to the resource group using the Azure CLI:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;bash
Copy code
az deployment group create \
  --resource-group myResourceGroup \
  --template-file azuredeploy.json \
  --parameters @azuredeploy.parameters.json
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



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

&lt;p&gt;&lt;strong&gt;Prepare your Git repository&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;You download the website from &lt;a href="https://dev.tourl"&gt;Themewagon&lt;/a&gt; and on your VSCode, you open the downloaded, extracted file and push to your repository on github using the git/github comprehensive guide in one of my blog(comprehensive guide to git/github).&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;Git Deployment:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Configure Git deployment if you prefer deploying via Git. After you Set up a Git repository and push your code, enter the follwing command to deploy your website using github.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;bash
Copy code
az webapp deployment source config \
  --name myWebApp \
  --resource-group myResourceGroup \
  --repo-url https://github.com/username/repo \
  --branch main \
  --git-token your-git-token
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



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

&lt;p&gt;Replace the placeholders with your repository details and access token.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Verify Deployment&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Check the deployment status and ensure your web app is running correctly:&lt;/p&gt;

&lt;p&gt;Azure Portal: Navigate to your web app in the Azure Portal to check the deployment status and view logs.&lt;/p&gt;

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

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fx1ip1lwuoz91vfqle33e.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fx1ip1lwuoz91vfqle33e.png" alt="Image description" width="800" height="353"&gt;&lt;/a&gt;&lt;br&gt;
Azure CLI:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;bash
Copy code
az webapp show --resource-group myResourceGroup --name myWebApp
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This command provides details about your web app, including its status and URL.&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;Clean Up Resources (Optional)&lt;/strong&gt;&lt;br&gt;
If you want to delete the resources after testing or if they are no longer needed, you can delete the resource group, which will remove all resources within it:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;bash
Copy code
az group delete --name myResourceGroup --yes --no-wait

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;em&gt;By follwoing these steps above, you should be able to succesfully deploy a webapp using Azure CLI.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>azure</category>
      <category>cli</category>
      <category>womenintech</category>
    </item>
    <item>
      <title>Steps To Deploy a Linux Virtual Machine using an ARM Template</title>
      <dc:creator>Chidera Enyelu</dc:creator>
      <pubDate>Fri, 16 Aug 2024 13:39:41 +0000</pubDate>
      <link>https://dev.to/dera2024/steps-to-deploy-a-linux-virtual-machine-using-an-arm-template-2h6p</link>
      <guid>https://dev.to/dera2024/steps-to-deploy-a-linux-virtual-machine-using-an-arm-template-2h6p</guid>
      <description>&lt;p&gt;Deploying a virtual machine (VM) using an Azure Resource Manager (ARM) template involves defining the VM configuration in a JSON template and then deploying that template to Azure.&lt;br&gt;
 Here’s a step-by-step guide to help you deploy a linux VM using an ARM template.&lt;/p&gt;

&lt;h3&gt;
  
  
  Using Azure Portal
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Go to the Azure Portal. &lt;a href="https://dev.tourl"&gt;Azure portal&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;On the searchbar, search for "Deploy a custom ARM template"&lt;/li&gt;
&lt;/ul&gt;

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

&lt;ul&gt;
&lt;li&gt;Click on "select a template",there are several default templates.&lt;/li&gt;
&lt;li&gt;Select the already made template "Linux VM template" or choose to build your own template in the editor.&lt;/li&gt;
&lt;/ul&gt;

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

&lt;ul&gt;
&lt;li&gt;Edit the JSON default template you selected or Paste the JSON template you chose to build into the editor and click Save.&lt;/li&gt;
&lt;/ul&gt;

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

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

&lt;p&gt;On the basics tab, select the region, create a resource group, add an admin name and i used SSH Key instead of password and downloaded the key file.&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;Click Review + Create, review the settings, and click Create.&lt;/li&gt;
&lt;/ul&gt;

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

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

&lt;h3&gt;
  
  
  After Deployment of VM
&lt;/h3&gt;

&lt;p&gt;The resources created are displayed in the resource group, choose the virtual machine to check if its running.&lt;/p&gt;

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

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

&lt;p&gt;&lt;strong&gt;To connect to the linux VM using SSH key on commandpromt/powershell&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;On the file explorer, find the path to the shh key and copy path&lt;/li&gt;
&lt;/ul&gt;

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

&lt;ul&gt;
&lt;li&gt;Open your terminals(commandpromt/powershell).&lt;/li&gt;
&lt;li&gt;Run this commands on your command prompt terminal&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;code&lt;br&gt;
&lt;code&gt;ssh -i path\to\your\key\your-key.pem username@ip-address&lt;/code&gt;&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;Once connected, you can install either Nginx or jenkins.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;NOTE: you can download the template and use the same template to create another virtual machine.&lt;br&gt;
By following these steps, you should be able to deploy a virtual machine using an ARM template in Azure.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>azure</category>
      <category>microsoft</category>
      <category>cloud</category>
      <category>learning</category>
    </item>
    <item>
      <title>Steps to Deploy a Web App with CI/CD pipeline on Azure App Service</title>
      <dc:creator>Chidera Enyelu</dc:creator>
      <pubDate>Fri, 09 Aug 2024 20:49:07 +0000</pubDate>
      <link>https://dev.to/dera2024/steps-to-deploy-a-web-app-with-cicd-pipeline-on-azure-app-service-4j7b</link>
      <guid>https://dev.to/dera2024/steps-to-deploy-a-web-app-with-cicd-pipeline-on-azure-app-service-4j7b</guid>
      <description>&lt;p&gt;Deploying a web application with a CI/CD pipeline on Azure App Service using GitHub involves several steps. Here's a detailed guide to help you through the process:&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 1: Create an Azure App Service
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Login to Azure Portal&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Go to the &lt;a href="https://portal.azure.com/" rel="noopener noreferrer"&gt;Azure Portal&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Login with your Azure credentials.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Create a New Resource&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;In the Azure portal, click on "Create a resource".&lt;/li&gt;
&lt;li&gt;Search for "App Service" and select it.&lt;/li&gt;
&lt;li&gt;Click "Create" to start the configuration.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Configure the App Service&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Subscription&lt;/strong&gt;: Choose your Azure subscription.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Resource Group&lt;/strong&gt;: Either create a new resource group or use an existing one.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Name&lt;/strong&gt;: Enter a unique name for your App Service.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Publish&lt;/strong&gt;: Select "Code".&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Runtime Stack&lt;/strong&gt;: Choose the runtime stack that your application uses (e.g., .NET, Node.js, Python).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Operating System&lt;/strong&gt;: Select the OS (Windows/Linux).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Region&lt;/strong&gt;: Choose a region where the App Service will be hosted.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Pricing Tier&lt;/strong&gt;: Choose a pricing tier based on your needs (e.g., Free, Shared, Basic).
&lt;strong&gt;Review and Create&lt;/strong&gt;:&lt;/li&gt;
&lt;li&gt;Click on "Review + Create" to validate your settings.&lt;/li&gt;
&lt;li&gt;Once validation passes, click "Create".&lt;/li&gt;
&lt;/ul&gt;

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

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

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

&lt;h3&gt;
  
  
  Step 2:&lt;strong&gt;Create and configure webapp&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;In the basics tab, choose a resource group and name.&lt;/li&gt;
&lt;li&gt;choose a programming language(PHP).&lt;/li&gt;
&lt;li&gt;Review and create&lt;/li&gt;
&lt;/ul&gt;

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

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

&lt;h3&gt;
  
  
  Step 3: Set Up GitHub Actions for CI/CD
&lt;/h3&gt;

&lt;p&gt;**Create your repository, add a README file&lt;br&gt;
After creating, copy the url created&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 4: &lt;strong&gt;Virtual studio code&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;On the visual studio code, on the search bar,type the repostory name you created and open.&lt;/li&gt;
&lt;li&gt;Switch your terminal to gitbash.
run these commands
&lt;code&gt;mkdir project
cd project&lt;/code&gt;

&lt;ul&gt;
&lt;li&gt;Open the folder on the VSCode.
run the above linux commands
&lt;code&gt;cd mywebapp
touch index.php
nano
cat index.php&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

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

&lt;p&gt;NOTE: Remember to stage and commit yor git&lt;br&gt;
&lt;code&gt;git add .&lt;br&gt;
git commit -m"comment"&lt;br&gt;
git init&lt;/code&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 5: On the webapp page in your azure portal
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Go to deployment center&lt;/li&gt;
&lt;li&gt;Fill and save&lt;/li&gt;
&lt;/ul&gt;

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

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

&lt;p&gt;&lt;em&gt;By following these steps, you should have a fully operational CI/CD pipeline for your web app on Azure using GitHub Actions. This setup automates the process of building, testing, and deploying your application whenever you push changes to your repository.&lt;/em&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Mastering Git and GitHub: A Comprehensive Guide</title>
      <dc:creator>Chidera Enyelu</dc:creator>
      <pubDate>Fri, 02 Aug 2024 12:46:55 +0000</pubDate>
      <link>https://dev.to/dera2024/mastering-git-and-github-a-comprehensive-guide-1687</link>
      <guid>https://dev.to/dera2024/mastering-git-and-github-a-comprehensive-guide-1687</guid>
      <description>&lt;p&gt;Git and GitHub are two of the most important tools when it comes to version control and sharing.This guide assumes you know how to set up git, create a repository and do basic operations like committing, pushing and pulling.&lt;/p&gt;

&lt;h3&gt;
  
  
  What is Git and GitHub?
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Git&lt;/strong&gt;: Git is a Version Controlling System(VCS) used to version control or keep track of the changes done in your source code file during software development. It allows multiple developers to work on a project at the same time without getting in each other's ways.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;GitHub&lt;/strong&gt;: Cloud-based platform for hosting advance use of repositories that implements git. The above features, issue tracking and code reviews make it significantly simpler to manage projects and collaborate on them.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 1: Install Git&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Windows&lt;br&gt;
Download the Git installer from &lt;a href="https://dev.tourl"&gt;git-scm.com&lt;/a&gt;.&lt;br&gt;
Run the installer and follow the &lt;br&gt;
setup wizard. The default settings are usually sufficient for most users.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;macOS&lt;br&gt;
Install Git using Homebrew by running:&lt;br&gt;
Copy code&lt;br&gt;
&lt;code&gt;brew install git&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Linux&lt;br&gt;
Install Git using your package manager. For Debian-based systems, use:&lt;br&gt;
Copy code&lt;br&gt;
&lt;code&gt;sudo apt-get update&lt;br&gt;
sudo apt-get install git&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Step 2: Configure Git&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Once Git is installed, you need to configure it with your user information. Open your terminal or command prompt and run the following commands:&lt;/p&gt;

&lt;p&gt;Copy code&lt;br&gt;
&lt;code&gt;git config --global user.name "Your Name"&lt;br&gt;
git config --global user.email "you@example.com"&lt;/code&gt;&lt;br&gt;
This configuration will be used for all your commits.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Creating a Repository&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Initialize a Repository Locally&lt;/li&gt;
&lt;li&gt;Navigate to your project directory using the terminal or command prompt:&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Copy code&lt;br&gt;
&lt;code&gt;mkdir”project name”&lt;/code&gt;&lt;br&gt;
&lt;code&gt;cd path/to/your/project&lt;/code&gt;&lt;br&gt;
Initialize a Git repository:&lt;/p&gt;

&lt;p&gt;Copy code&lt;br&gt;
&lt;code&gt;git init&lt;/code&gt;&lt;br&gt;
This creates a hidden .git directory in your project folder, marking it as a Git repository.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 3: Create a Repository on GitHub&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Log in to your GitHub account.&lt;/li&gt;
&lt;li&gt;Click the + icon in the upper-right corner and select New repository.&lt;/li&gt;
&lt;li&gt;Enter a repository name and description, and choose the visibility (public or private).&lt;/li&gt;
&lt;li&gt;Click Create repository.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Step 4: Link Your Local Repository to GitHub&lt;/strong&gt;&lt;br&gt;
After creating the repository on GitHub, you need to connect it to your local repository. Copy the repository URL from GitHub and add it as a remote:&lt;/p&gt;

&lt;p&gt;Copy code&lt;br&gt;
&lt;code&gt;git remote add origin https://github.com/yourusername/your-repository.git&lt;/code&gt;&lt;br&gt;
Making Commits&lt;br&gt;
Step 1: Stage Your Changes&lt;br&gt;
Add files to the staging area using the git add command. To add all files, run:&lt;/p&gt;

&lt;p&gt;Copy code&lt;br&gt;
&lt;code&gt;git add .&lt;/code&gt;&lt;br&gt;
Or to add specific files:&lt;/p&gt;

&lt;p&gt;Copy code&lt;br&gt;
&lt;code&gt;git add filename1 filename2&lt;/code&gt;&lt;br&gt;
Step 2: Commit Your Changes&lt;br&gt;
Commit the staged changes with a descriptive message:&lt;/p&gt;

&lt;p&gt;Copy code&lt;br&gt;
&lt;code&gt;git commit -m "Add initial project files"&lt;/code&gt;&lt;br&gt;
Commits are snapshots of your project at a given time and include a unique ID, author information, and a commit message.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Pushing Changes to GitHub&lt;/strong&gt;&lt;br&gt;
To push your commits to GitHub, use:&lt;/p&gt;

&lt;p&gt;Copy code&lt;br&gt;
&lt;code&gt;git push origin main&lt;/code&gt;&lt;br&gt;
This command uploads your local commits to the remote repository on GitHub. If you're using a different branch name, replace main with your branch name.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Pulling Changes from GitHub&lt;/strong&gt;&lt;br&gt;
To update your local repository with changes from GitHub, use:&lt;/p&gt;

&lt;p&gt;Copy code&lt;br&gt;
&lt;code&gt;git pull origin main&lt;/code&gt;&lt;br&gt;
This command fetches and integrates changes from the remote repository into your local branch.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Conclusion&lt;/strong&gt;&lt;br&gt;
&lt;em&gt;Learning Git and GitHub offers many advantages: you will have an easy way of version controlling your work and sharing code with others. In this guide you learned how to configure Git, create a repository and commit changes as well pushing or pulling them. This basic understanding will help you build the Git and GitHub skills to make your development workflow better as well as improve collaboration in general.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>git</category>
      <category>github</category>
      <category>cloud</category>
      <category>devops</category>
    </item>
    <item>
      <title>Practical use of TCO and Pricing Calculator for Cost Management</title>
      <dc:creator>Chidera Enyelu</dc:creator>
      <pubDate>Fri, 26 Jul 2024 13:08:56 +0000</pubDate>
      <link>https://dev.to/dera2024/practical-use-of-tco-and-pricing-calculator-for-cost-management-28na</link>
      <guid>https://dev.to/dera2024/practical-use-of-tco-and-pricing-calculator-for-cost-management-28na</guid>
      <description>&lt;p&gt;Using TCO and Pricing Calculators for cost management in Azure involves understanding and managing the various costs associated with cloud services. Azure provides tools to help estimate and optimize these costs.&lt;br&gt;
Azure's TCO calculator helps estimate the cost savings you can achieve by migrating your workloads to Azure. It takes into account the costs of your on-premises infrastructure and compares them with the equivalent Azure services.&lt;/p&gt;

&lt;h3&gt;
  
  
  Steps to Use Azure TCO Calculator:
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Access the TCO Calculator:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Go to the &lt;a href="https://azure.microsoft.com/en-us/pricing/tco/calculator/" rel="noopener noreferrer"&gt;Azure TCO Calculator&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;

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

&lt;p&gt;&lt;strong&gt;Input Current Infrastructure:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Servers: Enter details about your current server environment (number of servers, types, and specifications).&lt;/li&gt;
&lt;/ul&gt;

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

&lt;ul&gt;
&lt;li&gt;Storage: Specify your storage requirements, including the type (e.g., SSD, HDD) and amount.&lt;/li&gt;
&lt;li&gt;Networking: Provide details about your network infrastructure.&lt;/li&gt;
&lt;li&gt;IT Labor: Include labor costs for managing the infrastructure.&lt;/li&gt;
&lt;/ul&gt;

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

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvaru4v82jiuoks3dw7hz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvaru4v82jiuoks3dw7hz.png" alt="Image description" width="800" height="323"&gt;&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Estimate Azure Costs:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The calculator will automatically suggest equivalent Azure services and their costs.&lt;/li&gt;
&lt;li&gt;You can adjust the suggested services to better match your needs.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Review and Analyze:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Compare the TCO of your on-premises environment with the estimated Azure costs.&lt;/li&gt;
&lt;li&gt;The calculator will provide a detailed breakdown of potential savings.&lt;/li&gt;
&lt;/ul&gt;

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

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

&lt;h3&gt;
  
  
  Pricing Calculator in Azure
&lt;/h3&gt;

&lt;p&gt;The Azure Pricing Calculator helps you estimate the cost of Azure services based on your specific requirements. &lt;/p&gt;

&lt;h3&gt;
  
  
  Steps to Use Azure Pricing Calculator:
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Access the Pricing Calculator:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Go to the &lt;a href="https://azure.microsoft.com/en-us/pricing/calculator/" rel="noopener noreferrer"&gt;Azure Pricing Calculator&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fa315jtd6g859krczqirw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fa315jtd6g859krczqirw.png" alt="Image description" width="800" height="389"&gt;&lt;/a&gt;&lt;br&gt;
 &lt;strong&gt;Select Services:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Choose the Azure services you plan to use (e.g., Virtual Machines).&lt;/li&gt;
&lt;li&gt;Add these services to your estimate.&lt;/li&gt;
&lt;/ul&gt;

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

&lt;ul&gt;
&lt;li&gt;For each service, specify the region, instance type, storage type, and other relevant parameters.&lt;/li&gt;
&lt;li&gt;Adjust the quantity and duration to match your expected usage.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2w0grzunksg04eb53sp0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2w0grzunksg04eb53sp0.png" alt="Image description" width="800" height="427"&gt;&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Review Costs:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The calculator will provide a detailed estimate of the monthly and annual costs for the selected services.&lt;/li&gt;
&lt;li&gt;You can adjust the configurations to see how changes impact the costs.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;By effectively using the Azure TCO and Pricing Calculators, you can gain a comprehensive understanding of your cloud costs and make informed decisions to optimize your expenditure.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>azure</category>
      <category>beginners</category>
      <category>microsoft</category>
    </item>
    <item>
      <title>Practical IoT Solution Using Azure IoT Hub</title>
      <dc:creator>Chidera Enyelu</dc:creator>
      <pubDate>Fri, 19 Jul 2024 12:39:02 +0000</pubDate>
      <link>https://dev.to/dera2024/practical-iot-solution-using-azure-iot-hub-42hh</link>
      <guid>https://dev.to/dera2024/practical-iot-solution-using-azure-iot-hub-42hh</guid>
      <description>&lt;p&gt;Azure IoT Hub is a cloud service for managing and scaling IoT device communication. It enables secure, bi-directional communication between IoT applications and devices. Benefits include reliable device-to-cloud and cloud-to-device messaging, real-time analytics, scalability, integration with Azure services, and robust security features.&lt;br&gt;
This guide helps you Create a practical IoT solution using Azure IoT Hub. the solution should involve setting up an IoT Hub, registering a device, and simulating the device to send telemetry data or files to Azure Blob Storage.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 1: Set Up Azure IoT Hub&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Create an Azure IoT Hub&lt;/li&gt;
&lt;li&gt;Sign in to the &lt;a href="https://dev.tourl"&gt;Azure portal&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;On the searchbar, search for IoT hub, select and click on create&lt;/li&gt;
&lt;/ul&gt;

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

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

&lt;ul&gt;
&lt;li&gt;Fill in the necessary details on the basics tab(Subscription, Resource Group, Region, IoT Hub Name, etc.). Leave the remaining tabs at default.&lt;/li&gt;
&lt;/ul&gt;

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

&lt;ul&gt;
&lt;li&gt;Review and create the IoT Hub.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxi6h2gum48hfiaqbud0a.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxi6h2gum48hfiaqbud0a.png" alt="Image description" width="771" height="824"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;After deployment, go to resources&lt;/li&gt;
&lt;/ul&gt;

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

&lt;p&gt;&lt;strong&gt;Step 2: Register a Device in IoT Hub&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Navigate to your IoT Hub:&lt;/li&gt;
&lt;li&gt;Go to your newly created IoT Hub in the Azure portal.&lt;/li&gt;
&lt;li&gt;On the "IoT devices" overview, on the left hand side, select "Devices"&lt;/li&gt;
&lt;li&gt;Click on "+ New" to add a new device.&lt;/li&gt;
&lt;/ul&gt;

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

&lt;ul&gt;
&lt;li&gt;Provide a Device ID and click "Save".&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1sijko23dmhtkwyuyxq4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1sijko23dmhtkwyuyxq4.png" alt="Image description" width="798" height="854"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 3: Get Device Connection String&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;After creating the device, click on the device ID to view the device details.&lt;/li&gt;
&lt;/ul&gt;

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

&lt;ul&gt;
&lt;li&gt;Copy the "Primary Connection String".&lt;/li&gt;
&lt;/ul&gt;

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

&lt;p&gt;&lt;strong&gt;Step 4: Simulate a Device to Send Telemetry Data&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;On your phone device, download the IoT hub plug and play app and install&lt;/li&gt;
&lt;li&gt;while on the app, select the options circled in the pictures below.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fepmexk9fsi7ey9aim9tf.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fepmexk9fsi7ey9aim9tf.jpg" alt="Image description" width="800" height="800"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F88i9i28qx1vaalelq5u0.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F88i9i28qx1vaalelq5u0.jpg" alt="Image description" width="800" height="800"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Copy and paste the Primary connection string and connect&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The telemetry will be displayed as showed below.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftcbfcfsv2f1eaudf9wbm.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftcbfcfsv2f1eaudf9wbm.jpg" alt="Image description" width="498" height="1080"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 5: To upload a file in Azure Blob Storage.&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Configure IoT Hub for File Upload.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsdp8dft828fewksqz19o.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsdp8dft828fewksqz19o.png" alt="Image description" width="778" height="856"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Create a Storage Account and container.&lt;/li&gt;
&lt;/ul&gt;

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

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

&lt;ul&gt;
&lt;li&gt;Go to your IoT Hub in the Azure portal.&lt;/li&gt;
&lt;li&gt; Under "Settings," select "File upload". Set the storage container for file uploads by linking the storage account and specifying the container name and save afterwards.&lt;/li&gt;
&lt;/ul&gt;

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

&lt;ul&gt;
&lt;li&gt;Upload a File from a Device
you can upload the images from your phone device to azure by clicking on the "upload" in the plug and play IoT hub and select the files you want to upload and upload them.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fz8etd93xfg96b35eh456.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fz8etd93xfg96b35eh456.jpg" alt="Image description" width="498" height="1080"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffjhu8t28d0b910okxrqm.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffjhu8t28d0b910okxrqm.jpg" alt="Image description" width="498" height="1080"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt; To find your uploaded files,go to the container in the storage account and view them.
&lt;em&gt;NB: You can download the uploaded file.&lt;/em&gt;
&lt;/li&gt;
&lt;/ul&gt;

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

&lt;p&gt;&lt;em&gt;By following these steps, you have set up an IoT solution using Azure IoT Hub, where you created an IoT Hub, registered a device, simulated sending telemetry data from the device, and routed this data to Azure Blob Storage using an Azure Function. This setup allows you to monitor real-time data and store it in a scalable and secure manner.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>microsoft</category>
      <category>iot</category>
      <category>cloudcomputing</category>
      <category>azure</category>
    </item>
    <item>
      <title>Create and Configure a Virtual Network with Four Subnets</title>
      <dc:creator>Chidera Enyelu</dc:creator>
      <pubDate>Fri, 12 Jul 2024 13:37:34 +0000</pubDate>
      <link>https://dev.to/dera2024/how-to-create-and-configure-a-virtual-network-with-four-subnets-o40</link>
      <guid>https://dev.to/dera2024/how-to-create-and-configure-a-virtual-network-with-four-subnets-o40</guid>
      <description>&lt;p&gt;Azure Virtual Network (VNet) is a fundamental building block for private network in Azure. VNet enables many types of Azure resources, such as Azure Virtual Machines (VMs), to securely communicate with each other, the internet, and on-premises networks.&lt;br&gt;
Provided you were given an IP Address &lt;strong&gt;192.148.30.0/26&lt;/strong&gt; to create four subnets for it, With the step to step guide written below, you will be able to successfully create VNet.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 1&lt;/strong&gt;: Login to Azure Portal&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Go to &lt;a href="https://dev.tourl"&gt;Azure Portal&lt;/a&gt; and log in with your credentials.&lt;/li&gt;
&lt;li&gt;From the Azure display screen, choose the virtual network icon or in the Search the Marketplace search box, type Virtual Network and select Virtual Network from the results.&lt;/li&gt;
&lt;/ul&gt;

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

&lt;ul&gt;
&lt;li&gt;Click Create.&lt;/li&gt;
&lt;/ul&gt;

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

&lt;p&gt;&lt;strong&gt;Step 2&lt;/strong&gt;: Configure the Virtual Network&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Basics Tab&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Resource Group:Select an existing resource group or create a new one.&lt;/li&gt;
&lt;li&gt; Name: Enter a name for your virtual network.&lt;/li&gt;
&lt;li&gt; Region: Select the region where you want to deploy the virtual network.&lt;/li&gt;
&lt;/ul&gt;

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

&lt;p&gt;&lt;strong&gt;IP Addresses Tab&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;IPv4 Address Space: Define the address space (e.g.,192.148.30.0/26).&lt;/li&gt;
&lt;li&gt;Add the four Subnets(accounting, marketing, finance and banking departments)&lt;/li&gt;
&lt;li&gt;Subnet Name: Enter a name for the first subnet (e.g.,Accounting-dept).&lt;/li&gt;
&lt;li&gt;Subnet Address Range: Define the address range for the subnet (e.g., 192.148.30.0/26).&lt;/li&gt;
&lt;/ul&gt;

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

&lt;ul&gt;
&lt;li&gt;Click + Add subnet to add additional subnets.&lt;/li&gt;
&lt;/ul&gt;

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

&lt;ul&gt;
&lt;li&gt;Repeat the process to create the remaining three subnets with different address ranges (e.g.,192.148.30.0/26,192.148.30.64/26, 192.148.30.128/26 and 192.148.30.192/26) &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Step 3&lt;/strong&gt;: Review + Create, Leave the security and tags tabs at default.&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;Review the settings in the Review + create tab and click on create to deploy.&lt;/li&gt;
&lt;/ul&gt;

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

&lt;p&gt;&lt;strong&gt;Step 4&lt;/strong&gt; After deployment of the virtual network with the specified subnets, click on "Go to resource" and overview to see it running.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;NOTE: Click on subnets to view the four subnets you created ,you can always create another subnet by clicking on the +Subnet tab.&lt;/em&gt;&lt;/p&gt;

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

&lt;p&gt;Azure Virtual Network provides isolation, security, scalability, high availability, subnet segmentation, internet connectivity, and seamless integration with on-premises networks.&lt;/p&gt;

</description>
      <category>microsoft</category>
      <category>azure</category>
      <category>networking</category>
      <category>beginners</category>
    </item>
    <item>
      <title>How To Host A Static Website In Azure Blob Storage</title>
      <dc:creator>Chidera Enyelu</dc:creator>
      <pubDate>Fri, 05 Jul 2024 11:17:54 +0000</pubDate>
      <link>https://dev.to/dera2024/how-to-host-a-static-website-on-azure-blob-storage-4j1g</link>
      <guid>https://dev.to/dera2024/how-to-host-a-static-website-on-azure-blob-storage-4j1g</guid>
      <description>&lt;p&gt;Hosting a static website on Azure Blob Storage is a straightforward process. Here’s a step-by-step guide,&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 1: Create a Storage Account&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Login to Azure Portal: Go to the &lt;a href="https://dev.tourl"&gt;Azure Portal&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Create a Storage Account:&lt;/li&gt;
&lt;li&gt;Navigate to "Storage accounts" and click "Create".&lt;/li&gt;
&lt;/ul&gt;

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

&lt;ul&gt;
&lt;li&gt;Fill in the necessary details (Subscription, Resource Group, Storage account name, etc.).&lt;/li&gt;
&lt;/ul&gt;

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

&lt;ul&gt;
&lt;li&gt;Choose the Performance and Replication options as per your needs.&lt;/li&gt;
&lt;li&gt;Click "Review + create" and then "Create".&lt;/li&gt;
&lt;/ul&gt;

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

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

&lt;p&gt;&lt;strong&gt;Step 2: Enable Static Website Hosting&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Navigate to the Storage Account: Once created, go to your storage account.&lt;/li&gt;
&lt;li&gt;Enable Static Website Hosting:&lt;/li&gt;
&lt;li&gt;In the left-hand menu, find the "Data management" section and click on "Static website".&lt;/li&gt;
&lt;li&gt;Click on "Enabled".&lt;/li&gt;
&lt;li&gt;Specify the "Index document name" (e.g., index.html).&lt;/li&gt;
&lt;li&gt;Optionally, specify the "Error document path" (e.g., 404.html).&lt;/li&gt;
&lt;li&gt;Click "Save".&lt;/li&gt;
&lt;/ul&gt;

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

&lt;p&gt;&lt;strong&gt;Step 3: Upload Your Website Files&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Access the $web Container: When you enable static website hosting, Azure creates a special container called $web.&lt;/li&gt;
&lt;li&gt;Upload Files:&lt;/li&gt;
&lt;li&gt;In the left-hand menu, under "Data storage", click "Containers".&lt;/li&gt;
&lt;/ul&gt;

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

&lt;ul&gt;
&lt;li&gt;Click on the $web container.&lt;/li&gt;
&lt;li&gt;Click "Upload" and upload your static website files (e.g., index.html, styles.css, app.js, etc.).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fir2i3hdwmlsy814lenf9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fir2i3hdwmlsy814lenf9.png" alt="Image description" width="800" height="331"&gt;&lt;/a&gt;&lt;br&gt;
                         &lt;em&gt;Click on upload&lt;/em&gt;&lt;br&gt;
&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fo73y2q4uo4lwqnfff44s.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fo73y2q4uo4lwqnfff44s.png" alt="Image description" width="800" height="666"&gt;&lt;/a&gt;&lt;br&gt;
                       &lt;em&gt;Uploading in progress&lt;/em&gt;&lt;br&gt;
&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcz411a2a1ocps3o01eao.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcz411a2a1ocps3o01eao.png" alt="Image description" width="800" height="350"&gt;&lt;/a&gt;&lt;br&gt;
                    &lt;em&gt;Uploaded static website&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 4: Access Your Website&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Find the URL:&lt;/li&gt;
&lt;li&gt;Go back to the "Static website" section under "Data management".&lt;/li&gt;
&lt;li&gt;The "Primary endpoint" URL is your website's URL.&lt;/li&gt;
&lt;li&gt;Navigate to this URL in your web browser to see your static website live.&lt;/li&gt;
&lt;/ul&gt;

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

&lt;p&gt;&lt;em&gt;By following these steps, you can host a static website on Azure Blob Storage effectively&lt;/em&gt;&lt;/p&gt;

</description>
      <category>azure</category>
      <category>microsoft</category>
      <category>beginners</category>
      <category>devops</category>
    </item>
    <item>
      <title>Availability Sets vs Availability Zones</title>
      <dc:creator>Chidera Enyelu</dc:creator>
      <pubDate>Thu, 27 Jun 2024 19:48:45 +0000</pubDate>
      <link>https://dev.to/dera2024/availability-sets-vs-availability-zones-2a4n</link>
      <guid>https://dev.to/dera2024/availability-sets-vs-availability-zones-2a4n</guid>
      <description>&lt;p&gt;An availability set protects your Azure resources from failures within data centres, whereas an availability zone protects from entire data centre failures.&lt;br&gt;
Understanding the differences between Azure Availability Sets and Availability Zones is crucial for designing resilient and highly available architectures in the Azure cloud environment. Let's explore each concept and highlight their key distinctions:&lt;/p&gt;

&lt;h3&gt;
  
  
  Availability Sets:
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Purpose&lt;/strong&gt;: &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Availability Sets&lt;/strong&gt; in Azure are used to ensure high availability of applications by distributing virtual machines across multiple physical servers within a datacenter.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Fault Domain Isolation&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;VMs within an Availability Set are placed in separate &lt;strong&gt;Fault Domains&lt;/strong&gt;, which means they are physically isolated from each other. This isolation ensures that if a hardware failure or maintenance event affects one Fault Domain, VMs in other Fault Domains remain unaffected.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Update Domain Isolation&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Additionally, VMs in an Availability Set are distributed across &lt;strong&gt;Update Domains&lt;/strong&gt;, which helps in minimizing downtime during planned maintenance events. Azure updates or reboots VMs in one Update Domain at a time, ensuring that a portion of VMs are always available.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Scope&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Availability Sets are scoped to a single Azure region. They are designed to protect against failures within that region but do not provide protection against a regional outage.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Use Cases&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Recommended for traditional applications that require high availability within a single region but can tolerate brief downtimes during Azure platform updates or maintenance.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F37ytidna7od3zvqbhamm.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F37ytidna7od3zvqbhamm.jpg" alt="Image description" width="739" height="415"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Availability Zones:
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Purpose&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Availability Zones&lt;/strong&gt; are a newer Azure feature designed to provide high availability and resiliency to applications by distributing them across multiple datacenters (Availability Zones) within a single Azure region.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Physical Isolation&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Each Availability Zone is a physically separate datacenter with independent power, cooling, and networking. This isolation significantly reduces the likelihood of a single event impacting all zones simultaneously.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Scalability and Redundancy&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;By distributing application components across different Availability Zones, Azure provides redundancy and ensures that applications remain operational even if one zone goes down due to a catastrophic event.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Scope&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Availability Zones are available in select Azure regions and provide protection against both datacenter-level and potentially regional-level failures.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  Key Differences Summary:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Fault and Update Domain Isolation&lt;/strong&gt;: Availability Sets provide fault and update domain isolation within a single datacenter, whereas Availability Zones offer fault isolation across multiple datacenters within the same region.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Scope&lt;/strong&gt;: Availability Sets are limited to a single Azure region, while Availability Zones operate within a single region but span across multiple physically separate datacenters.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Resiliency&lt;/strong&gt;: Availability Zones provide higher resiliency and protection against both datacenter-level and potentially regional-level failures compared to Availability Sets.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;In conclusion, choosing between Availability Sets and Availability Zones depends on the specific requirements of your application in terms of availability, fault tolerance, and scalability within the Azure cloud ecosystem. Understanding these differences enables you to architect solutions that meet your application's resilience and availability goals effectively.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>azure</category>
      <category>cloud</category>
      <category>microsoft</category>
    </item>
    <item>
      <title>How to create and configure virtual machine scale set</title>
      <dc:creator>Chidera Enyelu</dc:creator>
      <pubDate>Thu, 27 Jun 2024 18:26:13 +0000</pubDate>
      <link>https://dev.to/dera2024/how-to-create-and-configure-virtual-machine-scale-set-o9e</link>
      <guid>https://dev.to/dera2024/how-to-create-and-configure-virtual-machine-scale-set-o9e</guid>
      <description>&lt;h3&gt;
  
  
  Creating and Configuring a Virtual Machine Scale Set
&lt;/h3&gt;

&lt;p&gt;In the realm of cloud computing, scalability is a crucial factor for ensuring applications can handle varying levels of demand efficiently. Virtual Machine Scale Sets (VMSS) in Microsoft Azure provide an excellent solution for this by allowing you to create and manage a group of identical, load-balanced VMs. This blog will guide you through the process of creating and configuring a VMSS in Azure.&lt;/p&gt;

&lt;h4&gt;
  
  
  What is a Virtual Machine Scale Set?
&lt;/h4&gt;

&lt;p&gt;A Virtual Machine Scale Set is an Azure compute resource that allows you to deploy and manage a set of identical VMs. These VMs are designed to work together as a scalable unit and can automatically increase or decrease in number based on demand or a defined schedule. VMSS automatically distributes incoming traffic across all VM instances, ensuring high availability and reliability for your applications.&lt;/p&gt;

&lt;h4&gt;
  
  
  Step-by-Step Guide to Creating a VM Scale Set
&lt;/h4&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Log in to Azure Portal&lt;/strong&gt;: Start by logging into the &lt;a href="https://portal.azure.com"&gt;Azure Portal&lt;/a&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Create a Resource Group&lt;/strong&gt;: If you haven't already created a resource group to contain your VMSS, create one now. A resource group helps you manage and organize related Azure resources.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

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

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Create Virtual Machine Scale Set&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Navigate to &lt;strong&gt;Create a resource &amp;gt; Compute &amp;gt; Virtual machine scale set&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flesgx9ofh20pj5proqpm.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flesgx9ofh20pj5proqpm.jpg" alt="Image description" width="800" height="324"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Configure the basics:

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Subscription&lt;/strong&gt;: Select the appropriate subscription.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Resource Group&lt;/strong&gt;: Choose the resource group created in step 2.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Region&lt;/strong&gt;: Select the Azure region where you want to deploy the VMSS.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Name&lt;/strong&gt;: Provide a name for your VMSS.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Image&lt;/strong&gt;: Choose an operating system image for your VM instances (Windows/Linux).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Authentication type&lt;/strong&gt;: Select how you want to authenticate with your VM instances (SSH key for Linux, password for Windows).&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwfm806u9delf20rxgahf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwfm806u9delf20rxgahf.png" alt="Image description" width="713" height="1111"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Configure Instance Size and Capacity&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Instance size&lt;/strong&gt;: Choose the VM size based on your application requirements and expected workload.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Capacity&lt;/strong&gt;: Define the initial number of VM instances. VMSS can automatically adjust this number based on metrics or schedules.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Configure Networking&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Define the virtual network and subnet for your VMSS.&lt;/li&gt;
&lt;li&gt;Configure inbound and outbound rules for network security groups (NSGs) if needed.&lt;/li&gt;
&lt;li&gt;Optionally, configure public IP addresses or load balancers for external access.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fckwabh5l5vc52q3llr9e.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fckwabh5l5vc52q3llr9e.png" alt="Image description" width="708" height="792"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Configure Scaling&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Define scaling rules based on metrics like CPU utilization or incoming requests.&lt;/li&gt;
&lt;li&gt;Configure scaling policies to automatically add or remove VM instances as needed.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Configure Management Options&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Set up monitoring and diagnostics to track the performance of your VMSS.&lt;/li&gt;
&lt;li&gt;Enable Azure Automation if you want to automate management tasks.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Review and Create&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Review all the settings to ensure they match your requirements.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Create&lt;/strong&gt; to deploy your VMSS. Azure will now provision the VM instances and set up the necessary resources.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fy9usdkuaoa4az8o7z9i0.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fy9usdkuaoa4az8o7z9i0.jpg" alt="Image description" width="800" height="159"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Managing and Monitoring your VM Scale Set
&lt;/h4&gt;

&lt;p&gt;Once your VMSS is deployed, you can manage it through the Azure Portal, Azure CLI, PowerShell, or Azure SDKs. Here are some key management tasks:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Scaling&lt;/strong&gt;: Monitor and adjust scaling settings as needed to handle changes in demand.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Monitoring&lt;/strong&gt;: Utilize Azure Monitor to track performance metrics and set up alerts for critical conditions.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Updates&lt;/strong&gt;: Implement automatic OS and application updates using Azure Update Management.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Integration&lt;/strong&gt;: Integrate your VMSS with other Azure services like Azure Load Balancer, Azure Application Gateway, or Azure Kubernetes Service (AKS).&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Conclusion
&lt;/h4&gt;

&lt;p&gt;Virtual Machine Scale Sets in Azure offer a powerful solution for scaling your applications efficiently and reliably. By following the steps outlined in this guide, you can create and configure a VMSS tailored to your specific workload requirements. Whether you're running a web application, batch processing job, or a microservices architecture, VMSS provides the flexibility and scalability needed to manage varying levels of demand seamlessly. Embrace the scalability of the cloud with VMSS and ensure your applications are always available and performing optimally.&lt;/p&gt;

</description>
      <category>virtualmachine</category>
      <category>azure</category>
      <category>microsoft</category>
      <category>devops</category>
    </item>
  </channel>
</rss>
