<?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: Tomiwa Ogunleye</title>
    <description>The latest articles on DEV Community by Tomiwa Ogunleye (@tomiwaogun).</description>
    <link>https://dev.to/tomiwaogun</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%2F2821653%2Fbf724a7a-c4e8-4290-bcbc-8299d2400a0b.jpeg</url>
      <title>DEV Community: Tomiwa Ogunleye</title>
      <link>https://dev.to/tomiwaogun</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/tomiwaogun"/>
    <language>en</language>
    <item>
      <title>Deploying to Windows 11, Windows Server, and EC2 Instances</title>
      <dc:creator>Tomiwa Ogunleye</dc:creator>
      <pubDate>Tue, 25 Mar 2025 19:30:30 +0000</pubDate>
      <link>https://dev.to/tomiwaogun/deploying-to-windows-11-windows-server-and-ec2-instances-2g2p</link>
      <guid>https://dev.to/tomiwaogun/deploying-to-windows-11-windows-server-and-ec2-instances-2g2p</guid>
      <description>&lt;h1&gt;
  
  
  Deploying to Windows 11, Windows Server, and EC2 Instances
&lt;/h1&gt;

&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;Deploying virtual machines (VMs) in various environments such as Windows 11, Windows Server, and AWS EC2 is essential for setting up development and production systems. This guide focuses on setting up a Windows 11 VM in Azure, with additional sections covering Windows Server and EC2.&lt;/p&gt;




&lt;h1&gt;
  
  
  Deploying to Windows 11: Setting Up a Virtual Machine in Azure
&lt;/h1&gt;

&lt;h2&gt;
  
  
  Prerequisites
&lt;/h2&gt;

&lt;p&gt;Before proceeding, ensure that:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;You have an Azure account with the necessary permissions to create virtual machines.&lt;/li&gt;
&lt;li&gt;You have selected the appropriate VM size and image for Windows 11.&lt;/li&gt;
&lt;li&gt;You have configured networking and security settings properly.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Creating a Windows 11 Virtual Machine in Azure
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Log into Azure Portal&lt;/strong&gt;: Go to &lt;a href="https://portal.azure.com" rel="noopener noreferrer"&gt;Azure Portal&lt;/a&gt; and navigate to &lt;strong&gt;Virtual Machines&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Create a New VM&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Click &lt;strong&gt;Create&lt;/strong&gt; &amp;gt; &lt;strong&gt;Azure Virtual Machine&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Select &lt;strong&gt;Windows 11&lt;/strong&gt; as the image.&lt;/li&gt;
&lt;li&gt;Choose an appropriate VM size (at least 4 vCPUs and 8GB RAM recommended).&lt;/li&gt;
&lt;/ul&gt;
&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%2Flgrwihkxqstmem5688nx.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flgrwihkxqstmem5688nx.PNG" alt="Image description" width="800" height="387"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Configure Networking&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Ensure that RDP access is enabled (port 3389).&lt;/li&gt;
&lt;li&gt;Set up a public or private IP as needed.&lt;/li&gt;
&lt;/ul&gt;
&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%2Fuzg14qe2663pum5xwfvf.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fuzg14qe2663pum5xwfvf.PNG" alt="Image description" width="800" height="740"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Set Up Disk and Storage&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Use a managed disk with at least 64GB storage.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Create and Deploy the VM&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Review settings and click &lt;strong&gt;Create&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Connect to the VM&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Once deployed, use &lt;strong&gt;Remote Desktop (RDP)&lt;/strong&gt; to connect by entering the public IP and logging in with the configured credentials.&lt;/li&gt;
&lt;/ul&gt;
&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%2Fle5nvipm09mrnmtjf3zh.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fle5nvipm09mrnmtjf3zh.PNG" alt="Image description" width="800" height="200"&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%2Fm4cyndbj3lv40g8rwrw0.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fm4cyndbj3lv40g8rwrw0.PNG" alt="Image description" width="800" height="358"&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%2Fvrlc47bs38j8d8k9ppik.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvrlc47bs38j8d8k9ppik.PNG" alt="Image description" width="800" height="500"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Post-Installation Steps
&lt;/h2&gt;

&lt;p&gt;Once Windows 11 is installed in the VM:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Install necessary drivers and updates.&lt;/li&gt;
&lt;li&gt;Configure firewall and security settings.&lt;/li&gt;
&lt;li&gt;Set up remote access and enable necessary software.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;By following these steps, you have successfully deployed a Windows 11 virtual machine in Azure.&lt;/p&gt;




