Cloud Computing Trends · Topic 1 of 1
OpenStack and Emerging Technologies
Learn what OpenStack is, the job of Nova, Neutron, Cinder, Swift, Glance, Keystone and Heat, and the basics of containers, edge computing and serverless.
- 5 min
- OpenStack is an open source cloud operating system that manages compute, storage and network pools; it is not a hypervisor.
- Nova compute, Neutron network, Cinder block storage, Swift object storage, Glance images, Keystone identity, Horizon dashboard, Heat orchestration, Ceilometer telemetry.
- OpenStack projects communicate through REST APIs; components inside a project use a message queue and a database.
What it is
OpenStack is an open source cloud operating system. It controls large pools of compute, storage and network resources and offers them to users through APIs and a web dashboard, so users can create their own VMs, networks and disks on demand.
Emerging technologies such as containers, edge computing and serverless change how applications are packaged and where they run. The exam asks about them at concept level only.
How it works
OpenStack in brief
OpenStack was started in 2010 by Rackspace and NASA and is released under the Apache 2.0 license. A new release comes out about every six months.
OpenStack is not a hypervisor. It is a management and orchestration layer that drives hypervisors such as KVM, and storage and network systems, through drivers. Huawei builds its own cloud platform products on OpenStack.
The core projects
| Project | Service | What it does |
|---|---|---|
| Nova | Compute | Creates, schedules and manages VM instances on the hypervisor hosts |
| Neutron | Networking | Provides virtual networks, subnets, routers, floating IP addresses and security groups |
| Cinder | Block storage | Provides persistent volumes that attach to instances |
| Swift | Object storage | Stores objects such as files and backups, accessed over HTTP |
| Glance | Image service | Stores and serves the images used to boot instances |
| Keystone | Identity | Authenticates users and services, issues tokens and lists the service endpoints |
| Horizon | Dashboard | The web interface for users and administrators |
| Heat | Orchestration | Builds whole stacks of resources from a template |
| Ceilometer | Telemetry | Collects metering and usage data from the other services |
Two pairs cause most confusion. Cinder gives block volumes to instances, while Swift stores objects reached over HTTP. Ceilometer only collects data; evaluating alarms on that data is the job of a separate project, Aodh.
How the projects work together
Projects talk to each other through their REST APIs. Inside one project, components use a message queue, commonly RabbitMQ, and keep their state in a database.
Starting a VM touches almost every core project:
- The user logs in and Keystone issues a token.
- Nova checks the request, and its scheduler chooses a compute host.
- The host gets the image from Glance, a network port from Neutron, and any volume from Cinder.
- The hypervisor on the compute host starts the instance.
Containers
A container packages an application with its libraries and settings and runs it as an isolated process on the host OS. Containers share the host's kernel, while each VM runs its own full guest OS.
| Aspect | VM | Container |
|---|---|---|
| Includes | Full guest OS and its kernel | App and its dependencies; shares the host kernel |
| Size | Gigabytes | Often megabytes |
| Start time | Tens of seconds or more | Seconds or less |
| Isolation | Strong, at the hardware level | Weaker, at the process level |
Docker made containers popular. An image is a read only template, a container is a running instance of an image, and a registry stores and shares images.
docker pull nginx
docker run -d -p 8080:80 nginx
docker ps
These commands download the nginx image, run it in the background with host port 8080 mapped to port 80 in the container, and list running containers.
Kubernetes
Kubernetes orchestrates containers across many servers. It schedules them, restarts failed ones and scales them up or down.
| Term | Meaning |
|---|---|
| Pod | The smallest deployable unit, one or more containers sharing network and storage |
| Node | A worker machine that runs pods |
| Control plane | The components that manage the cluster and schedule pods |
Edge computing and serverless
Edge computing processes data close to where it is produced, such as in a factory, a store or a base station, instead of sending everything to a central cloud. It lowers latency, saves bandwidth and keeps working when the link to the cloud is slow.
Serverless computing lets developers deploy code or functions while the provider runs and scales the servers. Functions run when an event triggers them, scale automatically, and are billed by actual execution, not by idle servers. FaaS (function as a service) is the most common serverless form.
A worked example
A retailer runs its online store on an OpenStack private cloud. Developers use Horizon to create instances; Keystone checks their identity, Nova places the instances, Neutron gives them networks and Cinder adds data volumes.
The web front end is moved into containers managed by Kubernetes, so it scales up for a sales event. Image resizing becomes a serverless function that runs only when a photo is uploaded. In each store, edge servers analyze camera video locally and send only the results to the cloud.
How the exam asks about this
- "Which OpenStack project provides the compute service?" -> Nova.
- "Which OpenStack project provides authentication and the service catalog?" -> Keystone.
- "Which statement about containers is true?" -> Containers share the host OS kernel, so they are lighter and start faster than VMs.
What to remember for the exam
- OpenStack is an open source cloud operating system that manages compute, storage and network pools; it is not a hypervisor.
- Nova compute, Neutron network, Cinder block storage, Swift object storage, Glance images, Keystone identity, Horizon dashboard, Heat orchestration, Ceilometer telemetry.
- OpenStack projects communicate through REST APIs; components inside a project use a message queue and a database.
- Containers share the host kernel; VMs each run a full guest OS. Kubernetes orchestrates containers in pods.
- Edge computing moves processing near the data source; serverless runs event driven functions billed per execution.
Do not give alarm evaluation to Ceilometer. Ceilometer collects metering data, and alarms are evaluated by Aodh.
Common mistakes
Mixing up Cinder and Swift. Cinder gives an instance a block volume like a disk. Swift is object storage reached over HTTP, not attached as a disk.
Calling OpenStack a hypervisor. OpenStack manages hypervisors such as KVM through Nova; the hypervisor itself runs the VMs.
Thinking serverless means no servers. Servers still exist, but the provider manages and scales them, so the developer only supplies code.
Check yourself
Which OpenStack project stores the images used to boot instances?
Glance, the image service.
Why do containers start faster than VMs?
A container shares the host kernel and holds only the app and its dependencies, so no guest OS needs to boot.
What is the main benefit of edge computing?
Data is processed near its source, which lowers latency and saves bandwidth to the central cloud.
Topic 1 of 1 in Cloud Computing Trends
Test yourself on Cloud Computing Trends
The full Huawei H13-511 question bank has 600 questions, with timed practice exams and an explanation for every answer.
This study guide is independent and is not affiliated with, endorsed by, or sponsored by Huawei. Vendor names, certification names and exam codes are trademarks of their respective owners and are used for identification only.