<?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: Adah Okwara</title>
    <description>The latest articles on DEV Community by Adah Okwara (@adah_okwara_3c43c95a89a2e).</description>
    <link>https://dev.to/adah_okwara_3c43c95a89a2e</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%2F1564042%2Fded3bf0c-67b7-4597-9268-cc27d777e476.jpg</url>
      <title>DEV Community: Adah Okwara</title>
      <link>https://dev.to/adah_okwara_3c43c95a89a2e</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/adah_okwara_3c43c95a89a2e"/>
    <language>en</language>
    <item>
      <title>Secure Multi-Tier Web Application in a Custom VPC</title>
      <dc:creator>Adah Okwara</dc:creator>
      <pubDate>Sat, 01 Feb 2025 14:32:12 +0000</pubDate>
      <link>https://dev.to/adah_okwara_3c43c95a89a2e/secure-multi-tier-web-application-in-a-custom-vpc-4c6i</link>
      <guid>https://dev.to/adah_okwara_3c43c95a89a2e/secure-multi-tier-web-application-in-a-custom-vpc-4c6i</guid>
      <description>&lt;p&gt;In this project, i will create a secure and scalable network for a simple web application using a Virtual Private Cloud (VPC). The project will simulate a three-tier architecture (web, application, and database layers) with different security levels applied to each tier, showcasing VPC features like subnets, routing tables, and Network Access Control Lists (NACLs).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Objectives:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Set up a custom VPC with public and private subnets.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Deploy a basic web application that is accessible via the internet but has a securely protected application and database layer.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Use security groups and NACLs to control traffic between the tiers.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Enable logging for network traffic to monitor and troubleshoot network activity.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Step 1: Log in to AWS&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Go to &lt;a href="https://dev.tourl"&gt; AWS Management Console.&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Log in with your AWS account credentials.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Open the VPC service by searching for "VPC" in the AWS Management Console search bar.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Step 2: Create a Custom VPC&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;In the VPC Dashboard, click Your VPCs and Create VPC.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Configure the VPC settings:&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Name tag: Adah-Project-VPC&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;IPv4 CIDR block: 10.0.0.0/16.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;IPv6 CIDR block: No IPv6.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Tenancy: Default.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Choose Region&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Filfjc50v7o1diazcbb5k.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Filfjc50v7o1diazcbb5k.png" alt="Image description" width="800" height="333"&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%2Ft8xzrawyn18g8q4ro6us.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ft8xzrawyn18g8q4ro6us.png" alt="Image description" width="800" height="392"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Click Create VPC.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fr73z8kyjv0uhn4wv7lwe.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fr73z8kyjv0uhn4wv7lwe.png" alt="Image description" width="800" height="302"&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%2F8ooiunl224na2xnlaaan.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8ooiunl224na2xnlaaan.png" alt="Image description" width="800" height="410"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 3: Create Subnets&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I’ll create three subnets: one public for the web layer and two private for the app and database layers.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Public Subnet&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Go to subnets and create subnet.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Select Adah-Project-VPC for VPC.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;*&lt;em&gt;Subnet name: *&lt;/em&gt; Public-Subnet&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Availability Zone:&lt;/strong&gt; Choose an available zone (e.g., us-east-1a).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;IPv4 CIDR block&lt;/strong&gt;: 10.0.1.0/24&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Add &lt;strong&gt;Another Subnet&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6nmc8pk6st6r2qb8rw8m.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6nmc8pk6st6r2qb8rw8m.png" alt="Image description" width="800" height="304"&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%2Fxo142tyef8hxw4t8ldar.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxo142tyef8hxw4t8ldar.png" alt="Image description" width="800" height="507"&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%2F7ix9skstkzcdpus93rk0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7ix9skstkzcdpus93rk0.png" alt="Image description" width="800" height="304"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Application Private Subnet:&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Create another subnet with:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Name: App-Private-Subnet&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Availability Zone&lt;/strong&gt;: us-east-1b&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;IPv4 CIDR block:&lt;/strong&gt; 10.0.2.0/24.&lt;/li&gt;
&lt;li&gt;**Click **on add&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Database Private Subnet:&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Create a third subnet with:&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Name: DB-Private-Subnet&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Availability Zone&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;IPv4 CIDR block: 10.0.3.0/24&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>webdev</category>
      <category>microsoft</category>
      <category>aws</category>
      <category>cloudcomputing</category>
    </item>
    <item>
      <title>Building a Personalized Content Delivery System with AWS CloudFront and S3</title>
      <dc:creator>Adah Okwara</dc:creator>
      <pubDate>Tue, 12 Nov 2024 22:10:43 +0000</pubDate>
      <link>https://dev.to/adah_okwara_3c43c95a89a2e/building-a-personalized-content-delivery-system-with-aws-cloudfront-and-s3-18fb</link>
      <guid>https://dev.to/adah_okwara_3c43c95a89a2e/building-a-personalized-content-delivery-system-with-aws-cloudfront-and-s3-18fb</guid>
      <description>&lt;p&gt;In today’s digital landscape, delivering content quickly and efficiently is crucial for providing an excellent user experience. As more businesses shift to cloud solutions, leveraging services like Amazon S3 and AWS CloudFront can help create a scalable and cost-effective content delivery system tailored to users' needs.&lt;/p&gt;

&lt;p&gt;In this project, we will develop a robust solution that allows for the storage and retrieval of various content types—such as images, videos, and documents—using Amazon S3. By integrating AWS CloudFront, we will ensure fast and secure distribution of this content to users around the globe. Additionally, we’ll implement access controls using AWS Identity and Access Management (IAM) to manage user permissions and restrict content access based on specific roles.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Key AWS Services Utilized&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Amazon S3&lt;/strong&gt; : This service will serve as our primary storage solution for content files, providing durability and high availability.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;AWS CloudFront:&lt;/strong&gt; We will use CloudFront to deliver our content with low latency and high transfer speeds, enhancing the user experience regardless of their geographical location.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;AWS IAM:&lt;/strong&gt; This service will help us manage permissions and create user roles, ensuring that our content is accessed securely.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Lambda@Edge (optional):&lt;/strong&gt; For those looking to add an extra layer of customization, Lambda@Edge will allow us to implement dynamic authorization or personalization logic based on user attributes like location or device type. However, I did not work on this but i can guide you through.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In this blog, we will walk through the step-by-step process of building this personalized content delivery system, exploring how each AWS service plays a vital role in the architecture.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Steps&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Log into your AWS Console&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;Open &lt;a href="https://dev.toAWS%20Console"&gt;AW Console&lt;/a&gt; and log in with your credentials.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;2 .  &lt;strong&gt;Create an S3 Bucket to store Your Content&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Go to services and click on S3&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Click &lt;strong&gt;Create bucket&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

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

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Give your bucket a unique name (e.g., adah-content-delvery-bucket).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Select a region&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Disable public access settings for security.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Create bucket.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fr2n9fohxha6bp8a9agwx.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fr2n9fohxha6bp8a9agwx.png" alt="Image description" width="800" height="589"&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%2Frs068k60h0vl86nrh2ad.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frs068k60h0vl86nrh2ad.png" alt="Image description" width="800" height="553"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Upload Content&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Open your bucket, click Upload, and add a few files (e.g., images or documents) to be used as content.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvan9zxgn6z13i04orkzn.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvan9zxgn6z13i04orkzn.png" alt="Image description" width="800" height="691"&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%2Fioswhrpejj97fh4zat08.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fioswhrpejj97fh4zat08.png" alt="Image description" width="800" height="648"&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%2Fvgqn85msurecw9nptp4w.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvgqn85msurecw9nptp4w.png" alt="Image description" width="800" height="590"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Make sure the files are not publicly accessible (we’ll manage access via CloudFront).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;3 .   &lt;strong&gt;Set Up an AWS CloudFront Distribution&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Go to Services and click on Cloudfront&lt;/p&gt;