&lt;h1&gt;
  
  
  🌐 Deploying a Web Server VM and Installing IIS on Windows
&lt;/h1&gt;

&lt;h3&gt;
  
  
  🚀 Step 1: Create a Web Server VM in Azure
&lt;/h3&gt;

&lt;p&gt;Ensure that when creating the VM, you select a Windows Server image.&lt;/p&gt;

&lt;h3&gt;
  
  
  💻 Step 2: RDP into the VM
&lt;/h3&gt;

&lt;p&gt;On Windows:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Open &lt;strong&gt;Remote Desktop Connection (RDP)&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Enter the public IP address of the VM&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Connect&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Enter your &lt;strong&gt;Admin username &amp;amp; password&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;OK&lt;/strong&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  ⚡ Step 3: Open PowerShell as Administrator
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight powershell"&gt;&lt;code&gt;&lt;span class="n"&gt;Install-WindowsFeature&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;-name&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;Web-Server&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;-IncludeManagementTools&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



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

&lt;h3&gt;
  
  
  ✅ Step 5: Verify IIS Installation
&lt;/h3&gt;

&lt;h4&gt;
  
  
  📌 Method 1: Localhost
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;http://localhost
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  📌 Method 2: Public IP Address
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;http://&amp;lt;your_vm_ip&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



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

&lt;h3&gt;
  
  
  🛠️ Troubleshooting
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;IIS Not Running?&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight powershell"&gt;&lt;code&gt;&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="n"&gt;Start-Service&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;W3SVC&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Can't Access the Web Page?&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight powershell"&gt;&lt;code&gt;&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="n"&gt;New-NetFirewallRule&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;-DisplayName&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Allow HTTP"&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;-Direction&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;Inbound&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;-Protocol&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;TCP&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;-LocalPort&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;80&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;-Action&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;Allow&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Restart IIS if needed:&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight powershell"&gt;&lt;code&gt;&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="n"&gt;Restart-Service&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;W3SVC&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h1&gt;
  
  
  🔐 Basic SSH Commands in Azure &amp;amp; Linux
&lt;/h1&gt;

&lt;p&gt;SSH (Secure Shell) allows secure remote access to Linux servers. Below are the essential SSH commands and their usage.&lt;/p&gt;

&lt;h2&gt;
  
  
  📌 Basic SSH Syntax
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;ssh username@hostname_or_ip
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;username&lt;/code&gt; → The user account you want to log in with.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;hostname_or_ip&lt;/code&gt; → The IP address or domain name of the remote server.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  🔑 Example 1: SSH with Password Authentication
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;ssh azureuser@192.168.1.100
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  🔐 Example 2: SSH with a Private Key (Identity File)
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;ssh &lt;span class="nt"&gt;-i&lt;/span&gt; /path/to/private/key user@192.168.1.100
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



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

&lt;h3&gt;
  
  
  🛠️ Troubleshooting Tips
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Permission Denied?&lt;/strong&gt; Ensure your private key has the correct permissions:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;  &lt;span class="nb"&gt;chmod &lt;/span&gt;600 /path/to/private/key
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Connection Timed Out?&lt;/strong&gt; Check if SSH is enabled and port 22 is open.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  🚀 Copying Files Over SSH
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;scp &lt;span class="nt"&gt;-i&lt;/span&gt; /path/to/private/key localfile.txt user@192.168.1.100:/remote/directory/
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h1&gt;
  
  
  Deploying an EC2 Instance in AWS and Installing Nginx
&lt;/h1&gt;

&lt;h2&gt;
  
  
  Prerequisites
&lt;/h2&gt;

