<?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: Abdul-Rahman Ahmad (Alpha)</title>
    <description>The latest articles on DEV Community by Abdul-Rahman Ahmad (Alpha) (@abdulrahmanalpha).</description>
    <link>https://dev.to/abdulrahmanalpha</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%2F1022038%2Fcd8b5a6b-20ba-4310-be80-99c197f28fbd.jpg</url>
      <title>DEV Community: Abdul-Rahman Ahmad (Alpha)</title>
      <link>https://dev.to/abdulrahmanalpha</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/abdulrahmanalpha"/>
    <language>en</language>
    <item>
      <title>OpenStack for DevOps Beginners: Hands-On with MicroStack</title>
      <dc:creator>Abdul-Rahman Ahmad (Alpha)</dc:creator>
      <pubDate>Fri, 03 Oct 2025 08:14:54 +0000</pubDate>
      <link>https://dev.to/abdulrahmanalpha/openstack-for-devops-beginners-hands-on-with-microstack-5flp</link>
      <guid>https://dev.to/abdulrahmanalpha/openstack-for-devops-beginners-hands-on-with-microstack-5flp</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;🎯 &lt;strong&gt;Target Audience&lt;/strong&gt;: DevOps/DevSecOps beginners curious about cloud internals&lt;br&gt;
🧠 &lt;strong&gt;Key Concepts&lt;/strong&gt;: OpenStack, MicroStack, VMs, networking, private cloud basics&lt;br&gt;
⏱ &lt;strong&gt;Estimated Read Time&lt;/strong&gt;: ~12 minutes&lt;br&gt;
🌍 &lt;strong&gt;Real-World Focus&lt;/strong&gt;: Learn how to run your own mini-cloud on your laptop for labs, testing, and skill-building&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h3&gt;
  
  
  🌍 Why OpenStack?
&lt;/h3&gt;

&lt;p&gt;Everyone knows AWS, Azure, and GCP. But what if you wanted to &lt;strong&gt;run your own cloud platform&lt;/strong&gt;?&lt;/p&gt;

&lt;p&gt;That’s what &lt;strong&gt;OpenStack&lt;/strong&gt; is:&lt;br&gt;
An &lt;strong&gt;open-source cloud operating system&lt;/strong&gt; that lets you control compute, storage, and networking resources in your own data center.&lt;/p&gt;

&lt;p&gt;It’s the backbone for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Telecoms (e.g., 5G infrastructure).&lt;/li&gt;
&lt;li&gt;Research labs (high-performance computing).&lt;/li&gt;
&lt;li&gt;Enterprises building &lt;strong&gt;private clouds&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;👉 Think of OpenStack as &lt;strong&gt;“AWS, but open-source and customizable.”&lt;/strong&gt;&lt;/p&gt;


&lt;h3&gt;
  
  
  ⚡ The Challenge: Too Heavy
&lt;/h3&gt;

&lt;p&gt;Here’s the problem: OpenStack has many components (Nova, Neutron, Swift, etc.). Installing and running a full OpenStack cluster requires multiple servers and lots of resources.&lt;/p&gt;

&lt;p&gt;When I first looked at it, my reaction was:&lt;br&gt;
“Cool, but… this is way too heavy for my laptop.”&lt;/p&gt;


&lt;h3&gt;
  
  
  🛠 The Solution: MicroStack
&lt;/h3&gt;

&lt;p&gt;Enter &lt;strong&gt;MicroStack&lt;/strong&gt;: a &lt;strong&gt;lightweight, single-node OpenStack distribution&lt;/strong&gt; that you can install on &lt;strong&gt;Ubuntu&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Why MicroStack?&lt;/p&gt;

&lt;p&gt;✅ Works on &lt;strong&gt;low-spec hardware&lt;/strong&gt;.&lt;br&gt;
✅ Easy installation (snap package).&lt;br&gt;
✅ Perfect for &lt;strong&gt;labs, testing, and learning&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;In other words, you get the &lt;strong&gt;OpenStack experience&lt;/strong&gt; without needing a data center.&lt;/p&gt;


&lt;h2&gt;
  
  
  🚀 Getting Started with MicroStack
&lt;/h2&gt;