&lt;p&gt;Click Create Distribution and choose Web as the distribution method.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Under Origin Settings:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Origin Domain: Select your S3 bucket from the dropdown&lt;/li&gt;
&lt;li&gt;Restrict Bucket Access: Set this to Yes to restrict access to only CloudFront requests.&lt;/li&gt;
&lt;li&gt;Origin Access Control: Create a new origin access control (OAC) to securely link CloudFront to your S3 bucket.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;p&gt;&lt;strong&gt;Default Cache Behaviour:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Viewer Protocol Policy: Choose Redirect HTTP to HTTPS for secure access.&lt;/li&gt;
&lt;li&gt;Allowed HTTP Methods: Select GET, HEAD&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;p&gt;&lt;strong&gt;Distribution Settings:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Price Class:&lt;/strong&gt; Select &lt;strong&gt;Use only North America and Europe&lt;/strong&gt; to save costs if you are only testing.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Create Distribution&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8g8m9h47j709qt1ezgbw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8g8m9h47j709qt1ezgbw.png" alt="Image description" width="800" height="326"&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%2Fd46ui7m33mc3yu2nbvvb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fd46ui7m33mc3yu2nbvvb.png" alt="Image description" width="800" height="725"&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%2Ftmhsbbwrmea5b6qbs9yq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftmhsbbwrmea5b6qbs9yq.png" alt="Image description" width="800" height="384"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;After creation, CloudFront will take a few minutes to deploy.&lt;/p&gt;

&lt;p&gt;4 .   &lt;strong&gt;Secure your s3 Bucket with Bucket Policy&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Go back to S3, open your bucket, and go to the Permissions tab.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Under Bucket Policy, add a policy to allow CloudFront to access your bucket, but deny direct access to users.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

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

&lt;p&gt;(Replace my-content-delivery-bucket and your_Cloudfront_ID with your values as below).&lt;/p&gt;

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

&lt;p&gt;5 .  &lt;strong&gt;Set Up IAM Roles and Policies for Access Control&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Go to services and click on IAM&lt;/li&gt;
&lt;/ul&gt;

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

&lt;ul&gt;
&lt;li&gt;Create roles for users if necessary, defining who has access to different parts of the content.&lt;/li&gt;
&lt;/ul&gt;

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

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Choose &lt;strong&gt;Trusted Entity&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Select AWS service if the role will be used by AWS resources (like Lambda) or Another AWS account if assigning roles to users within another AWS account.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

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

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Click Next: Permissions and search for the policy you created earlier (e.g., S3ReadOnlyAccessForCloudFront).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Select the policy and click Next: Tags (you can skip tags).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Click Next: Review.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Viewer Role&lt;/strong&gt;: Assigns the S3ReadOnlyAccessForCloudFront policy to allow basic read-only access to S3 content.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Admin Role:&lt;/strong&gt; If you have administrators who need more control, create a separate policy and role with broader permissions (e.g., listing and deleting objects).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Name the role&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;click Create role&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

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

&lt;p&gt;6 .  &lt;strong&gt;Add Lambda@Edge for Personalization&lt;/strong&gt; (Optional)&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;If you want to add personalization (e.g., show content based on location), go to Lambda, click Create Function&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Choose Author from scratch, then select Lambda@Edge as the trigger.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Write a basic function to inspect the user’s location or device type and adjust content URLs accordingly.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;7 .   &lt;strong&gt;Test Your Content Delivery System&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Access the CloudFront URL:&lt;/strong&gt; Go to the CloudFront Distributions page, copy your CloudFront Domain Name&lt;/li&gt;
&lt;/ul&gt;

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

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Append a file name to the URL to test access. For example, my CloudFront Domain Name is d3mbct2avaaf76.cloudfront.net&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;folder in S3= images&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;File name = myfile.jpg&lt;br&gt;
Then, the complete CloudFront URL would be:&lt;br&gt;
&lt;a href="https://d3mbct2avaaf76.cloudfront.net/images/myfile.jpg" rel="noopener noreferrer"&gt;https://d3mbct2avaaf76.cloudfront.net/images/myfile.jpg&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

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

&lt;p&gt;The folder structure in S3 is reflected in the CloudFront URI, so ensure you include any folder paths between the CloudFront domain name and the file name.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Ensure access is restricted as planned and that files load correctly through CloudFront.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;If everything is set up correctly (including the S3 bucket policy, OAC, and CloudFront settings), the image should load through this URL. &lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

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

&lt;p&gt;8 .   &lt;strong&gt;Set Up Monitoring in CloudWatch&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Go to services and click CloudWatch&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Set up basic monitoring for your CloudFront distribution to see request counts, cache hits/misses, and errors.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Optional: Add CloudWatch Alarms if you want to be notified of unusual activity.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;By following these steps, you would have:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Configured S3 to store and secure your content.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Created a CloudFront distribution for fast and secure global access.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Set up access policies and optional Lambda functions for personalization.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;This setup is cost-effective and scalable, making it an ideal AWS project to showcase your skills.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
    </item>
    <item>
      <title>Practical Use of Total Cost of Ownership (TCO) and Pricing Calculator for Cost Management.</title>
      <dc:creator>Adah Okwara</dc:creator>
      <pubDate>Sat, 27 Jul 2024 01:47:07 +0000</pubDate>
      <link>https://dev.to/adah_okwara_3c43c95a89a2e/practical-use-of-total-cost-of-ownership-tco-and-pricing-calculator-for-cost-management-1674</link>
      <guid>https://dev.to/adah_okwara_3c43c95a89a2e/practical-use-of-total-cost-of-ownership-tco-and-pricing-calculator-for-cost-management-1674</guid>
      <description>&lt;p&gt;A Total Cost of Ownership (TCO) and Pricing Calculator is an essential tool for effective cost management, especially for businesses looking to make informed financial decisions. The TCO calculator helps organizations understand the complete cost associated with acquiring, operating, and maintaining an asset over its entire lifecycle. This includes initial purchase costs, operation, maintenance, and any potential disposal costs. By providing a comprehensive view of expenses, it allows businesses to compare different options and choose the most cost-effective one.&lt;/p&gt;

&lt;p&gt;On the other hand, a Pricing Calculator assists in determining the appropriate pricing strategy for products or services. It takes into account various factors like production costs, market demand, competitor pricing, and desired profit margins. By using a pricing calculator, companies can ensure that their pricing is competitive yet profitable, helping them to achieve their financial goals while remaining attractive to customers.&lt;/p&gt;

&lt;p&gt;Together, these tools empower businesses to manage their costs efficiently, optimize their pricing strategies, and ultimately enhance their profitability and sustainability.&lt;/p&gt;