&lt;p&gt;Ensure you have:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;An AWS account with permissions to create EC2 instances.&lt;/li&gt;
&lt;li&gt;A key pair for SSH access.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Creating an EC2 Instance
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Log into AWS Console&lt;/strong&gt;: Go to &lt;a href="https://aws.amazon.com/ec2/" rel="noopener noreferrer"&gt;AWS EC2&lt;/a&gt; and navigate to &lt;strong&gt;Instances&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Launch a New Instance&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Click &lt;strong&gt;Launch Instance&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Choose &lt;strong&gt;Ubuntu&lt;/strong&gt; as the image (latest LTS version recommended).&lt;/li&gt;
&lt;li&gt;Select an instance type (t2.micro is free-tier eligible).&lt;/li&gt;
&lt;li&gt;Configure networking and security settings (ensure SSH and HTTP access are allowed).&lt;/li&gt;
&lt;li&gt;Assign an existing key pair or create a new one.&lt;/li&gt;
&lt;/ul&gt;
&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%2Fsm3w92riyvs79qmpu0jd.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsm3w92riyvs79qmpu0jd.PNG" alt="Image description" width="800" height="378"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7kx0byecoyqncuu4n9x5.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7kx0byecoyqncuu4n9x5.PNG" alt="Image description" width="800" height="347"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fb6x6nzcpkfymy0xmsf8o.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fb6x6nzcpkfymy0xmsf8o.PNG" alt="Image description" width="800" height="567"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Launch and Connect&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Click &lt;strong&gt;Launch&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Once running, connect using SSH:
&lt;/li&gt;
&lt;/ul&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt; ssh &lt;span class="nt"&gt;-i&lt;/span&gt; /path/to/private/key ubuntu@your_ec2_ip
&lt;/code&gt;&lt;/pre&gt;

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

&lt;h2&gt;
  
  
  Installing Nginx on the EC2 Instance
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Update the package lists&lt;/strong&gt;:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;   &lt;span class="nb"&gt;sudo &lt;/span&gt;apt update &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="nb"&gt;sudo &lt;/span&gt;apt upgrade &lt;span class="nt"&gt;-y&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Install Nginx&lt;/strong&gt;:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;   &lt;span class="nb"&gt;sudo &lt;/span&gt;apt &lt;span class="nb"&gt;install &lt;/span&gt;nginx &lt;span class="nt"&gt;-y&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



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

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Start and Enable Nginx&lt;/strong&gt;:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;   &lt;span class="nb"&gt;sudo &lt;/span&gt;systemctl start nginx
   &lt;span class="nb"&gt;sudo &lt;/span&gt;systemctl &lt;span class="nb"&gt;enable &lt;/span&gt;nginx
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Verify Installation&lt;/strong&gt;:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;   systemctl status nginx
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



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

&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Test in a Web Browser&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Copy the public IP of the instance and visit:
&lt;/li&gt;
&lt;/ul&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt; http://your_ec2_ip
&lt;/code&gt;&lt;/pre&gt;

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

&lt;h2&gt;
  
  
  Troubleshooting
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;If Nginx is not running:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;  &lt;span class="nb"&gt;sudo &lt;/span&gt;systemctl restart nginx
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Ensure the firewall allows HTTP traffic:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;  &lt;span class="nb"&gt;sudo &lt;/span&gt;ufw allow 80/tcp
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;✅ Congratulations! 🎉 You have successfully set up an EC2 instance and installed Nginx.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>cloud</category>
      <category>azure</category>
      <category>aws</category>
    </item>
    <item>
      <title>Creating a resource group in Azure</title>
      <dc:creator>Tomiwa Ogunleye</dc:creator>
      <pubDate>Wed, 12 Mar 2025 20:54:40 +0000</pubDate>
      <link>https://dev.to/tomiwaogun/creating-a-resource-group-in-azure-19c3</link>
      <guid>https://dev.to/tomiwaogun/creating-a-resource-group-in-azure-19c3</guid>
      <description>&lt;p&gt;How to Create a Resource Group in Azure: A Step-by-Step Guide&lt;br&gt;
Azure Resource Groups are essential for organizing and managing your Azure resources. Whether you're a beginner or an experienced cloud user, this guide will walk you through the process of creating a Resource Group in the Azure portal.&lt;/p&gt;

&lt;h1&gt;
  
  
  Step 1: Navigate to the Azure Portal
&lt;/h1&gt;

&lt;p&gt;Open your web browser and go to the Azure Portal.&lt;/p&gt;

&lt;p&gt;If you’re not already logged in, you’ll be prompted to sign in.&lt;/p&gt;

&lt;h1&gt;
  
  
  Step 2: Log In to Your Azure Account
&lt;/h1&gt;

&lt;p&gt;Enter your email address (Microsoft account or work/school account) and click Next.&lt;/p&gt;

&lt;p&gt;Enter your password and click Sign in.&lt;/p&gt;

&lt;p&gt;If prompted, complete the multi-factor authentication (MFA) process.&lt;/p&gt;

&lt;h1&gt;
  
  
  Step 3: Search for Resource Groups
&lt;/h1&gt;

&lt;p&gt;Once logged in, you’ll land on the Azure portal dashboard.&lt;/p&gt;

&lt;p&gt;In the search bar at the top, type "Resource Groups" and select it from the dropdown menu.&lt;/p&gt;

