<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Amapakabo, Joseph I.</title>
    <description>The latest articles on Forem by Amapakabo, Joseph I. (@jodev001).</description>
    <link>https://forem.com/jodev001</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%2F3830972%2F4156af34-175b-4591-8adc-dc219c38c610.webp</url>
      <title>Forem: Amapakabo, Joseph I.</title>
      <link>https://forem.com/jodev001</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/jodev001"/>
    <language>en</language>
    <item>
      <title>From Zero to Deployed: Setting Up an Azure VM with Apache2 (Step-by-Step)</title>
      <dc:creator>Amapakabo, Joseph I.</dc:creator>
      <pubDate>Sat, 18 Apr 2026 07:01:40 +0000</pubDate>
      <link>https://forem.com/jodev001/from-zero-to-deployed-setting-up-an-azure-vm-with-apache2-step-by-step-1l1b</link>
      <guid>https://forem.com/jodev001/from-zero-to-deployed-setting-up-an-azure-vm-with-apache2-step-by-step-1l1b</guid>
      <description>&lt;h2&gt;
  
  
  A practical, beginner-friendly walkthrough of deploying an Azure Virtual Machine, configuring a Virtual Network, SSHing in, and hosting a live Apache2 web server — all from scratch.
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;TL;DR:&lt;/strong&gt; In this post, I walk through how I deployed an Azure Virtual Machine from scratch — set up the subscription, resource group, virtual network, and finally spun up an Apache2 web server accessible via a public IP. If you're just getting into cloud engineering, this one's for you.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  Why This Matters
&lt;/h2&gt;

&lt;p&gt;Cloud infrastructure isn't just for big tech anymore. Whether you're building a side project, preparing for a cloud cert, or just trying to understand what "the cloud" actually means under the hood — knowing how to spin up a virtual machine and serve traffic from it is a fundamental skill.&lt;/p&gt;

&lt;p&gt;This post documents my hands-on journey doing exactly that on &lt;strong&gt;Microsoft Azure&lt;/strong&gt;. Every step is screenshotted, so you can follow along visually.&lt;/p&gt;

&lt;p&gt;Let's get into it. 🚀&lt;/p&gt;




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

&lt;p&gt;Before we dive in, make sure you have:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;An active &lt;strong&gt;Microsoft Azure account&lt;/strong&gt; (free tier works fine to start)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Git Bash&lt;/strong&gt; installed (or any terminal that supports SSH)&lt;/li&gt;
&lt;li&gt;Basic comfort with the command line&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Step 1: Create a Subscription
&lt;/h2&gt;

&lt;p&gt;Everything on Azure lives under a &lt;strong&gt;subscription&lt;/strong&gt; — think of it as your billing and organizational umbrella.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;In the Azure portal, search for &lt;strong&gt;"Subscriptions"&lt;/strong&gt; in the top search bar and click on it.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Create&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Type your subscription name in the highlighted field (I named mine &lt;em&gt;My VM &amp;amp; Apache Setup&lt;/em&gt;).&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Next&lt;/strong&gt; and follow through each stage.&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%2F4xh12usvwfnvodzqfg2g.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4xh12usvwfnvodzqfg2g.png" alt="Creating a subscription on Azure — filling in subscription name and billing details" width="800" height="468"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Once you've gone through all the tabs, you'll land on the &lt;strong&gt;Review + Create&lt;/strong&gt; screen. Confirm the validation passes and hit &lt;strong&gt;Create&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvgg7762lz62hkocjqbn7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvgg7762lz62hkocjqbn7.png" alt="Azure subscription Review + Create screen showing validation passed" width="800" height="511"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;💡 &lt;em&gt;If you're on the Azure free tier, a default subscription is usually already set up for you. You can skip this step and move straight to Step 2.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  Step 2: Create a Resource Group
&lt;/h2&gt;