&lt;p&gt;This blog will delve into the powerful tools of TCO and Pricing Calculators, providing a comprehensive guide to their utilization for optimized cost management.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;PART 1: USING TCO CALCULATOR&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;STEP 1: Navigate to the TCO Calculator&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Open a new tab in your web browser and type TCO Calculator.&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%2Fja8wvfg2hi7jvf5aoydl.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%2Fja8wvfg2hi7jvf5aoydl.png" alt="Image description" width="800" height="641"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Click on 'Total Cost of Ownership(TCO) Calculator (Microsoft Azure)&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%2Fitc2b7stybv7yb694w3k.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%2Fitc2b7stybv7yb694w3k.png" alt="Image description" width="800" height="607"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;STEP 2: Define your Workload&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Servers:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt; Click on 'Add server workload'&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%2Fagu0yzza29lg23y6ankp.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%2Fagu0yzza29lg23y6ankp.png" alt="Image description" width="800" height="473"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;- Workload 1:&lt;/strong&gt; &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;On the drop down menu of 'Operating system', choose 'windows'.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Leave other parameters at default and Click on 'add server workload' below.&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%2Filr1wxcpww6ok48arus4.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%2Filr1wxcpww6ok48arus4.png" alt="Image description" width="800" height="485"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;- Workload 2:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;On the drop down menu of 'operating system', choose 'Linux'&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Leave other parameters at default.&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%2Fmfz2z2fvxcsz5oim3d22.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%2Fmfz2z2fvxcsz5oim3d22.png" alt="Image description" width="800" height="314"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 3: Databases&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Click on 'add database'&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%2F4tatpv7rn7ce02lzbfdt.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%2F4tatpv7rn7ce02lzbfdt.png" alt="Image description" width="800" height="235"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Database 1&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;On the drop down menu of Database, select Microsoft SQL server.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;On the drop down menu of operating system, select 'windows'&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Leave other parameters at default and click on '+' on your right to clone and take you to 'database 2'.&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%2Fiz90lrpq0xyihmjed7xr.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%2Fiz90lrpq0xyihmjed7xr.png" alt="Image description" width="800" height="354"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Database 2&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;On the drop down menu of Database, select Microsoft SQL server.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;On the drop down menu of operating system, select 'Linux'&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Leave other parameters at default &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%2Fg1mqfs15c7d2pbf1j8ik.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%2Fg1mqfs15c7d2pbf1j8ik.png" alt="Image description" width="800" height="325"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 4: Storage:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Click on 'Add Storage'&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Leave other parameters at default&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%2Fh8tzsxxmdop4jo2xufl4.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%2Fh8tzsxxmdop4jo2xufl4.png" alt="Image description" width="800" height="365"&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%2Fu6tosh8yoctmtbl5y92n.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%2Fu6tosh8yoctmtbl5y92n.png" alt="Image description" width="800" height="455"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 5 : Networking&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;On the drop down menu Under 'Destination Region', choose 'North Europe'&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Leave other parameters at default&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Click on 'Next'&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%2Fqk81yk3h7tb2hedlkgn4.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%2Fqk81yk3h7tb2hedlkgn4.png" alt="Image description" width="800" height="570"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 6: Adjust Assumptions&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Leave 'Adjust Assumptions' at default&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Click on 'Next'&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%2Ftpemdsgehex07suia64b.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%2Ftpemdsgehex07suia64b.png" alt="Image description" width="800" height="390"&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%2Fiu3htdiz1mjurqle49n9.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%2Fiu3htdiz1mjurqle49n9.png" alt="Image description" width="800" height="363"&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%2Fuemir0rbbyn41hmwihfw.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%2Fuemir0rbbyn41hmwihfw.png" alt="Image description" width="800" 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%2F2v7bu1ofh8bfc6q1ie2m.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%2F2v7bu1ofh8bfc6q1ie2m.png" alt="Image description" width="800" height="365"&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%2Fo70xrcuzia5f7snorgdm.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%2Fo70xrcuzia5f7snorgdm.png" alt="Image description" width="800" height="376"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 7: View Report&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;The Pricing Calculator will display the estimated yearly/over 5years cost for each configured service.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Review the cost breakdown to understand the components of your Azure bill.&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%2F5qxd3ybr2e7w8qbhjyys.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%2F5qxd3ybr2e7w8qbhjyys.png" alt="Image description" width="800" height="378"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;You can see the difference between running our workloads on premises and on Azure below: Whereby the green signifies Azure cost overtime and blue is on premises cost.&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%2Fjit10is3i1u1hskgov6q.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%2Fjit10is3i1u1hskgov6q.png" alt="Image description" width="800" height="365"&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%2Ftvnti1lfdag0zcbjx3wh.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%2Ftvnti1lfdag0zcbjx3wh.png" alt="Image description" width="800" height="383"&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%2Fmvhdrllhwdp84d5xt077.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%2Fmvhdrllhwdp84d5xt077.png" alt="Image description" width="800" height="422"&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%2Fvvxathsrs9l4xx3b2b5s.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%2Fvvxathsrs9l4xx3b2b5s.png" alt="Image description" width="800" height="385"&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%2F43osoawdpxt21x9a99p3.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%2F43osoawdpxt21x9a99p3.png" alt="Image description" width="800" height="361"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 8: Consider alternatives:&lt;/strong&gt; &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Compare the TCO of your current Azure setup with potential alternatives (e.g., different Azure regions, service tiers, or on-premises solutions)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Step 9: Save/Share Your Estimate&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;You can save your estimate for future reference or share it with colleagues by exporting it as a PDF or Excel file.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;To save the estimate, click "Export" and choose the desired format.&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%2Fgmc900hxq8kd2br2sgxz.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%2Fgmc900hxq8kd2br2sgxz.png" alt="Image description" width="800" height="293"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;PART 2: USING AZURE PRICING CALCULATOR&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Click on 'Azure pricing Calculator'&lt;/strong&gt; on your down left after viewing report of TCO analysis. &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%2Fjwa8xbtwjn20qahqn73l.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%2Fjwa8xbtwjn20qahqn73l.png" alt="Image description" width="800" height="281"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Alternatively, you can access pricing calculator by:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Go to &lt;a href="https://dev.tourl"&gt;https://azure.microsoft.com/pricing/calculator/&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;2. Select your services&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Choose the Azure services you plan to use (e.g. Storage).&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%2Ful82f9m436sgrxlosn29.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%2Ful82f9m436sgrxlosn29.png" alt="Image description" width="800" height="473"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Configure Service Settings:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Specify detailed configurations for each service (e.g.. storage)&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Estimate Usage:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Input your expected usage (e.g., storage capacity).&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%2F4p9iaz1udkgw6n34dgnk.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%2F4p9iaz1udkgw6n34dgnk.png" alt="Image description" width="800" height="379"&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%2F2rftvh4vtz41wxynn49x.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%2F2rftvh4vtz41wxynn49x.png" alt="Image description" width="800" height="334"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5. Review Pricing:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The calculator will provide a detailed breakdown of estimated costs.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;6. Save and Share&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Cost estimates can be saved or exported in various formats for convenient sharing with team and future reference.&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%2Fndbnsrx8p4intr1jx0nc.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%2Fndbnsrx8p4intr1jx0nc.png" alt="Image description" width="800" height="336"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Experiment with Scenarios:&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Adjust configurations and usage to find the most cost-effective options.&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%2F7gaz2ef78xcb84i8g2wf.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%2F7gaz2ef78xcb84i8g2wf.png" alt="Image description" width="800" height="439"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;By combining the Azure Pricing Calculator with a comprehensive TCO analysis, you can make informed decisions about your cloud strategy and optimize costs effectively. Remember, cost management is an ongoing process that requires attention and adaptation.&lt;/p&gt;

</description>
      <category>azure</category>
      <category>microsoft</category>
      <category>cloudcomputing</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>Bridging the Physical and Digital: IoT Solution with Azure IoT Hub, Device Connectivity, and Telemetry to Blob Storage</title>
      <dc:creator>Adah Okwara</dc:creator>
      <pubDate>Fri, 19 Jul 2024 08:34:16 +0000</pubDate>
      <link>https://dev.to/adah_okwara_3c43c95a89a2e/bridging-the-physical-and-digital-iot-solution-with-azure-iot-hub-device-connectivity-and-telemetry-to-blob-storage-4fml</link>
      <guid>https://dev.to/adah_okwara_3c43c95a89a2e/bridging-the-physical-and-digital-iot-solution-with-azure-iot-hub-device-connectivity-and-telemetry-to-blob-storage-4fml</guid>
      <description>&lt;p&gt;The Internet of Things (IoT) is revolutionizing how we interact with the physical world. From monitoring environmental conditions to optimizing industrial processes, connected devices are generating a wealth of data with immense potential. But how do you bridge the gap between these physical devices and the digital realm for analysis and action?&lt;/p&gt;

&lt;p&gt;This blog post guides you through building a practical IoT solution using Microsoft Azure's powerful services: Azure IoT Hub and Azure Blob Storage. We'll walk you through the steps involved in setting up an IoT Hub, registering a device, and simulating the device to send telemetry data to Blob Storage for further analysis.&lt;/p&gt;

