DEV Community

Cover image for OpenStack for DevOps Beginners: Hands-On with MicroStack
Abdul-Rahman Ahmad (Alpha)
Abdul-Rahman Ahmad (Alpha)

Posted on

OpenStack for DevOps Beginners: Hands-On with MicroStack

🎯 Target Audience: DevOps/DevSecOps beginners curious about cloud internals
🧠 Key Concepts: OpenStack, MicroStack, VMs, networking, private cloud basics
Estimated Read Time: ~12 minutes
🌍 Real-World Focus: Learn how to run your own mini-cloud on your laptop for labs, testing, and skill-building


🌍 Why OpenStack?

Everyone knows AWS, Azure, and GCP. But what if you wanted to run your own cloud platform?

That’s what OpenStack is:
An open-source cloud operating system that lets you control compute, storage, and networking resources in your own data center.

It’s the backbone for:

  • Telecoms (e.g., 5G infrastructure).
  • Research labs (high-performance computing).
  • Enterprises building private clouds.

👉 Think of OpenStack as “AWS, but open-source and customizable.”


⚡ The Challenge: Too Heavy

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.

When I first looked at it, my reaction was:
“Cool, but… this is way too heavy for my laptop.”


🛠 The Solution: MicroStack

Enter MicroStack: a lightweight, single-node OpenStack distribution that you can install on Ubuntu.

Why MicroStack?

✅ Works on low-spec hardware.
✅ Easy installation (snap package).
✅ Perfect for labs, testing, and learning.

In other words, you get the OpenStack experience without needing a data center.


🚀 Getting Started with MicroStack

Here’s a step-by-step guide to set up MicroStack on Ubuntu.

1️⃣ Install MicroStack

# Install the snap
sudo snap install microstack --classic

# Initialize MicroStack
sudo microstack init --auto
Enter fullscreen mode Exit fullscreen mode

💡 --auto accepts all defaults (good for labs). You’ll have a working OpenStack in minutes.


2️⃣ Verify Installation

Check MicroStack status:

microstack status
Enter fullscreen mode Exit fullscreen mode

You should see services like Nova (compute), Neutron (networking), and Keystone (identity) running.


3️⃣ Access the Horizon Dashboard

OpenStack ships with a web UI called Horizon.

Find the dashboard URL:

echo "Dashboard: http://$(hostname -I | awk '{print $1}')/horizon"
Enter fullscreen mode Exit fullscreen mode

Log in with:

  • Username: admin
  • Password: (auto-generated, find in /var/snap/microstack/common/etc/keystone/admin-password)

4️⃣ Launch Your First VM

Let’s spin up an Ubuntu VM:

# Download an Ubuntu cloud image
wget https://cloud-images.ubuntu.com/focal/current/focal-server-cloudimg-amd64.img

# Upload it to OpenStack
microstack.openstack image create "Ubuntu-20.04" \
  --file focal-server-cloudimg-amd64.img \
  --disk-format qcow2 --container-format bare --public

# Create a flavor (VM size)
microstack.openstack flavor create --ram 1024 --disk 10 --vcpus 1 small

# Create a keypair
microstack.openstack keypair create mykey > mykey.pem
chmod 600 mykey.pem

# Launch instance
microstack.openstack server create --flavor small --image "Ubuntu-20.04" \
  --key-name mykey myfirstvm
Enter fullscreen mode Exit fullscreen mode

Now you have a VM running inside OpenStack.


5️⃣ Networking Basics

MicroStack sets up basic networking automatically, but here’s the flow:

  • Neutron manages networks and subnets.
  • You can create custom networks for apps, DBs, and external connectivity.

Example:

microstack.openstack network list
microstack.openstack subnet list
Enter fullscreen mode Exit fullscreen mode

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


6️⃣ Managing Storage

OpenStack provides Cinder (block storage) and Swift (object storage).

Attach a volume to your VM:

# Create a volume
microstack.openstack volume create --size 5 myvolume

# Attach it to a VM
microstack.openstack server add volume myfirstvm myvolume
Enter fullscreen mode Exit fullscreen mode

💡 Tips & Lessons Learned

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

🔒 DevOps & DevSecOps Angle

Why does OpenStack matter for DevOps?

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

👉 It’s a safe playground before you touch enterprise-scale OpenStack or even AWS.


⚡ Common Mistakes to Avoid

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


📚 Recap

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


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

👉 Have you tried MicroStack or OpenStack before? Share your experience in the comments!


👨‍💻 Written by: Abdulrahman A. Muhamad
🌐 LinkedIn | GitHub | Portfolio

Top comments (0)