&lt;p&gt;A &lt;strong&gt;Resource Group&lt;/strong&gt; is a logical container for all the Azure resources that belong to a project. It keeps things tidy and makes cleanup much easier when you're done.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;From the left-hand menu of your subscription, select &lt;strong&gt;Resource Groups&lt;/strong&gt;, then click &lt;strong&gt;Create&lt;/strong&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%2F0ws76cjgh3ffmui4ck11.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0ws76cjgh3ffmui4ck11.png" alt="Azure portal showing the Resource Groups section under the subscription" width="800" height="404"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Enter the required details — your subscription, a region, and a meaningful name for the group. I used &lt;code&gt;MyVM1-setup&lt;/code&gt; and selected &lt;em&gt;(Africa) South Africa North&lt;/em&gt; as my region.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Next&lt;/strong&gt; through each section and finalize with &lt;strong&gt;Review + Create&lt;/strong&gt; → &lt;strong&gt;Create&lt;/strong&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%2Fzq9z79kltqdweqv08uya.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzq9z79kltqdweqv08uya.png" alt="Create a resource group form with subscription, name, and region filled in" width="676" height="587"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Your Resource Group is now live and ready to house all the resources we'll be creating.&lt;/p&gt;




&lt;h2&gt;
  
  
  Step 3: Create a Virtual Network (VNet)
&lt;/h2&gt;

&lt;p&gt;The &lt;strong&gt;Virtual Network&lt;/strong&gt; is the private network your VM will operate inside. This is where you define your IP address ranges, subnets, and traffic boundaries. Think of it as building the roads before driving the car.&lt;/p&gt;

&lt;h3&gt;
  
  
  3a. Create the VNet — Basics Tab
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;Search for &lt;strong&gt;"Virtual Network"&lt;/strong&gt; in the search bar and click on it.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Create&lt;/strong&gt;, then select your subscription and resource group.&lt;/li&gt;
&lt;li&gt;Give your VNet a name and proceed to the next tab.&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%2Frb0wsx1x3suiyxpei1gd.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frb0wsx1x3suiyxpei1gd.png" alt="Create Virtual Network — Basics tab with subscription and resource group selected" width="698" height="572"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  3b. Security Settings
&lt;/h3&gt;

&lt;p&gt;Leave the defaults in the &lt;strong&gt;Security&lt;/strong&gt; section and click &lt;strong&gt;Next&lt;/strong&gt; — no changes needed here for a basic setup.&lt;/p&gt;

&lt;h3&gt;
  
  
  3c. Address Space &amp;amp; Subnets
&lt;/h3&gt;

&lt;p&gt;In the &lt;strong&gt;Address Space&lt;/strong&gt; tab, you'll see a default subnet already configured. I deleted it and created my own to have full control over the IP range.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxx28nf0sat6d6m2iqvqs.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxx28nf0sat6d6m2iqvqs.png" alt="Create Virtual Network — Address Space tab showing default subnet highlighted for deletion" width="674" height="566"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Click &lt;strong&gt;Next&lt;/strong&gt; through Tags (skip if you don't need them), then select &lt;strong&gt;Create&lt;/strong&gt; in the &lt;em&gt;Review + Create&lt;/em&gt; tab.&lt;/p&gt;

&lt;h3&gt;
  
  
  3d. Navigate to Subnets After Deployment
&lt;/h3&gt;

&lt;p&gt;Once the VNet deploys, you'll see the success screen. Click &lt;strong&gt;Go to resource&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%2Fng0x1f515b6d9u4k5fq2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fng0x1f515b6d9u4k5fq2.png" alt="Azure VNet deployment complete — 'Your deployment is complete' screen with Go to resource button" width="800" height="338"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Then, in the left-hand menu under &lt;strong&gt;Settings&lt;/strong&gt;, click &lt;strong&gt;Subnets&lt;/strong&gt;. Hit the &lt;strong&gt;+ Subnet&lt;/strong&gt; button at the top to add a new one.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frd4zp95v3m1ze3ltq2g3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frd4zp95v3m1ze3ltq2g3.png" alt="VNet Subnets panel showing the + Subnet button highlighted" width="722" height="451"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  3e. Add Your Subnet
&lt;/h3&gt;