&lt;p&gt;Here’s a &lt;strong&gt;step-by-step guide&lt;/strong&gt; to set up MicroStack on Ubuntu.&lt;/p&gt;
&lt;h3&gt;
  
  
  1️⃣ Install MicroStack
&lt;/h3&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Install the snap&lt;/span&gt;
&lt;span class="nb"&gt;sudo &lt;/span&gt;snap &lt;span class="nb"&gt;install &lt;/span&gt;microstack &lt;span class="nt"&gt;--classic&lt;/span&gt;

&lt;span class="c"&gt;# Initialize MicroStack&lt;/span&gt;
&lt;span class="nb"&gt;sudo &lt;/span&gt;microstack init &lt;span class="nt"&gt;--auto&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;💡 &lt;code&gt;--auto&lt;/code&gt; accepts all defaults (good for labs). You’ll have a working OpenStack in minutes.&lt;/p&gt;


&lt;h3&gt;
  
  
  2️⃣ Verify Installation
&lt;/h3&gt;

&lt;p&gt;Check MicroStack status:&lt;br&gt;
&lt;/p&gt;

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

&lt;/div&gt;



&lt;p&gt;You should see services like Nova (compute), Neutron (networking), and Keystone (identity) running.&lt;/p&gt;




&lt;h3&gt;
  
  
  3️⃣ Access the Horizon Dashboard
&lt;/h3&gt;

&lt;p&gt;OpenStack ships with a web UI called &lt;strong&gt;Horizon&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Find the dashboard URL:&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;echo&lt;/span&gt; &lt;span class="s2"&gt;"Dashboard: http://&lt;/span&gt;&lt;span class="si"&gt;$(&lt;/span&gt;&lt;span class="nb"&gt;hostname&lt;/span&gt; &lt;span class="nt"&gt;-I&lt;/span&gt; | &lt;span class="nb"&gt;awk&lt;/span&gt; &lt;span class="s1"&gt;'{print $1}'&lt;/span&gt;&lt;span class="si"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;/horizon"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Log in with:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Username&lt;/strong&gt;: &lt;code&gt;admin&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Password&lt;/strong&gt;: (auto-generated, find in &lt;code&gt;/var/snap/microstack/common/etc/keystone/admin-password&lt;/code&gt;)&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  4️⃣ Launch Your First VM
&lt;/h3&gt;

&lt;p&gt;Let’s spin up an Ubuntu VM:&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;# Download an Ubuntu cloud image&lt;/span&gt;
wget https://cloud-images.ubuntu.com/focal/current/focal-server-cloudimg-amd64.img

&lt;span class="c"&gt;# Upload it to OpenStack&lt;/span&gt;
microstack.openstack image create &lt;span class="s2"&gt;"Ubuntu-20.04"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--file&lt;/span&gt; focal-server-cloudimg-amd64.img &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--disk-format&lt;/span&gt; qcow2 &lt;span class="nt"&gt;--container-format&lt;/span&gt; bare &lt;span class="nt"&gt;--public&lt;/span&gt;

&lt;span class="c"&gt;# Create a flavor (VM size)&lt;/span&gt;
microstack.openstack flavor create &lt;span class="nt"&gt;--ram&lt;/span&gt; 1024 &lt;span class="nt"&gt;--disk&lt;/span&gt; 10 &lt;span class="nt"&gt;--vcpus&lt;/span&gt; 1 small

&lt;span class="c"&gt;# Create a keypair&lt;/span&gt;
microstack.openstack keypair create mykey &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; mykey.pem
&lt;span class="nb"&gt;chmod &lt;/span&gt;600 mykey.pem

&lt;span class="c"&gt;# Launch instance&lt;/span&gt;
microstack.openstack server create &lt;span class="nt"&gt;--flavor&lt;/span&gt; small &lt;span class="nt"&gt;--image&lt;/span&gt; &lt;span class="s2"&gt;"Ubuntu-20.04"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--key-name&lt;/span&gt; mykey myfirstvm
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Now you have a &lt;strong&gt;VM running inside OpenStack&lt;/strong&gt;.&lt;/p&gt;




&lt;h3&gt;
  
  
  5️⃣ Networking Basics
&lt;/h3&gt;