&lt;p&gt;Create Resource Group Button&lt;/p&gt;

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

&lt;h1&gt;
  
  
  Step 4: Create a New Resource Group
&lt;/h1&gt;

&lt;p&gt;On the Resource Groups page, click the + Create button at the top left corner.&lt;/p&gt;

&lt;p&gt;Fill in the required details:&lt;/p&gt;

&lt;p&gt;Subscription: Select the subscription you want to use.&lt;/p&gt;

&lt;p&gt;Resource Group Name: Enter a unique name for your Resource Group (e.g., RG-1).&lt;/p&gt;

&lt;p&gt;Region: Select the Azure region where your Resource Group will be created (e.g., East US, West Europe).&lt;/p&gt;

&lt;p&gt;Resource Group Creation Form&lt;br&gt;
(Example image of the Resource Group creation form)&lt;/p&gt;

&lt;p&gt;Click Review + Create to validate your inputs.&lt;/p&gt;

&lt;p&gt;Once validation passes, click Create to finalize the creation of your Resource Group.&lt;/p&gt;

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

&lt;h1&gt;
  
  
  Step 5: Verify the Resource Group
&lt;/h1&gt;

&lt;p&gt;After the deployment is complete, click Go to Resource Group.&lt;/p&gt;

&lt;p&gt;You’ll be redirected to the Resource Group overview page, where you can see details like:&lt;/p&gt;

&lt;p&gt;Subscription ID&lt;/p&gt;

&lt;p&gt;Location&lt;/p&gt;

&lt;p&gt;Tags (if any)&lt;/p&gt;

&lt;p&gt;Resources (initially, this will be empty).&lt;/p&gt;

&lt;p&gt;Resource Group Overview&lt;/p&gt;

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

</description>
      <category>azure</category>
      <category>resources</category>
    </item>
    <item>
      <title>Key Cloud Computing Concepts.</title>
      <dc:creator>Tomiwa Ogunleye</dc:creator>
      <pubDate>Thu, 20 Feb 2025 00:48:22 +0000</pubDate>
      <link>https://dev.to/tomiwaogun/key-cloud-computing-concepts-3lc0</link>
      <guid>https://dev.to/tomiwaogun/key-cloud-computing-concepts-3lc0</guid>
      <description>&lt;p&gt;In this blog post, I’ll break down seven critical concepts: Virtualization, Scalability, Agility, High Availability, Fault Tolerance, Global Reach, and the difference between Elasticity and Scalability.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Virtualization&lt;/strong&gt;:&lt;br&gt;
Virtualization is a technology that allows the creation of a virtual version of a computer resource, such as a server, an operating system, application and storage devices. It is what allows a single physical machine to host multiple virtual machines on it, allowing a more efficient use of resources. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Scalability&lt;/strong&gt;:&lt;br&gt;
Scalability refers to the ability of a system or network, to handle an increased workload. It allows a system to scale to the needed level to handle increases in activity by adding resources and allows for a growth of infrastructure to handle the increased demand without compromising performance. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Agility&lt;/strong&gt;:&lt;br&gt;
Agility in the context of cloud computing refers to the ability to quickly react and adapt to changes in the system, like scaling resources to increased traffic.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;High Availability&lt;/strong&gt;:&lt;br&gt;
The ability of a system to be available and operational for extended periods of time, irrespective of disruptions like server failure.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Fault Tolerance&lt;/strong&gt;:&lt;br&gt;
Like high availability, fault tolerance is the ability of a system to continue working even when there is a failure of one or more of its components. It involves finding and fixing issues quickly without the user’s input.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Global Reach&lt;/strong&gt;:&lt;br&gt;
The ability of a cloud service provider to offer its services globally with high performance and low latency. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Elasticity vs Scalability&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Scalability is about the system’s ability to handle growth, whether it’s planned or gradual. It’s a long-term strategy to accommodate increasing workloads by adding resources. For example, a business might scale its infrastructure to support a growing customer base over time.&lt;/li&gt;
&lt;li&gt;Elasticity, on the other hand, is the ability to dynamically adjust resources in real-time based on current demand. It’s about scaling up or down automatically to match workload fluctuations. For instance, an e-commerce site might scale up during a holiday sale and scale down once the traffic subsides.
In short, scalability is about growth, while elasticity is about flexibility.&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>cloudcomputing</category>
      <category>devops</category>
      <category>learning</category>
    </item>
  </channel>
</rss>