&lt;p&gt;In the &lt;em&gt;Add a Subnet&lt;/em&gt; pane, enter your subnet name and configure the IP address range. I used &lt;code&gt;vm1-subnet&lt;/code&gt; with a &lt;code&gt;/24&lt;/code&gt; range (&lt;code&gt;10.0.1.0 - 10.0.1.255&lt;/code&gt; — 256 addresses). Click &lt;strong&gt;Add&lt;/strong&gt; when done.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkfk1781enl8h61onyqft.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkfk1781enl8h61onyqft.png" alt="Add a subnet pane showing vm1-subnet name and 10.0.1.0/24 IP range configured" width="800" height="500"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Step 4: Create the Virtual Machine
&lt;/h2&gt;

&lt;p&gt;Here's where the fun begins. 🎉&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Search for &lt;strong&gt;"Virtual Machines"&lt;/strong&gt; in the portal. You'll see the VM dashboard — currently empty.&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%2Fzngmmiigmroiooyeeviy.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzngmmiigmroiooyeeviy.png" alt="Azure Virtual Machines dashboard showing no VMs yet with a Create button" width="800" height="420"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Click &lt;strong&gt;Create&lt;/strong&gt; and fill in all the necessary details — name, region, image (I used &lt;strong&gt;Ubuntu 24.04 LTS&lt;/strong&gt;), size, and disk (I went with a &lt;strong&gt;64 GB Standard SSD&lt;/strong&gt;).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Critical step — Inbound Port Rules:&lt;/strong&gt; Make sure these two ports are open:

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Port 22&lt;/strong&gt; — for SSH access&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Port 80&lt;/strong&gt; — for HTTP (public web access)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;When you're satisfied with your configuration, click &lt;strong&gt;Review + Create&lt;/strong&gt; → &lt;strong&gt;Create&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;A prompt will immediately appear asking you to &lt;strong&gt;generate and download your SSH key pair&lt;/strong&gt;. This is non-negotiable — Azure does &lt;strong&gt;not&lt;/strong&gt; store the private key after this point. Download it, keep it safe.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fi80suzdo6dui3dnsw39t.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fi80suzdo6dui3dnsw39t.png" alt="Generate new key pair modal with 'Download private key and create resource' button" width="800" height="505"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Click &lt;strong&gt;Download private key and create resource&lt;/strong&gt;, then &lt;strong&gt;Return to create a virtual machine&lt;/strong&gt;. Wait a few minutes for the deployment to complete.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7fl4jsih2q1r18xz4ek8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7fl4jsih2q1r18xz4ek8.png" alt="VM deployment complete screen showing Ubuntu 24.04 LTS VM successfully created" width="609" height="399"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Step 5: SSH Into Your VM
&lt;/h2&gt;

&lt;p&gt;With the VM up and running, it's time to connect to it. Open &lt;strong&gt;Git Bash&lt;/strong&gt; and run the following:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Navigate to your Downloads folder (where your .pem file is)&lt;/span&gt;
&lt;span class="nb"&gt;cd &lt;/span&gt;downloads

&lt;span class="c"&gt;# Set the correct permissions on your key file (required for SSH)&lt;/span&gt;
&lt;span class="nb"&gt;chmod &lt;/span&gt;400 vm1key.pem