&lt;p&gt;MicroStack sets up basic networking automatically, but here’s the flow:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Neutron&lt;/strong&gt; manages networks and subnets.&lt;/li&gt;
&lt;li&gt;You can create custom networks for apps, DBs, and external connectivity.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;microstack.openstack network list
microstack.openstack subnet list
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;💡 In real-world clouds, you’d design multi-tier networks (web, app, DB), just like VPCs in AWS.&lt;/p&gt;




&lt;h3&gt;
  
  
  6️⃣ Managing Storage
&lt;/h3&gt;

&lt;p&gt;OpenStack provides &lt;strong&gt;Cinder&lt;/strong&gt; (block storage) and &lt;strong&gt;Swift&lt;/strong&gt; (object storage).&lt;/p&gt;

&lt;p&gt;Attach a volume to your VM:&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;# Create a volume&lt;/span&gt;
microstack.openstack volume create &lt;span class="nt"&gt;--size&lt;/span&gt; 5 myvolume

&lt;span class="c"&gt;# Attach it to a VM&lt;/span&gt;
microstack.openstack server add volume myfirstvm myvolume
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  💡 Tips &amp;amp; Lessons Learned
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Start small&lt;/strong&gt; → Don’t try to deploy 10 services at once. Begin with 1 VM.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Draw your networks&lt;/strong&gt; → OpenStack networking can be confusing; diagrams help.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Embrace errors&lt;/strong&gt; → Debugging teaches you more than perfect runs.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Automate with CLI&lt;/strong&gt; → Don’t just click in Horizon; learn the CLI.&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  🔒 DevOps &amp;amp; DevSecOps Angle
&lt;/h2&gt;

&lt;p&gt;Why does OpenStack matter for DevOps?&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;You learn how &lt;strong&gt;cloud internals really work&lt;/strong&gt; (VMs, networks, storage).&lt;/li&gt;
&lt;li&gt;It’s like &lt;strong&gt;building your own AWS&lt;/strong&gt; → great for understanding public cloud concepts deeply.&lt;/li&gt;
&lt;li&gt;DevSecOps engineers can &lt;strong&gt;practice policies, RBAC, and security isolation&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;👉 It’s a &lt;strong&gt;safe playground&lt;/strong&gt; before you touch enterprise-scale OpenStack or even AWS.&lt;/p&gt;




&lt;h3&gt;
  
  
  ⚡ Common Mistakes to Avoid
&lt;/h3&gt;

&lt;p&gt;⚠️ Expecting MicroStack to replace AWS → It’s for learning, not production.&lt;br&gt;
⚠️ Skipping networking basics → It’s where most errors happen.&lt;br&gt;
⚠️ Ignoring logs → Check &lt;code&gt;/var/snap/microstack/common/log/&lt;/code&gt; for debugging.&lt;/p&gt;




&lt;h3&gt;
  
  
  📚 Recap
&lt;/h3&gt;

&lt;p&gt;✅ OpenStack = open-source cloud platform (AWS-like).&lt;br&gt;
✅ MicroStack = lightweight version for laptops/labs.&lt;br&gt;
✅ You can: launch VMs, configure networks, and manage storage.&lt;br&gt;
✅ Great for DevOps/DevSecOps learning &amp;amp; labs.&lt;/p&gt;




&lt;p&gt;Curious about cloud internals?&lt;br&gt;
Don’t just read; &lt;strong&gt;try OpenStack with MicroStack today&lt;/strong&gt;. You’ll learn more in one weekend of hands-on practice than in a month of theory.&lt;/p&gt;

&lt;p&gt;👉 Have you tried MicroStack or OpenStack before? Share your experience in the comments!&lt;/p&gt;




&lt;p&gt;👨‍💻 &lt;strong&gt;Written by:&lt;/strong&gt; Abdulrahman A. Muhamad&lt;br&gt;
🌐 &lt;a href="https://www.linkedin.com/in/abdulrahmanalpha" rel="noopener noreferrer"&gt;LinkedIn&lt;/a&gt; | &lt;a href="https://github.com/AbdulrahmanAlpha" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt; | &lt;a href="https://abdulrahman-alpha.web.app" rel="noopener noreferrer"&gt;Portfolio&lt;/a&gt;&lt;/p&gt;

</description>
      <category>openstack</category>
      <category>microstack</category>
      <category>devops</category>
      <category>devsecops</category>
    </item>
  </channel>
</rss>
