The question that brings most people here is simple: should I use DevStack, or should I deploy OpenStack? The short answer: DevStack is a development and testing tool; OpenStack is the production cloud operating system itself. They solve different problems, and choosing the wrong one means rebuilding later.
Here is the situation. You need to understand OpenStack before you can trust it with real infrastructure. You could start with DevStack because it gets a complete OpenStack environment running on a single virtual machine in under an hour. Once you understand how the services interact, you move to a proper OpenStack deployment for anything that has to persist, scale, or serve users. The distinction between the two is not academic — it determines whether your environment survives a reboot.
The difference, in one sentence
OpenStack is a cloud operating system. It is what you run when you want to build and manage private or public cloud infrastructure across multiple servers. DevStack is a set of shell scripts that installs OpenStack quickly on one host, purely for development, testing, learning, and demos.
How to think about them
You reach for DevStack when your goal is exploration. You need to see Keystone, Glance, Nova, Neutron, Cinder, and Horizon running together, to click around Horizon, and to break things without consequence. DevStack gives you that in a single VM.
You reach for OpenStack — not DevStack — when your goal is operation. A real cloud needs high availability, persistent storage, multi-node networking, backups, and upgrade paths. DevStack explicitly lacks all of those. The OpenStack documentation is direct about this: DevStack is not a general OpenStack installer, and running it on a system you care about is risky. If you are working with shell scripts during installation, our Bash parameter expansion and quoting reference explains the rules that apply when you write values in configuration files, and grep and sed are useful for searching through OpenStack service logs and configs.
Side-by-side comparison
| Feature | OpenStack | DevStack |
|---|---|---|
| What it is | Production-grade cloud OS (IaaS) | Dev/test shell-script installer for OpenStack |
| Primary purpose | Run public or private clouds at scale | Learn, develop, test, and demo OpenStack |
| Deployment scope | Multiple physical/virtual servers (“shared nothing”) | Single host, all-in-one |
| High availability | Yes, built for persistence and HA | No — lacks persistence, HA, backups |
| Orchestration | Complex: Kolla, TripleO, Ansible, or manual | Simple: clone repo, edit local.conf, run stack.sh |
| Hardware requirement | Multiple compute and storage nodes | One machine or VM (~32 GB RAM for a full stack) |
| Best for | Production workloads, multi-tenant clouds | Learning, CI, plugin testing, one-off demos |
When DevStack is the right fit
Use DevStack for three scenarios:
- Learning OpenStack. It is the fastest way to see every core service on one machine.
- Testing changes. When you want to validate a configuration or plugin idea, you can rebuild the stack quickly.
- Demos. A single VM with a working Horizon dashboard is enough to show how OpenStack works.
When to use production OpenStack instead
Use a full OpenStack deployment when:
- The cloud must serve real users or workloads
- You need high availability or persistence across reboots
- You need multiple compute or storage nodes
- You need upgrade paths and production-grade operations
For those, you look at distributions built on Kolla, TripleO, or similar production tooling — not DevStack.
What DevStack is not
DevStack is sometimes mistaken for a general OpenStack installer. It is not. The documentation is explicit that DevStack was never meant to be “everything to everyone.” It modifies the host heavily, installs and removes packages, and is designed to be disposable. Never run it on production hardware, and never expect a DevStack deployment to survive being treated like a real cloud.
Alternatives worth knowing
Depending on the goal, other options exist:
- MicroStack. A smaller, more opinionated OpenStack for single-machine use. People searching for DevStack often also look at MicroStack.
- Packstack. Another OpenStack deployment tool, though less commonly used today.
- Kolla / TripleO. Production orchestration tools for multi-node OpenStack.
Decision checklist
Before you start, ask:
- Am I learning or testing OpenStack? → DevStack
- Do I need a cloud that persists and scales? → Production OpenStack
- Can I rebuild this environment from scratch if it breaks? → DevStack is fine
- Do I need multiple nodes or high availability? → Production OpenStack
If your answer to the first question is yes and the rest are no, DevStack is the right tool. If any production requirement appears, look elsewhere.
Related reading
- What is DevStack? A beginner’s guide — the core concept and what DevStack actually deploys
- How to install DevStack on Ubuntu 24.04 — if you decide DevStack is the right fit
- DevStack local.conf explained — how to configure the stack you install
References
- DevStack documentation — OpenStack — official overview and purpose of DevStack
- Overview — DevStack documentation — clarifies what DevStack is and is not
- openstack/devstack on GitHub — source repository