&lt;span class="c"&gt;# SSH into the VM using your key, username, and public IP&lt;/span&gt;
ssh &lt;span class="nt"&gt;-i&lt;/span&gt; vm1key.pem mrjoe@20.99.232.218
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;🔁 &lt;em&gt;Replace &lt;code&gt;vm1key.pem&lt;/code&gt; with your actual key filename and &lt;code&gt;mrjoe@20.99.232.218&lt;/code&gt; with your VM's username and public IP address. You'll find the public IP on your VM's overview page in the portal.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;You'll be prompted to confirm the host fingerprint — type &lt;code&gt;yes&lt;/code&gt; and hit Enter. If the key file and username are correct, you'll be welcomed right in.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Filwqcpdv174hsnzbmyiw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Filwqcpdv174hsnzbmyiw.png" alt="Git Bash terminal showing successful SSH connection into the Ubuntu VM" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now update the OS to make sure everything is current:&lt;br&gt;
&lt;/p&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;/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%2Fs79rqr4akp9pe4kc2rm9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fs79rqr4akp9pe4kc2rm9.png" alt="Terminal showing sudo apt update running and fetching package lists from Azure Ubuntu repos" width="570" height="98"&gt;&lt;/a&gt;&lt;br&gt;
&lt;/p&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 upgrade &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%2Fnveoe7oxx6yxlu3fw8ug.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnveoe7oxx6yxlu3fw8ug.png" alt="Terminal showing sudo apt upgrade -y running and listing packages to be upgraded" width="575" height="125"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Then install Apache2:&lt;br&gt;
&lt;/p&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;apache2 &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%2F3l06iubdp1zz09xbszgg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3l06iubdp1zz09xbszgg.png" alt="Terminal showing sudo apt install apache2 with package dependencies listed and confirmation prompt" width="562" height="222"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Apache2 starts automatically right after installation. No extra configuration needed. ✅&lt;/p&gt;




&lt;h2&gt;
  
  
  Step 6: Verify Apache in Your Browser — It Works! 🎉
&lt;/h2&gt;

&lt;p&gt;Open any browser and navigate to your VM's public IP over HTTP:&lt;br&gt;
&lt;/p&gt;

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

&lt;/div&gt;



&lt;p&gt;If everything went smoothly, you'll be greeted by the &lt;strong&gt;Apache2 Ubuntu Default Page&lt;/strong&gt; — the classic "It works!" screen that confirms your web server is live and publicly accessible.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0h81qkcxz1es6kfq73x1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0h81qkcxz1es6kfq73x1.png" alt="Browser showing the Apache2 Ubuntu Default Page at the VM's public IP address" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  What We Built
&lt;/h2&gt;

&lt;p&gt;Let's quickly recap what was set up end-to-end:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Component&lt;/th&gt;
&lt;th&gt;Purpose&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Subscription&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Billing and organizational container for all Azure resources&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Resource Group&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Logical grouping to manage and clean up project resources&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Virtual Network + Subnet&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Private network environment for the VM to operate in&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Virtual Machine (Ubuntu 24.04 LTS)&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;The compute instance running our workload&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Apache2&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Web server serving HTTP traffic publicly on Port 80&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h2&gt;
  
  
  Key Takeaways
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Networking matters first.&lt;/strong&gt; Setting up your VNet and subnets before the VM ensures your machine is dropped into the right network environment from day one.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Open only the ports you need.&lt;/strong&gt; Port 22 for SSH and Port 80 for HTTP — nothing more. Security begins at the network layer.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Your &lt;code&gt;.pem&lt;/code&gt; file is your key — literally.&lt;/strong&gt; Azure will not store it for you. Lose it and you lose SSH access. Treat it like a password.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Apache2 just works.&lt;/strong&gt; For a quick web server deployment on Ubuntu, it's hard to beat — install, done, live.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  What's Next?
&lt;/h2&gt;