&lt;p&gt;Prerequisites:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;An Azure subscription (you can get a free trial at [&lt;a href="https://azure.microsoft.com/en-in/free" rel="noopener noreferrer"&gt;https://azure.microsoft.com/en-in/free&lt;/a&gt;
]&lt;/li&gt;
&lt;li&gt;Basic understanding of IoT concepts and Azure services&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Step 1: Step up an Azure IoT Hub&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Create an Azure resource group&lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Log in to the Azure portal and search for "Resource group."&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Provide a name for your resource group &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Choose a Region. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Click "Review + Create"&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Then 'Create'&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%2Fjavkjzxs9hnvgjx618b5.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%2Fjavkjzxs9hnvgjx618b5.png" alt="Image description" width="800" height="533"&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%2Fdz1vsr7n0cpufrwufr0r.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%2Fdz1vsr7n0cpufrwufr0r.png" alt="Image description" width="800" height="673"&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%2Fvz3k2g3bftuokjwt9u45.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%2Fvz3k2g3bftuokjwt9u45.png" alt="Image description" width="800" height="817"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 2: Create an Azure IoT Hub&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;In the search box, type IoT Hub and select it from the list.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Select your subscription&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Use the newly created Resource group&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Enter a unique name for your IoT hub&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Choose a free or pay-as-you-go pricing tier based on your needs.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Click on &lt;strong&gt;Review and Create&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Review the configuration and click on &lt;strong&gt;'Create'&lt;/strong&gt;.&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%2Fsx5rihnvg6jd8gb5gow2.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%2Fsx5rihnvg6jd8gb5gow2.png" alt="Image description" width="800" height="564"&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%2Fbirwfybc168321dpmhwr.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%2Fbirwfybc168321dpmhwr.png" alt="Image description" width="800" height="683"&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%2Fiq2vn2roalivrdtm4iwn.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%2Fiq2vn2roalivrdtm4iwn.png" alt="Image description" width="732" height="836"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 3: Register a device in IoT Hub&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Navigate to your newly created IoT Hub in the Azure Portal.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;On your left side options, click on devices&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Select '+Add' to register a new device&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%2F0iaescfhg1fa3op8klby.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%2F0iaescfhg1fa3op8klby.png" alt="Image description" width="800" height="708"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 4: Configure the Device&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Device ID&lt;/strong&gt;: Enter a unique device ID.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Authentication Type&lt;/strong&gt;: Select Symmetric key.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Auto-generate keys&lt;/strong&gt;: Ensure this option is checked&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Connect this device to IoT hub&lt;/strong&gt;: Enabled&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Save the Device&lt;/strong&gt; : Click'&lt;strong&gt;Save&lt;/strong&gt;'&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Get the Device Connection String:&lt;/strong&gt; Click on the device to view its connection string. Copy the primary connection string as you will need it for the simulated device.&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%2Fr7lzkxhfe8a4et7bpy41.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%2Fr7lzkxhfe8a4et7bpy41.png" alt="Image description" width="800" height="831"&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%2Fgpiwwi7v4v142ft0opki.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%2Fgpiwwi7v4v142ft0opki.png" alt="Image description" width="800" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 5:Simulate Device Telemetry:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Here's where the fun begins! We will be using IoT plug and Play app&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Launch the "IoT Plug and Play" app on your Android/ios device.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;You'll have two connection options:&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Scan QR Code&lt;/strong&gt;: If you enabled QR code generation during Plug and Play setup in Azure, use your device's camera to scan the displayed code&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;IoT Hub device connection string&lt;/strong&gt;: If you prefer a manual approach, you click on connect 'manually'.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;How would u like to connect? Click IoT hub device string&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Connection info: On the IoT hub device connection string, paste the primary connection string earlier copied&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Click 'Connect'&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%2F4d2j4b5asf6m8x78ggr4.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%2F4d2j4b5asf6m8x78ggr4.png" alt="Image description" width="581" height="894"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Congratulations!&lt;/strong&gt; Your Android/ios device is now connected to your Azure IoT Hub using the IoT Plug and Play model. This paves the way for exciting possibilities! You can develop custom Android/ios applications that leverage the device's sensors and capabilities to interact with the cloud.&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%2Fpcyze58wpshq0nbp00ds.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%2Fpcyze58wpshq0nbp00ds.jpg" alt="Image description" width="800" height="1955"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 6: Set Up Azure Blob Storage&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Create a Storage Account&lt;/strong&gt;: In the Azure portal, type storage accounts on the search and click on storage accounts on d drop down menu&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%2Fzsov0lhvmqxktbw0043t.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%2Fzsov0lhvmqxktbw0043t.png" alt="Image description" width="800" height="554"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Configure the Storage:&lt;/strong&gt; &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Click on &lt;strong&gt;'+Create'&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Resource Group&lt;/strong&gt;: Use the same resource group as your IoT Hub.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Storage Account Name&lt;/strong&gt;: Enter a unique name in small letters.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Region&lt;/strong&gt;: Choose the same region as your IoT Hub&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Leave other default settings except otherwise&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;3. Review and Create:&lt;/strong&gt; Click on '&lt;strong&gt;Review + Create&lt;/strong&gt;'&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Create:&lt;/strong&gt; Review the configuration and Click '&lt;strong&gt;Create&lt;/strong&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%2Fa1zybj9ksl4q56a3mj11.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%2Fa1zybj9ksl4q56a3mj11.png" alt="Image description" width="800" height="683"&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%2Fz22jnil8vo7chpvqz457.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%2Fz22jnil8vo7chpvqz457.png" alt="Image description" width="800" height="729"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5. Create a Container:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;After the storage account is created, navigate to it.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;On the left side menu after Data storage, select Containers and create a new container.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Click on +container&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%2Fagb89uwjcft3abj6031i.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%2Fagb89uwjcft3abj6031i.png" alt="Image description" width="800" height="357"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 7: Route Telemetry Data to Blob Storage&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Set up a route in the IoT hub&lt;/strong&gt;: On the left side of the menu, click on message routing and click on '&lt;strong&gt;+Add&lt;/strong&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%2F21cksfxnu8hh92zh3dg3.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%2F21cksfxnu8hh92zh3dg3.png" alt="Image description" width="800" height="503"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Create Storage Endpoint:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Name: Enter a name for the endpoint.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;On the Endpoint type drop menu, choose 'storage'&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Container: Select the container you created.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Encoding: You can leave the default setting or choose JSON&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Leave default setting and click next&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%2F0qha5y2zfx7jahn1xgu8.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%2F0qha5y2zfx7jahn1xgu8.png" alt="Image description" width="800" height="803"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Configure the route:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Name&lt;/strong&gt;: Enter a name for the route.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Source&lt;/strong&gt;: Select Device Telemetry Messages.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;4. Save the Route:&lt;/strong&gt; After configuring the endpoint, save the route.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Conclusion&lt;/strong&gt;&lt;br&gt;
You have now successfully set up an IoT solution using Azure IoT Hub, registered a device, simulated telemetry data, and routed that data to Azure Blob Storage. This setup can be expanded and customized based on your specific IoT solution requirements.&lt;/p&gt;

</description>
      <category>azure</category>
      <category>microsoft</category>
      <category>networking</category>
      <category>cloudcomputing</category>
    </item>
    <item>
      <title>Creating an Azure Virtual Network with Four Subnets (192.148.30.0/26)</title>
      <dc:creator>Adah Okwara</dc:creator>
      <pubDate>Sat, 13 Jul 2024 04:25:24 +0000</pubDate>
      <link>https://dev.to/adah_okwara_3c43c95a89a2e/creating-an-azure-virtual-network-with-four-subnets-19214830026-478l</link>
      <guid>https://dev.to/adah_okwara_3c43c95a89a2e/creating-an-azure-virtual-network-with-four-subnets-19214830026-478l</guid>
      <description>&lt;p&gt;A virtual network (VNet) in Azure acts as the foundation for your private cloud environment. It defines a secure communication space for your Azure resources, including virtual machines (VMs). This blog will guide you through creating a VNet with four subnets using the address space 192.148.30.0/26.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Prerequisites:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;An Azure account with an active subscription&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Steps&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1.Access the Azure Portal:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Log in to the Azure portal https:&lt;a href="https://dev.tourl"&gt;//azure.microsoft.com/en-us/get-started/azure-portal&lt;/a&gt; using your Azure account credentials.&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%2F7fdqvirten5qybw8i9c6.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%2F7fdqvirten5qybw8i9c6.png" alt="Image description" width="800" height="334"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2.&lt;/strong&gt;  &lt;strong&gt;Create a Virtual Network:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;In the Azure portal search bar, type "Virtual Network" and select the service from the results.&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%2Fq2l86sza0767ekaxt0mb.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%2Fq2l86sza0767ekaxt0mb.png" alt="Image description" width="800" height="283"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Click on the "+ Create" button.&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%2Fne0sre6plvyitshp54gt.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%2Fne0sre6plvyitshp54gt.png" alt="Image description" width="800" height="478"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3.&lt;/strong&gt; &lt;strong&gt;Configure Virtual Network Settings:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Provide a unique name for your VNet (e.g., "MyVNet").&lt;/li&gt;
&lt;li&gt;Select the appropriate subscription that you want to use for this virtual network.&lt;/li&gt;
&lt;li&gt;Choose a resource group or create a new one to organize your Azure resources.&lt;/li&gt;
&lt;li&gt;Select the appropriate location for your VNet deployment.&lt;/li&gt;
&lt;li&gt;Click on the IP Address on your top left options&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%2F9eaareiylozp85aksurn.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%2F9eaareiylozp85aksurn.png" alt="Image description" width="800" height="471"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4.&lt;/strong&gt;  &lt;strong&gt;Define the IP Address Space:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;For the "Address space" field, enter "192.148.30.0/26" as the address space for the virtual network.&lt;/li&gt;
&lt;li&gt;A /26 subnet mask provides 64 usable IP addresses within the VNet.&lt;/li&gt;
&lt;li&gt;Leave the other settings at their default values and click on the "Next: Subnets" button.
&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%2Fq92cad6yvvbb26d7x1ct.png" alt="Image description" width="800" height="581"&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;5.&lt;/strong&gt; &lt;strong&gt;Create and Configure the Subnets:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Click on "+ Subnet" to add a new subnet.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Provide a name for your subnet (e.g., "Subnet1").&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Define the subnet address range. In this step, you'll divide the /26 VNet address space (192.148.30.0/26) into four subnets. To achieve this, you'll use a /28 subnet mask. This configuration provides 16 usable IP addresses per subnet, offering a balanced approach for your four-subnet virtual network.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Subnet 1:&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;ol&gt;
&lt;li&gt;Name: Subnet 1&lt;/li&gt;
&lt;li&gt;Subnet address range: 192.148.30.0/28&lt;/li&gt;
&lt;li&gt;Click "Add".&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%2Fitedzsq8zp87fgxaje84.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%2Fitedzsq8zp87fgxaje84.png" alt="Image description" width="800" height="346"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Subnet 2&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;1.Name: Subnet 2&lt;br&gt;
2.Subnet address range: 192.148.30.16/28 &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Click "Add"&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%2Fu3ckklmn13gm97r36llt.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%2Fu3ckklmn13gm97r36llt.png" alt="Image description" width="800" height="347"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Subnet 3&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;1.Name: Subnet 3&lt;br&gt;
2.Subnet address range: 192.148.30.32/28 &lt;br&gt;
3.Click "Add"&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%2Fxvaqsbdi2myuab2w4arc.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%2Fxvaqsbdi2myuab2w4arc.png" alt="Image description" width="800" height="344"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Subnet 4&lt;/li&gt;
&lt;/ul&gt;

&lt;ol&gt;
&lt;li&gt;Name: Subnet 4&lt;/li&gt;
&lt;li&gt;Subnet address range: 192.148.30.48/28&lt;/li&gt;
&lt;li&gt;Click " Add"&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%2Fv2f1rqltxynqpkmkwlwh.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%2Fv2f1rqltxynqpkmkwlwh.png" alt="Image description" width="800" height="349"&gt;&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;6&lt;/strong&gt;.  &lt;strong&gt;Review and create the virtual network&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Review the configuration details of your VNet and subnets to ensure they are correct.&lt;/li&gt;
&lt;li&gt;Once satisfied, click on the "Review + create" button to validate the settings. &lt;/li&gt;
&lt;li&gt;After validation is successful, click on the "Create" button to deploy your virtual network with the four subnets&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%2F6pz7ut9i8n0ce7r8ihap.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%2F6pz7ut9i8n0ce7r8ihap.png" alt="Image description" width="800" height="665"&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%2Fycofl0y52fcow9ldz3kv.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%2Fycofl0y52fcow9ldz3kv.png" alt="Image description" width="800" height="620"&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%2Fyraplmrxww9pwchhptsq.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%2Fyraplmrxww9pwchhptsq.png" alt="Image description" width="800" height="348"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Excellent work!&lt;/strong&gt; You've meticulously divided your Azure virtual network's /26 address space (192.148.30.0/26) into four efficiently sized subnets, providing a solid foundation for deploying your resources.&lt;/p&gt;

</description>
      <category>azure</category>
      <category>cloudcomputing</category>
      <category>networking</category>
      <category>microsoft</category>
    </item>
    <item>
      <title>HOST A STATIC WEBSITE ON AZURE BLOB STORAGE</title>
      <dc:creator>Adah Okwara</dc:creator>
      <pubDate>Thu, 04 Jul 2024 18:25:07 +0000</pubDate>
      <link>https://dev.to/adah_okwara_3c43c95a89a2e/host-a-static-website-on-azure-blob-storage-4n0j</link>
      <guid>https://dev.to/adah_okwara_3c43c95a89a2e/host-a-static-website-on-azure-blob-storage-4n0j</guid>
      <description>&lt;p&gt;Deploying a static website on Azure Blob Storage is a cost-effective and scalable solution for website hosting. Azure Blob Storage offers secure and scalable object storage for unstructured data and includes the capability to host static websites directly from a storage account. This blog will walk you through the process of deploying a static website to Azure Storage, enabling you to have a publicly accessible website.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Prerequisites&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;An active Azure account. However, if you do not have one, you sign up at &lt;a href="https://dev.tourl"&gt;Azure&lt;/a&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Step 1: Log in Azure&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Go to the &lt;a href="https://dev.tourl"&gt;Azure Portal&lt;/a&gt; and sign in.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Step 2: Create a storage account&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;In the middle side menu, Click on "storage account"&lt;/li&gt;
&lt;li&gt;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%2F8jvranvcihui0q51ryzg.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%2F8jvranvcihui0q51ryzg.png" alt="Image description" width="800" height="218"&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%2Frwtvrnnvyh4nc8vc3qsw.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%2Frwtvrnnvyh4nc8vc3qsw.png" alt="Image description" width="800" height="249"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Configure Storage account&lt;/strong&gt;&lt;/p&gt;

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

&lt;ol&gt;
&lt;li&gt;Select your subscription.&lt;/li&gt;
&lt;li&gt;Choose or create a new resource group.&lt;/li&gt;
&lt;li&gt;Enter a unique storage account name.&lt;/li&gt;
&lt;li&gt;Select a region.&lt;/li&gt;
&lt;li&gt;Choose "Standard" for performance.&lt;/li&gt;
&lt;li&gt;Select "Geo-redundant storage (GRS)" for redundancy&lt;/li&gt;
&lt;li&gt;Click the "Next" button and configure the remaining sections as needed, or leave the default settings in place.&lt;/li&gt;
&lt;li&gt;Click "Review + Create".&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%2Fne8jsng11ls3ued1xg2c.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%2Fne8jsng11ls3ued1xg2c.jpg" alt="Image description" width="800" height="331"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Validation and Create&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Verify that all configurations are correct.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Click "create"&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%2F6qjeqvlym7lsnckbumpy.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%2F6qjeqvlym7lsnckbumpy.png" alt="Image description" width="800" height="562"&gt;&lt;/a&gt;&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;After the creation of the storage account, click on "go to Resource"&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%2Fptbzhyhiqr75jyykvh3i.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%2Fptbzhyhiqr75jyykvh3i.png" alt="Image description" width="800" height="334"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 3: Navigate to Static website&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;In the left-hand menu, Click "Data management"&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;On the data management drop down, click "Static website"&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%2Fvx8wecbe2eowg8pjqwys.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%2Fvx8wecbe2eowg8pjqwys.png" alt="Image description" width="800" height="377"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Enable static website&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Click "Enabled"&lt;/li&gt;
&lt;li&gt;Enter 'index.html' as the index document name.&lt;/li&gt;
&lt;li&gt;Enter '404.html'on the error document path&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%2Fq204sdw2yumycv1x82ok.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%2Fq204sdw2yumycv1x82ok.png" alt="Image description" width="800" height="358"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Note Down the Endpoints:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;After saving, you will see primary and secondary endpoint URLs. Copy the primary endpoint 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%2F1475iotj198w5p0vw2u2.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%2F1475iotj198w5p0vw2u2.png" alt="Image description" width="800" height="378"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 4:Upload website files&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;1.** Navigate to containers:**&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;In the left-hand menu, On "Data storage" drop down, Click on "Containers".

&lt;ul&gt;
&lt;li&gt;Click on the '$web' container.&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%2Fvbu1wgtx1kfrqx7sa5t2.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%2Fvbu1wgtx1kfrqx7sa5t2.png" alt="Image description" width="800" height="326"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Upload Files from your laptop&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Click on "upload"&lt;/li&gt;
&lt;li&gt;Navigate to where 'my website' folder is saved on your PC&lt;/li&gt;
&lt;li&gt;Drag and drop the website files into the upload box.&lt;/li&gt;
&lt;li&gt;Click "Upload" to transfer your files to the $web 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%2Fn2br4hhcfnjqo1cpglpe.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%2Fn2br4hhcfnjqo1cpglpe.png" alt="Image description" width="800" height="460"&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%2F0xlegffmu5p6gbt1fl7p.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%2F0xlegffmu5p6gbt1fl7p.png" alt="Image description" width="800" height="242"&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%2Fgmrnmhfeplpfbg325tio.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%2Fgmrnmhfeplpfbg325tio.png" alt="Image description" width="800" height="268"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 5: Testing your Website&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Access your website&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;Open a web browser &lt;/li&gt;
&lt;li&gt;Enter the primary endpoint URL copied earlier and paste on your browser.&lt;/li&gt;
&lt;li&gt;Your static website should now be live and accessible anywhere&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%2Fohv7n5uzh52lbba1dob7.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%2Fohv7n5uzh52lbba1dob7.png" alt="Image description" width="800" height="353"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Conclusion&lt;br&gt;
Hosting a static website on Azure Blob Storage is a straightforward and efficient process. By following these steps, you can quickly deploy and share your static website. Azure’s scalability and robust security features ensure that your site performs optimally and remains secure.&lt;/p&gt;

&lt;p&gt;Happy Hosting!!!&lt;/p&gt;

</description>
      <category>azure</category>
      <category>cloudcomputing</category>
      <category>staticwebapps</category>
      <category>webdev</category>
    </item>
    <item>
      <title>HOST A STATIC WEBSITE ON AZURE BLOB STORAGE</title>
      <dc:creator>Adah Okwara</dc:creator>
      <pubDate>Thu, 04 Jul 2024 18:25:07 +0000</pubDate>
      <link>https://dev.to/adah_okwara_3c43c95a89a2e/host-a-static-website-on-azure-blob-storage-28jg</link>
      <guid>https://dev.to/adah_okwara_3c43c95a89a2e/host-a-static-website-on-azure-blob-storage-28jg</guid>
      <description>&lt;p&gt;Deploying a static website on Azure Blob Storage is a cost-effective and scalable solution for website hosting. Azure Blob Storage offers secure and scalable object storage for unstructured data and includes the capability to host static websites directly from a storage account. This blog will walk you through the process of deploying a static website to Azure Storage, enabling you to have a publicly accessible website.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Prerequisites&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;An active Azure account. However, if you do not have one, you sign up at &lt;a href="https://dev.tourl"&gt;Azure&lt;/a&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Step 1: Log in Azure&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Go to the &lt;a href="https://dev.tourl"&gt;Azure Portal&lt;/a&gt; and sign in.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Step 2: Create a storage account&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;In the middle side menu, Click on "storage account"&lt;/li&gt;
&lt;li&gt;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%2F8jvranvcihui0q51ryzg.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%2F8jvranvcihui0q51ryzg.png" alt="Image description" width="800" height="218"&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%2Frwtvrnnvyh4nc8vc3qsw.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%2Frwtvrnnvyh4nc8vc3qsw.png" alt="Image description" width="800" height="249"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Configure Storage account&lt;/strong&gt;&lt;/p&gt;

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

&lt;ol&gt;
&lt;li&gt;Select your subscription.&lt;/li&gt;
&lt;li&gt;Choose or create a new resource group.&lt;/li&gt;
&lt;li&gt;Enter a unique storage account name.&lt;/li&gt;
&lt;li&gt;Select a region.&lt;/li&gt;
&lt;li&gt;Choose "Standard" for performance.&lt;/li&gt;
&lt;li&gt;Select "Geo-redundant storage (GRS)" for redundancy&lt;/li&gt;
&lt;li&gt;Click the "Next" button and configure the remaining sections as needed, or leave the default settings in place.&lt;/li&gt;
&lt;li&gt;Click "Review + Create".&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%2Fne8jsng11ls3ued1xg2c.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%2Fne8jsng11ls3ued1xg2c.jpg" alt="Image description" width="800" height="331"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Validation and Create&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Verify that all configurations are correct.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Click "create"&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%2F6qjeqvlym7lsnckbumpy.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%2F6qjeqvlym7lsnckbumpy.png" alt="Image description" width="800" height="562"&gt;&lt;/a&gt;&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;After the creation of the storage account, click on "go to Resource"&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%2Fptbzhyhiqr75jyykvh3i.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%2Fptbzhyhiqr75jyykvh3i.png" alt="Image description" width="800" height="334"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 3: Navigate to Static website&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;In the left-hand menu, Click "Data management"&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;On the data management drop down, click "Static website"&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%2Fvx8wecbe2eowg8pjqwys.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%2Fvx8wecbe2eowg8pjqwys.png" alt="Image description" width="800" height="377"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Enable static website&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Click "Enabled"&lt;/li&gt;
&lt;li&gt;Enter 'index.html' as the index document name.&lt;/li&gt;
&lt;li&gt;Enter '404.html'on the error document path&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%2Fq204sdw2yumycv1x82ok.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%2Fq204sdw2yumycv1x82ok.png" alt="Image description" width="800" height="358"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Note Down the Endpoints:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;After saving, you will see primary and secondary endpoint URLs. Copy the primary endpoint 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%2F1475iotj198w5p0vw2u2.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%2F1475iotj198w5p0vw2u2.png" alt="Image description" width="800" height="378"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 4:Upload website files&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;1.** Navigate to containers:**&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;In the left-hand menu, On "Data storage" drop down, Click on "Containers".

&lt;ul&gt;
&lt;li&gt;Click on the '$web' container.&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%2Fvbu1wgtx1kfrqx7sa5t2.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%2Fvbu1wgtx1kfrqx7sa5t2.png" alt="Image description" width="800" height="326"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Upload Files from your laptop&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Click on "upload"&lt;/li&gt;
&lt;li&gt;Navigate to where 'my website' folder is saved on your PC&lt;/li&gt;
&lt;li&gt;Drag and drop the website files into the upload box.&lt;/li&gt;
&lt;li&gt;Click "Upload" to transfer your files to the $web 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%2Fn2br4hhcfnjqo1cpglpe.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%2Fn2br4hhcfnjqo1cpglpe.png" alt="Image description" width="800" height="460"&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%2F0xlegffmu5p6gbt1fl7p.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%2F0xlegffmu5p6gbt1fl7p.png" alt="Image description" width="800" height="242"&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%2Fgmrnmhfeplpfbg325tio.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%2Fgmrnmhfeplpfbg325tio.png" alt="Image description" width="800" height="268"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 5: Testing your Website&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Access your website&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;Open a web browser &lt;/li&gt;
&lt;li&gt;Enter the primary endpoint URL copied earlier and paste on your browser.&lt;/li&gt;
&lt;li&gt;Your static website should now be live and accessible anywhere&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%2Fohv7n5uzh52lbba1dob7.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%2Fohv7n5uzh52lbba1dob7.png" alt="Image description" width="800" height="353"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Conclusion&lt;br&gt;
Hosting a static website on Azure Blob Storage is a straightforward and efficient process. By following these steps, you can quickly deploy and share your static website. Azure’s scalability and robust security features ensure that your site performs optimally and remains secure.&lt;/p&gt;

&lt;p&gt;Happy Hosting!!!&lt;/p&gt;

</description>
      <category>azure</category>
      <category>cloudcomputing</category>
      <category>staticwebapps</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Creating and Connecting to a Linux Virtual Machine Using Public Key Authentication on Azure Portal</title>
      <dc:creator>Adah Okwara</dc:creator>
      <pubDate>Fri, 21 Jun 2024 04:24:01 +0000</pubDate>
      <link>https://dev.to/adah_okwara_3c43c95a89a2e/creating-and-connecting-to-a-linux-virtual-machine-using-public-key-authentication-on-azure-portal-52l4</link>
      <guid>https://dev.to/adah_okwara_3c43c95a89a2e/creating-and-connecting-to-a-linux-virtual-machine-using-public-key-authentication-on-azure-portal-52l4</guid>
      <description>&lt;p&gt;Azure Virtual machines (VMs) can be created through the azure portal. The Azure portal is a browser-based user interface to create Azure resources. This article shows you how to use the Azure portal to deploy a Linux Virtual Machine (VM)using Public key Authentication.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 1: Sign in to Azure Portal
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Open your web browser and access the &lt;a href="https://dev.tourl"&gt;Azure Portal&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Sign in using your Azure account credentials&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%2Fr47sc87rin1oltc4cl7b.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%2Fr47sc87rin1oltc4cl7b.png" alt="Image description" width="800" height="313"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 2: Create a Resource Group (if not available or use an existing one)
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Resource Group&lt;/strong&gt;: If a suitable resource group for your VM deployment does not exist, create a new one.&lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Click on &lt;strong&gt;resource groups&lt;/strong&gt; in the upper left corner of the Azure portal.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Click &lt;strong&gt;+ Create&lt;/strong&gt; to create a new resource group.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Assign a &lt;strong&gt;Name&lt;/strong&gt; for your resource group, choose a &lt;strong&gt;Subscription,&lt;/strong&gt; and select a &lt;strong&gt;Region&lt;/strong&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Click &lt;strong&gt;Review + create&lt;/strong&gt; and then &lt;strong&gt;Create&lt;/strong&gt; to create the resource group.&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%2F9icve1n8ghrkmn634z49.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%2F9icve1n8ghrkmn634z49.png" alt="Image description" width="800" height="124"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 3: Create a Virtual Machine
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Create VM:&lt;/strong&gt; Now create a new Virtual Machine. There are several methods of searching for virtual machine:&lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;In the Azure portal, click &lt;strong&gt;+ Create a resource&lt;/strong&gt; at the top-left corner.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Search for Virtual Machine and click &lt;strong&gt;Create&lt;/strong&gt;. &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%2Fhtfivc881pn4irjh2lv7.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%2Fhtfivc881pn4irjh2lv7.png" alt="Image description" width="800" height="323"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Alternatively, you can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;In the search bar of the home page, type 'Virtual Machines' and select &lt;strong&gt;Virtual Machines **under **Services&lt;/strong&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%2Fvs2zklgnvpr7dilk4rjq.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%2Fvs2zklgnvpr7dilk4rjq.png" alt="Image description" width="800" height="435"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;On the Virtual Machines page, select &lt;strong&gt;Create&lt;/strong&gt;, this will open the Create a &lt;strong&gt;virtual Machine&lt;/strong&gt; page&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%2Ftmtx9e7e6w643zfdxisl.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%2Ftmtx9e7e6w643zfdxisl.png" alt="Image description" width="800" height="295"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Configure the Basics&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt; &lt;strong&gt;Subscription&lt;/strong&gt;: Select the correct subscription you want to use&lt;/li&gt;
&lt;li&gt; &lt;strong&gt;Resource group&lt;/strong&gt;: Select the resource group you have created or create a new one if you have not (another way of creating resource group)&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Virtual machine name&lt;/strong&gt;: Specify a name for your VM&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Region:&lt;/strong&gt; Choose the region where you would want to deploy your VM&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Availability options&lt;/strong&gt;: Choose any if needed&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Image:&lt;/strong&gt; Select a Linux distribution (Ubuntu Server from the list)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Size:&lt;/strong&gt; Choose a VM size based on what you require.&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%2Frxc6q7vdux51lee9z7tk.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%2Frxc6q7vdux51lee9z7tk.png" alt="Image description" width="800" height="659"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Administrator Account&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Authentication type&lt;/strong&gt;: Select &lt;strong&gt;SSH public key&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Username:&lt;/strong&gt; Choose a username&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;SSH public key source:&lt;/strong&gt; Keep the default setting of &lt;strong&gt;Generate new Key pair&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Key pair name&lt;/strong&gt;: Name mostly pops up on its own&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Public inbound ports:&lt;/strong&gt; Select &lt;strong&gt;Allow selected ports&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Select inbound ports:&lt;/strong&gt; Choose &lt;strong&gt;HTTP (80)&lt;/strong&gt; and &lt;strong&gt;SSH (22)&lt;/strong&gt; or as required.&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%2Fpvzomt7cb79sar8w3fhb.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%2Fpvzomt7cb79sar8w3fhb.png" alt="Image description" width="800" height="448"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3.Disks and other settings:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Configure the disk, networking, management, and monitoring options according to your requirements.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Review + Create:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Review your VM configuration&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Click &lt;strong&gt;create&lt;/strong&gt; to start deploying your VM after validation passed.&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%2Frxbicd6r7xo70ljpf4zv.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%2Frxbicd6r7xo70ljpf4zv.png" alt="Image description" width="800" height="454"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 4: Connect to your Linux VM
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;SSH Connection through PowerShell:&lt;/strong&gt; Once the deployment is complete, you can connect your VM to SSH through PowerShell.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Navigate to your VM in the Azure portal.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Under Settings, click on Connect to get connection information.&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%2Fywtypxgvomxl06d01scs.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%2Fywtypxgvomxl06d01scs.png" alt="Image description" width="800" height="339"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Using PowerShell:&lt;/strong&gt; This can be done with your Laptop.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Open PowerShell on your physical computer&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Use this command to connect to your Linux VM using SSH: &lt;br&gt;
&lt;a href="https://dev.tourl"&gt;ssh username@public-ip-address&lt;/a&gt;&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%2Fi88shfdlxyurn4pnmyiz.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%2Fi88shfdlxyurn4pnmyiz.png" alt="Image description" width="800" height="124"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;whereby, you replace the 'username' with the username you specified during the creation of VM and 'public-ip-address' with the public address of your VM.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;If prompted to confirm the connection, type 'yes' and press Enter.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Step 5: Clean Up Resources
&lt;/h2&gt;

&lt;p&gt;After you've finished using your VM, it's a good practice to clean up resources to avoid unnecessary charges:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;In the Azure portal, navigate to your resource group containing the VM.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Select the resource group and click Delete.&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%2F8awpidcv23e8cn68gmpk.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%2F8awpidcv23e8cn68gmpk.png" alt="Image description" width="800" height="335"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Follow the prompts to confirm deletion. This action will delete all resources within the resource group, including the VM, disks, and network interfaces.&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%2Fhcvqi654u61amqoppe7q.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%2Fhcvqi654u61amqoppe7q.png" alt="Image description" width="800" height="487"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In conclusion, setting up and deploying a Linux VM on Azure, along with connecting to it via SSH using PowerShell, offers a versatile and potent environment for development and testing purposes. It's essential to regularly tidy up resources to control costs and uphold an organized Azure setup. Azure's user-friendly interface and comprehensive management tools simplify the process of efficiently handling your virtual machines.&lt;/p&gt;

</description>
      <category>azure</category>
      <category>virtualmachine</category>
      <category>linux</category>
      <category>techtalks</category>
    </item>
    <item>
      <title>Mastering the core components of Azure architecture</title>
      <dc:creator>Adah Okwara</dc:creator>
      <pubDate>Thu, 06 Jun 2024 21:31:14 +0000</pubDate>
      <link>https://dev.to/adah_okwara_3c43c95a89a2e/understanding-the-core-architectural-components-of-azure-26me</link>
      <guid>https://dev.to/adah_okwara_3c43c95a89a2e/understanding-the-core-architectural-components-of-azure-26me</guid>
      <description>&lt;h2&gt;
  
  
  MICROSOFT AZURE CORE ARCHITECTURAL COMPONENTS
&lt;/h2&gt;

&lt;p&gt;Microsoft Azure is built on a few key elements that help keep your services running smoothly and reliably. The main components include Azure regions, Azure Availability Zones, resource groups, and the Azure Resource Manager. In this blog, we will explore what each of these components does and how they work together to provide high availability and redundancy.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;AZURE REGIONS&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Azure regions are groups of data centers located within a specific geographic area, connected by a high-speed, low-latency network. These regions help ensure data sovereignty, compliance, and resiliency. Currently, Azure has 42 regions worldwide, with 12 more planned for the future.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;AZURE AVAILABILITY ZONES&lt;/strong&gt;&lt;br&gt;
Azure Availability Zones are designed to protect your applications and data from data center failures. Each Availability Zone is a distinct physical location within an Azure region, and each zone has its own independent power, cooling, and networking infrastructure.&lt;br&gt;
Imagine you have a house with different rooms, and each room has its own power source, air conditioning, and internet connection. Now, let's say you have some very important gadgets in your house that you absolutely can't afford to lose or have go offline, like your computer or your TV.&lt;/p&gt;

&lt;p&gt;Azure Availability Zones are like having three identical houses next to each other, but each house is designed so that if something goes wrong in one house, like a power outage or internet trouble, the other two houses keep working just fine. In each house, there are different areas (like rooms) that are set up in such a way that if one area has a problem, the rest of the house can still operate smoothly.&lt;/p&gt;

&lt;p&gt;When you put your important gadgets in these three houses (Azure Virtual Machines in different Availability Zones), you're making sure they are spread out so that if something goes wrong in one area or one entire house, the others keep running without any interruption. This way, you're protecting your gadgets from any issues that might happen in a single house or area.&lt;/p&gt;

&lt;p&gt;Azure promises that if you use these Availability Zones, your gadgets will be up and running 99.99% of the time, which is really reliable and helps keep everything working smoothly even if something unexpected happens.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;RESOURCE GROUPS IN AZURE&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
This a logical container for Azure resources.&lt;br&gt;
Imagine resource groups in Azure as organized digital containers, like labeled boxes, where you neatly keep your online stuff. Just as you might pack all your kitchen items in one box when moving, you can group related Azure resources together in a resource group.&lt;/p&gt;

&lt;p&gt;For example, if you have a website and a database that goes with it, you'd put both of them in the same resource group. This makes it easier to manage costs, simplifies resource management and organization, and helps with management and deployment tasks.&lt;/p&gt;

&lt;p&gt;_&lt;strong&gt;Here are some key benefits of using resource groups:&lt;br&gt;
_&lt;/strong&gt;&lt;br&gt;
Easier Cost Management:  By grouping resources in a resource group, you can track and manage costs more efficiently. It's like having a separate budget for each labeled box, making it clear what you're spending on each part of your Azure solution.&lt;/p&gt;

&lt;p&gt;Simplified Resource Management &amp;amp; Organization: Resource groups help you keep things tidy and organized. You can easily see which resources are related to which part of your project, making it simpler to manage and keep track of everything.&lt;/p&gt;

&lt;p&gt;***&lt;em&gt;Simplifies Management &amp;amp; Deployment: *&lt;/em&gt; **When it's time to manage or deploy resources, having them grouped in resource groups makes the process smoother. You can apply changes or updates to a whole group at once, rather than dealing with each resource individually.&lt;/p&gt;

&lt;p&gt;Grouping by Application, Environment, or Department:  Resource groups are flexible, allowing you to group resources based on your needs. Whether it's by application (like putting all components of your web app together), environment (like separating resources for development and production), or department (like grouping resources used by different teams), resource groups make it easy to organize things according to your project's structure.&lt;/p&gt;

&lt;p&gt;So, think of resource groups as your digital storage solution that not only keeps your online stuff organized but also makes managing, deploying, and budgeting for your Azure resources a whole lot simpler.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;AZURE RESOURCE MANAGER (ARM)&lt;/strong&gt; &lt;br&gt;
Imagine Azure as a bustling city with different buildings and services, and your application deployed in Azure is like a complex building with various parts - virtual machines, storage, a web app, and a database. These parts work together to make your application run smoothly, just like how different components in a building work together.&lt;/p&gt;

&lt;p&gt;Now, think of Azure Resource Manager as the city planner or manager. It's the tool that helps you oversee and manage all these parts of your application as if you were managing a whole building complex.&lt;/p&gt;

&lt;p&gt;*&lt;em&gt;Benefits: *&lt;/em&gt;&lt;br&gt;
Deployment and Management: With Azure Resource Manager, you can deploy, update, and manage all the parts of your application at once. It's like taking care of everything in your building complex in one go, from construction to maintenance.&lt;/p&gt;

&lt;p&gt;*&lt;em&gt;Templates for Easy Deployment: *&lt;/em&gt; Resource Manager provides templates that make deploying your application easier. These templates are like ready-made plans that ensure everything is set up correctly, just like how you'd use a blueprint to build a house.&lt;/p&gt;

&lt;p&gt;Consistent Management and Security:  Resource Manager gives you a consistent way to manage all your resources in Azure. It also helps keep your resources secure with features like Role-Based Access Control (RBAC), which is like having keys to different areas of your building complex for different people.&lt;/p&gt;

&lt;p&gt;Tagging for Organization: You can use tagging features to organize and keep track of your resources. It's like putting labels on different parts of your building complex so you can find and manage them easily.&lt;/p&gt;

&lt;p&gt;So, Azure Resource Manager is like your digital city manager, helping you keep everything organized, secure, and running smoothly in your Azure "city."&lt;/p&gt;

&lt;p&gt;In essence, Azure's core architectural components form the backbone of a robust and scalable cloud infrastructure. From virtual machines and storage accounts to web apps and databases, each component plays a vital role in creating and maintaining modern cloud-based solutions.&lt;br&gt;
And just as a city planner organizes and manages a city, Azure Resource Manager brings all these components together seamlessly. It's like having a superhero overseeing your digital city, making sure everything runs smoothly and securely.&lt;br&gt;
By leveraging these foundational elements, businesses can build resilient and efficient applications in the cloud, empowering innovation and growth in today's digital landscape&lt;/p&gt;

</description>
      <category>azure</category>
      <category>cloudcomputing</category>
      <category>architecture</category>
      <category>microsoftcloud</category>
    </item>
  </channel>
</rss>