&lt;p&gt;This is just the foundation. From here, you could:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Point a &lt;strong&gt;custom domain&lt;/strong&gt; at your VM's public IP&lt;/li&gt;
&lt;li&gt;Set up &lt;strong&gt;HTTPS with Let's Encrypt&lt;/strong&gt; (free TLS/SSL)&lt;/li&gt;
&lt;li&gt;Deploy a &lt;strong&gt;full web application&lt;/strong&gt; instead of the default Apache page&lt;/li&gt;
&lt;li&gt;Explore &lt;strong&gt;Azure Load Balancers&lt;/strong&gt; to distribute traffic across multiple VMs&lt;/li&gt;
&lt;li&gt;Lock down your VM further with &lt;strong&gt;Azure Network Security Groups (NSGs)&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;The cloud is a lot less intimidating once you've actually deployed something and watched it load in your browser. If you followed along and hit any snags, drop a comment below — happy to help.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Keep building. ☁️&lt;/em&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;#azure #cloudengineering #devops #linux #apache #virtualmachine #beginners #100daysofcloud&lt;/em&gt;&lt;/p&gt;

</description>
      <category>azure</category>
      <category>cloud</category>
      <category>devops</category>
      <category>beginners</category>
    </item>
    <item>
      <title>From Classroom to Cloud: Building My First Azure Resource Group ☁️</title>
      <dc:creator>Amapakabo, Joseph I.</dc:creator>
      <pubDate>Thu, 19 Mar 2026 15:48:34 +0000</pubDate>
      <link>https://forem.com/jodev001/from-classroom-to-cloud-building-my-first-azure-resource-group-3i12</link>
      <guid>https://forem.com/jodev001/from-classroom-to-cloud-building-my-first-azure-resource-group-3i12</guid>
      <description>&lt;p&gt;Cloud computing is often talked about in "big picture" terms, but as a student diving into the engineering side of things, I've realized it’s the small, foundational steps that really make the magic happen.&lt;/p&gt;

&lt;p&gt;In my latest cloud computing assignment, I took a deep dive into the Microsoft Azure ecosystem. Here is a breakdown of what I’m learning and a step-by-step guide on how I set up my first cloud environment.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;📱 The Cloud Apps I Use Daily (SaaS)&lt;/strong&gt;&lt;br&gt;
Before we look under the hood, it’s important to recognize how much we already rely on the cloud. Apps like Zoom, Google Meet, Facebook, X (Twitter), and YouTube are all perfect examples of Software as a Service (SaaS).&lt;/p&gt;

&lt;p&gt;The beauty of SaaS is that I don't have to manage any infrastructure. I don't need to worry about server maintenance or database updates; I just use the service as-is.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;🏗️ Thinking Like a Cloud Architect&lt;/strong&gt;&lt;br&gt;
When we move beyond just "using" apps and start "building" them, we have to think about infrastructure.&lt;/p&gt;

&lt;p&gt;Why should a small Fintech startup choose the Cloud?&lt;br&gt;
If a small fintech company asked for my advice, I’d tell them to skip the on-premise servers and go straight to the cloud for three main reasons:&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Scalability:&lt;/em&gt; They only pay for what they need to launch. As users sign up, they can scale up instantly to maintain performance without having to buy new hardware.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Cost-Effectiveness:&lt;/em&gt; Starting on-premise means paying for physical space, security, cooling, and a large IT staff. In the cloud, those initial costs are reduced to nearly zero. You pay for what you use, keeping the budget lean.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Redundancy:&lt;/em&gt; In fintech, data loss is a disaster. Cloud providers allow you to deploy across multiple regions. If one data center has an issue, your data is replicated elsewhere, ensuring the service stays up and running no matter what.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;🛠️ Tutorial: Creating an Azure Resource Group&lt;/strong&gt;&lt;br&gt;
In Azure, a Resource Group is a logical container. Think of it as a folder that holds all the related resources for a specific project—like your Virtual Machines, storage, and databases.&lt;/p&gt;

&lt;p&gt;Here is the process I followed to get mine up and running:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 1:&lt;/strong&gt; &lt;em&gt;Accessing the Portal&lt;/em&gt;&lt;br&gt;
I started by signing up and logging into my Azure Portal.&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;Step 2:&lt;/strong&gt; &lt;em&gt;Setting up a Subscription&lt;/em&gt;&lt;br&gt;
To build anything, you need a subscription. I searched for "Subscriptions" in the top search bar to load the management page.&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;Step 3:&lt;/strong&gt; &lt;em&gt;Adding the Subscription&lt;/em&gt;&lt;br&gt;
I clicked the + Add button and filled in the necessary billing and profile details.&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;Step 4:&lt;/strong&gt; &lt;em&gt;Finalizing the Plan&lt;/em&gt;&lt;br&gt;
After reviewing the details and clicking Next, I hit Create.&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;Step 5:&lt;/strong&gt; &lt;em&gt;Verification&lt;/em&gt;&lt;br&gt;
I checked my Notifications (the bell icon) to ensure the deployment was successful.&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;Step 6:&lt;/strong&gt; &lt;em&gt;Heading to Resource Groups&lt;/em&gt;&lt;br&gt;
With the subscription active, it was time to create the container for my projects. I navigated to the Resource Groups section from the sidebar.&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;Step 7:&lt;/strong&gt; &lt;em&gt;Starting the Resource Group Process&lt;/em&gt;&lt;br&gt;
I clicked Create to launch the setup wizard.&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;Step 8:&lt;/strong&gt; &lt;em&gt;Configuring the Group&lt;/em&gt;&lt;br&gt;
I named my resource group Assignment-1 and chose the (US) East US region to keep my resources centralized.&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;Step 9:&lt;/strong&gt; &lt;em&gt;Success!&lt;/em&gt;&lt;br&gt;
A quick check of the notifications confirmed that my Assignment-1 group was successfully created.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 10:&lt;/strong&gt; &lt;em&gt;The Result&lt;/em&gt;&lt;br&gt;
Now, I have a clean workspace ready for my Virtual Machines and other cloud resources.&lt;/p&gt;

&lt;p&gt;🏁 &lt;strong&gt;Conclusion&lt;/strong&gt;&lt;br&gt;
Getting started with Azure felt a bit intimidating at first, but once you understand the hierarchy (Subscription &amp;gt; Resource Group &amp;gt; Resources), it all starts to click. This is just the beginning of my cloud journey!&lt;/p&gt;

&lt;p&gt;Are you just starting out with Azure or AWS? Let's connect in the comments and share tips!&lt;/p&gt;

&lt;h1&gt;
  
  
  cloudcomputing #azure #microsoftazure #devops #beginners #cloudengineering #fintech
&lt;/h1&gt;

</description>
    </item>
    <item>
      <title>Cloud Computing: The Good, The Bad &amp; What You Actually Need to Know</title>
      <dc:creator>Amapakabo, Joseph I.</dc:creator>
      <pubDate>Wed, 18 Mar 2026 08:56:10 +0000</pubDate>
      <link>https://forem.com/jodev001/cloud-computing-the-good-the-bad-what-you-actually-need-to-know-29pn</link>
      <guid>https://forem.com/jodev001/cloud-computing-the-good-the-bad-what-you-actually-need-to-know-29pn</guid>
      <description>&lt;p&gt;No tech jargon. No confusing buzzwords. Just a plain, honest look at what the cloud actually is — and whether it's right for you.*&lt;/p&gt;




&lt;p&gt;Wait, what even is "the cloud"?&lt;/p&gt;

&lt;p&gt;You've probably heard someone say, &lt;strong&gt;"it's saved in the cloud"&lt;/strong&gt; and nodded along without really knowing what that means. You're not alone.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;💡 &lt;strong&gt;Think of it this way:&lt;/strong&gt; Imagine you live in a rented apartment. You don't own the house, literally — you just meet the landlord or a realtor who takes you to inspect an apartment of your choice, among several fully built apartments, then pay at the end of the month, year as the case might be. &lt;strong&gt;Cloud computing works exactly like that&lt;/strong&gt;, only instead of an apartment, it's computer power, storage, and software delivered to you over the internet.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;In layman terms: instead of storing your photos, documents, or running software on your own computer or a hard drive sitting on your desk, those files and programs reside on &lt;strong&gt;someone else's powerful computer&lt;/strong&gt; (called a server) — and you access them via the internet from anywhere.&lt;/p&gt;

&lt;p&gt;You know Google Drive, Netflix, Gmail, Dropbox, Facebook or even WhatsApp. Every single one of these runs on the cloud. You use it every day, anywhere and anytime without realising it.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F03ze6tyge5po1s28r45c.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%2F03ze6tyge5po1s28r45c.jpg" alt=" " width="275" height="183"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;the picture above is what "the cloud" actually looks like behind the hood— massive buildings filled with servers (specially dedicated supercomputers) located in different regions across the globe.*&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;"The cloud is not some fluffy bubble in the sky. It's an actual physical building full of computers in a warehouse somewhere — and you're renting a tiny piece of it at will."&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;




&lt;p&gt;✅ Some Advantages of Cloud Computing&lt;/p&gt;

&lt;p&gt;First, with the good stuff. There are some genuinely great reasons why businesses and everyday people have adopted the cloud the cloud for their daily computing needs.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Few0t4nzzftw5u3xtbjg4.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%2Few0t4nzzftw5u3xtbjg4.jpg" alt=" " width="400" height="249"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Work from a coffee shop in Port Harcourt or a beach in the Bahamas— the cloud makes location irrelevant.*&lt;/p&gt;

&lt;p&gt;💰 1. You spend less Money&lt;/p&gt;

&lt;p&gt;Purchasing physical servers and hardware is a very cost intensive venture. With the cloud, you pay only for what you use — like a pay-as-you-go phone plan. No huge upfront costs. Small businesses especially benefit a lot from this.&lt;/p&gt;

&lt;p&gt;🌍 2. Location is Irrelevant&lt;/p&gt;

&lt;p&gt;Provided you are connected to the internet, you can easily access your files, tools, and apps from your phone, laptop, or any device, and work on the go — whether you're in Lagos, Lome, or Lekki.&lt;/p&gt;

&lt;p&gt;📈 3. Easily Scales to suit your needs&lt;/p&gt;

&lt;p&gt;Running a startup or a garage store today? Now growing into a big company? Scale up instantly. You can increase or decrease your usage without buying new hardware. Fun fact... done right, this can be done automatically.&lt;/p&gt;

&lt;p&gt;🔄 4. Backups can be Automated&lt;/p&gt;

&lt;p&gt;Remember the last time your computer crashed and you lost all your important stuff? Cloud to the rescue. Cloud services automatically back up your data so your files are safe even if your laptop breaks.&lt;/p&gt;

&lt;p&gt;🤝 5. Collaborate Easily&lt;/p&gt;

&lt;p&gt;Tools like Microsoft 365 lets multiple people connect and work on projects at the same time, from different locations around the world. Guess where these documents are housed, That's the cloud making teamwork seamless.&lt;/p&gt;

&lt;p&gt;🔧 6. Less Maintenance for You&lt;/p&gt;

&lt;p&gt;The company providing the cloud service handles all the technical upkeep — updates, security patches, hardware repairs. You just use it without worrying about the engine under the hood.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;🌟 &lt;strong&gt;Real-World Example:&lt;/strong&gt; When COVID-19 hit and everyone had to work from home, companies already on the cloud barely skipped a beat. Their teams just logged in from home. Companies relying on physical office servers had a much harder time.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;p&gt;❌ The Disadvantages of Cloud Computing&lt;/p&gt;

&lt;p&gt;Now for the honest part. The cloud isn't perfect. Here are real problems you should know about before jumping in headfirst.&lt;/p&gt;

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

&lt;p&gt;&lt;em&gt;No internet? No cloud. That's the trade-off you need to think about.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;📶 1. You Need Stable Internet&lt;/p&gt;

&lt;p&gt;No internet, no access. If your connection is slow or keeps cutting out, working on the cloud becomes a nightmare. This is a real challenge in many parts of Africa where connectivity can be unreliable.&lt;/p&gt;

&lt;p&gt;🔐 2. Security &amp;amp; Privacy Worries&lt;/p&gt;

&lt;p&gt;When your data lives on someone else's computer, you have to trust them. Data breaches happen, and your sensitive information could be exposed. Not every cloud provider is equally trustworthy.&lt;/p&gt;

&lt;p&gt;🏦 3. Costs Can Creep Up&lt;/p&gt;

&lt;p&gt;While you save on hardware, monthly subscription fees add up. If you're not careful, you might find yourself paying for storage and services you're not even using.&lt;/p&gt;

&lt;p&gt;⚙️ 4. Less Control Over Your Data&lt;/p&gt;

&lt;p&gt;Your data is stored in a server you don't own, in a location you may not even know. If the provider changes their terms, gets hacked, or shuts down — your data is at their mercy.&lt;/p&gt;

&lt;p&gt;🚫 5. Downtime Can Happen&lt;/p&gt;

&lt;p&gt;Even the biggest cloud providers have had outages. When Amazon Web Services went down in 2021, it took Netflix, Disney+, and hundreds of other sites with it. You're dependent on their uptime.&lt;/p&gt;

&lt;p&gt;📜 6. Compliance &amp;amp; Legal Issues&lt;/p&gt;

&lt;p&gt;Depending on your industry or country, storing sensitive data on overseas servers can create legal complications. Some sectors (like healthcare) have strict rules about where data can live.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;🏠 &lt;strong&gt;Think of it like renting vs. owning a house:&lt;/strong&gt; Renting is flexible and cheaper upfront — but you don't control the house. The landlord can raise the rent, change the rules, or sell the property. &lt;strong&gt;Cloud computing is essentially renting your tech infrastructure.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;




&lt;p&gt;📊 Quick Summary Table&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Topic&lt;/th&gt;
&lt;th&gt;✅ Advantage&lt;/th&gt;
&lt;th&gt;❌ Disadvantage&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Cost&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;No expensive hardware upfront&lt;/td&gt;
&lt;td&gt;Monthly fees can add up&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Access&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Work from anywhere&lt;/td&gt;
&lt;td&gt;Needs reliable internet&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Backups&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Automatic data backup&lt;/td&gt;
&lt;td&gt;Still depends on provider&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Security&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Providers invest in security&lt;/td&gt;
&lt;td&gt;Trusting a third party&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Scalability&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Grow or shrink instantly&lt;/td&gt;
&lt;td&gt;Over-provisioning wastes money&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Maintenance&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Provider handles all updates&lt;/td&gt;
&lt;td&gt;No control over timing of changes&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Collaboration&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Real-time team editing&lt;/td&gt;
&lt;td&gt;—&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Downtime&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;—&lt;/td&gt;
&lt;td&gt;Outages affect your whole operation&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;p&gt;🏁 Final Verdict&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Should you use the cloud?&lt;/strong&gt; For most people and most businesses — &lt;strong&gt;yes&lt;/strong&gt;. The benefits outweigh the drawbacks, especially if you're building something modern. But go in with your eyes open. Understand what you're signing up for, pick reputable providers, and always have a backup plan.&lt;/p&gt;

&lt;p&gt;The cloud is a tool — a powerful one — not a magic fix for everything.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Did this help you? Drop a comment below 👇 and share it with someone who's been confused about "the cloud." And if you're a developer, check out AWS, Google Cloud, and Microsoft Azure as starting points.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>cloud</category>
      <category>techtalks</category>
      <category>productivity</category>
      <category>webdev</category>
    </item>
  </channel>
</rss>
