Lecture 02 · E2C Continuum and Cloud Computing

المحاضرة 02 · E2C Continuum والحوسبة السحابية

Private cloud platforms: OpenStack and OpenNebula

منصات السحابة الخاصة: OpenStack وOpenNebula

Slides 57–62الشرائح 57–62 P2 SHOULDP2 مهم

Two open-source platforms that turn servers you own into a cloud. One key idea, two origin stories, and a service map that is begging to be a matching question.

منصتان مفتوحتا المصدر تحوّلان الخوادم التي تملكها إلى سحابة. فكرة أساسية واحدة، وقصتا نشأة، وخريطة خدمات تصلح تماماً لسؤال توصيل.

What a private IaaS platform adds

ماذا تضيف منصة IaaS خاصة

Slide 57: there are many products for building your own self-hosted cloud, ranging from IaaS to SaaS, some open source and some licensed for fees. Slide 58: private IaaS platforms provide components to set up infrastructure services: compute, networking and storage. The two open-source examples are OpenStack and OpenNebula.

الشريحة 57: توجد منتجات كثيرة لبناء سحابتك المستضافة ذاتياً (self-hosted)، من IaaS إلى SaaS، بعضها مفتوح المصدر وبعضها مرخّص برسوم. الشريحة 58: منصات private IaaS توفّر مكوّنات لإعداد خدمات البنية التحتية: الحوسبة والشبكات والتخزين. والمثالان مفتوحا المصدر هما OpenStack وOpenNebula.

The key idea: a hypervisor alone gives you VMs, but an administrator still creates each one by hand. A private IaaS platform adds the NIST cloud characteristics on top: on-demand self-service (API and dashboard), resource pooling with multi-tenancy and quotas, and measured service. The hardware still belongs to one organization, so it is still CapEx.

الفكرة الأساسية: الـ hypervisor وحده يعطيك أجهزة افتراضية، لكن المسؤول ما زال ينشئ كل جهاز يدوياً. منصة private IaaS تضيف فوقه خصائص السحابة حسب NIST: الخدمة الذاتية عند الطلب (on-demand self-service) عبر API ولوحة تحكم، وتجميع الموارد (resource pooling) مع تعدد المستأجرين والحصص، والخدمة المُقاسة (measured service). العتاد ما زال ملكاً لمؤسسة واحدة، فهو ما زال CapEx.

QuestionالسؤالPlain hypervisorhypervisor مجردPrivate IaaS platformمنصة IaaS خاصةPublic IaaSIaaS عامة
Who owns the hardwareمن يملك العتادYouأنتYouأنتThe providerالمزوّد
Self-service API for usersAPI خدمة ذاتية للمستخدمينNo, an admin clicksلا، المسؤول ينقر بنفسهYesنعمYesنعم
Multi-tenancy with quotasتعدد المستأجرين مع حصص (quotas)NoلاYes, per projectنعم، لكل مشروعYes, per accountنعم، لكل حساب
BillingالفوترةBought up frontشراء مقدّمBought up front, metered internallyشراء مقدّم، مع قياس داخليPay per useالدفع حسب الاستخدام
ExampleمثالKVM or ESXi aloneKVM أو ESXi وحدهOpenStack, OpenNebulaAWS EC2

يضع الجدول المنصة الخاصة بين الطرفين: العتاد ملكك كما في الـ hypervisor المجرد، لكنك تحصل على API للخدمة الذاتية وتعدد المستأجرين والقياس كما في السحابة العامة. الفرق الوحيد مع AWS EC2 هو من يملك العتاد ومن يدفع مقدماً.

OpenStack

Slide 59. OpenStack began in 2010 as a joint project of Rackspace (which contributed its storage code, Swift) and NASA (which contributed its compute controller, Nova). Since 2012 it is managed by the OpenStack Foundation, renamed the Open Infrastructure Foundation (OpenInfra) in 2020, part of the Linux Foundation since 2025. License Apache 2.0, a new release every 6 months. It can be deployed as IaaS in both public and private setups.

الشريحة 59. بدأ OpenStack عام 2010 مشروعاً مشتركاً بين Rackspace (التي قدّمت كود التخزين، أي Swift) وNASA (التي قدّمت متحكم الحوسبة، أي Nova). منذ 2012 تديره OpenStack Foundation، التي صار اسمها Open Infrastructure Foundation (OpenInfra) عام 2020، وأصبحت جزءاً من Linux Foundation منذ 2025. الترخيص Apache 2.0، وإصدار جديد كل 6 أشهر. ويمكن نشره كـ IaaS في بيئات عامة وخاصة.

The service map (matching question material)

خريطة الخدمات (مادة أسئلة التوصيل)

OpenStack is a set of independent services, each owning one kind of resource. Memorise them through their AWS twins.

OpenStack مجموعة من الخدمات المستقلة، كل خدمة تملك نوعاً واحداً من الموارد. احفظها عبر نظيراتها في AWS.

OPENSTACK AWS TWIN Novacompute Swiftobject storage Cinderblock storage Neutronnetworking Keystoneidentity Glanceimages Horizondashboard Placementhost inventory EC2 S3 EBS VPC IAM AMI catalog Management Console no direct twin objects over HTTP disk attached to one VM
Swift and Cinder are both storage, but different shapes: Swift is object storage (S3), Cinder is block volumes (EBS).
Swift وCinder كلاهما تخزين لكن بشكلين مختلفين: Swift تخزين كائني (S3)، وCinder وحدات تخزين كتلية (EBS).

How the services talk. Between services: REST APIs, every call carrying a token issued and checked by Keystone. Inside one service: worker processes coordinate through an AMQP message broker (for example RabbitMQ). State: each service keeps it in a SQL database. Horizon has no special powers; it is just another REST client, like the CLI.

كيف تتواصل الخدمات. بين الخدمات: عبر REST APIs، وكل استدعاء يحمل token يصدره ويتحقق منه Keystone. داخل الخدمة الواحدة: تتنسّق العمليات عبر وسيط رسائل AMQP (مثل RabbitMQ). الحالة: كل خدمة تحفظها في قاعدة بيانات SQL. وHorizon ليس له صلاحيات خاصة، فهو مجرد عميل REST آخر مثل الـ CLI.

Worked: booting one VMمثال محلول: تشغيل جهاز افتراضي واحد
openstack server create --image ubuntu-24.04 --boot-from-volume 20 \
    --flavor m1.small --network private demo-vm

1. Keystone   authenticate, get a token + service catalog
2. Nova       receives the create request (checks token)
3. Placement  which hosts have free vCPU and RAM for m1.small?
4. Glance     look up the ubuntu-24.04 image
5. Neutron    allocate a port + IP on network "private"
6. Cinder     create a 20 GB boot volume from the image
7. KVM host   libvirt boots the guest

six services cooperate through their APIs for one VM

Without --boot-from-volume, Nova boots from an ephemeral disk and never calls Cinder. Swift is not in the boot path; the app inside the VM may use it later.

بدون --boot-from-volume يقلع Nova من قرص مؤقت (ephemeral) ولا يستدعي Cinder أبداً. وSwift ليس في مسار الإقلاع، وقد يستخدمه التطبيق داخل الجهاز لاحقاً.

OpenNebula

Slide 61. Started in 2005 as a research project by Ignacio M. Llorente and Rubén S. Montero at Complutense University of Madrid, goal: manage virtual machines on distributed infrastructure. First public release 2008 (so it is older than OpenStack). In 2010 the founders created C12G Labs, later renamed OpenNebula Systems, for professional enterprise services. License Apache 2.0.

الشريحة 61. بدأ عام 2005 مشروعاً بحثياً على يد Ignacio M. Llorente وRubén S. Montero في جامعة Complutense في مدريد، وهدفه إدارة الأجهزة الافتراضية على بنية موزعة. أول إصدار عام كان 2008 (فهو أقدم من OpenStack). وفي 2010 أسس مؤسسوه C12G Labs، التي صار اسمها لاحقاً OpenNebula Systems، لتقديم خدمات احترافية للشركات. الترخيص Apache 2.0.

Architecture: centralized. One front-end holds the whole control plane: the oned daemon, the scheduler and an XML-RPC API, with the Sunstone web GUI and the CLI on top. It manages clusters of hypervisor hosts through pluggable storage drivers (NFS, Ceph, local LVM) and network drivers (Linux bridge, 802.1Q VLAN, VXLAN, Open vSwitch). Hypervisors today: KVM for VMs and LXC for system containers.

البنية مركزية. واجهة أمامية (front-end) واحدة تحمل كل مستوى التحكم: الخدمة oned والمُجدوِل وواجهة XML-RPC API، وفوقها واجهة الويب Sunstone والـ CLI. وهي تدير عناقيد من مضيفات الـ hypervisor عبر مشغّلات تخزين (NFS، Ceph، local LVM) ومشغّلات شبكة (Linux bridge، 802.1Q VLAN، VXLAN، Open vSwitch). الـ hypervisors اليوم: KVM للأجهزة الافتراضية وLXC لحاويات النظام.

FRONT-END (one machine) oned · scheduler · XML-RPC API Sunstone GUI and CLI on top storage drivers network drivers Cluster A KVM · KVM · KVM Cluster B KVM · LXC · LXC
A town hall with plug-in contractors: one front-end runs everything, drivers adapt it to the storage and network you have.
مجلس بلدي مع مقاولين قابلين للتركيب: واجهة أمامية (front-end) واحدة تدير كل شيء، وdrivers تكيّفها مع التخزين والشبكة الموجودين لديك.
AspectالجانبOpenStackOpenNebula
OriginالنشأةRackspace + NASARackspace + NASAComplutense University of Madridجامعة كومبلوتنسي في مدريد (Complutense University of Madrid)
Started / first releaseالبداية / أول إصدار2010 / 20102005 / 2008
Stewardالجهة الراعيةFoundation (2012), OpenInfra, Linux FoundationFoundation (2012)، ثم OpenInfra، ثم Linux FoundationOpenNebula Systems (C12G Labs, 2010)
ArchitectureالبنيةMany REST services + AMQP + SQLخدمات REST كثيرة + AMQP + SQLSingle front-end + driversfront-end واحدة + drivers
Main APIالـ API الرئيسيةRESTXML-RPC
GUIالواجهة الرسوميةHorizonSunstone
LicenseالترخيصApache 2.0Apache 2.0

مقارنة سريعة: OpenStack من Rackspace وNASA عام 2010، خدمات REST كثيرة مع AMQP وSQL، وواجهته Horizon. أما OpenNebula فمن جامعة Complutense، بدأ 2005 وأول إصدار 2008، واجهة أمامية واحدة مع مشغّلات، وAPI من نوع XML-RPC، وواجهته Sunstone. كلاهما بترخيص Apache 2.0.

Memory hookخطّاف للحفظ

"Nova computes, Swift objects, Cinder blocks, Neutron networks, Keystone keys, Glance images, Horizon shows." And Placement is the odd one out with no AWS twin.

"Nova computes, Swift objects, Cinder blocks, Neutron networks, Keystone keys, Glance images, Horizon shows." أي: Nova للحوسبة، وSwift للكائنات، وCinder للكتل، وNeutron للشبكات، وKeystone للمفاتيح والهوية، وGlance للصور، وHorizon للعرض. وPlacement هو الاستثناء الذي لا نظير له في AWS.

Exam trapفخ امتحاني

Swift vs Cinder. Swift = object storage over HTTP (like S3), never mounted as a disk. Cinder = block volumes that attach to one VM like a hard drive (like EBS). "A database needs a persistent disk that survives VM deletion" is Cinder.

Swift مقابل Cinder. Swift = تخزين كائني (object) عبر HTTP (مثل S3)، ولا يُركَّب كقرص أبداً. Cinder = وحدات تخزين كتلية (block) تُربط بجهاز افتراضي واحد كقرص صلب (مثل EBS). عبارة "قاعدة بيانات تحتاج قرصاً دائماً يبقى بعد حذف الجهاز" جوابها Cinder.

Slides 60 and 62 say "Public (Cont.)" in their titles, but they show OpenStack's map and OpenNebula's stack, which belong to the private platforms section. Do not let the slide title convince you OpenNebula is a public cloud.

عنوانا الشريحتين 60 و62 يقولان "Public (Cont.)"، لكنهما تعرضان خريطة OpenStack ومكدّس OpenNebula، وهما ضمن قسم المنصات الخاصة. لا تدع عنوان الشريحة يقنعك بأن OpenNebula سحابة عامة.

Rackspace does not own OpenStack. Slide 59's heading "Rackspace OpenStack" reads that way, but Rackspace was only a co-founder; a neutral foundation stewards it.

Rackspace لا تملك OpenStack. عنوان الشريحة 59 "Rackspace OpenStack" يوحي بذلك، لكن Rackspace كانت شريكاً مؤسساً فقط، وتديره مؤسسة محايدة.

Check yourself

اختبر نفسك

A database VM needs a persistent disk that attaches like a hard drive and survives VM deletion. Which OpenStack service provides it?

جهاز افتراضي لقاعدة بيانات يحتاج قرصاً دائماً يُربط كقرص صلب ويبقى بعد حذف الجهاز. أي خدمة في OpenStack توفّره؟

B. Cinder provides persistent block volumes, the EBS equivalent. Swift is object storage over HTTP (S3), not a mountable disk. Glance stores boot images. Nova runs the instances themselves.

الجواب B. يوفّر Cinder وحدات تخزين كتلية دائمة، وهو مكافئ EBS. Swift تخزين كائني عبر HTTP (S3) وليس قرصاً يُركَّب. Glance يخزن صور الإقلاع. وNova يشغّل الأجهزة نفسها.

Match the OpenStack service to its AWS equivalent. Which pairing is WRONG?

طابق خدمة OpenStack بمكافئها في AWS. أي زوج خاطئ؟

D. Swift is object storage, so its twin is S3. EBS (block storage) is Cinder's twin. A, B and C are all correct pairings: compute, identity and networking.

الجواب D. Swift تخزين كائني، فنظيره S3. أما EBS (التخزين الكتلي) فنظيره Cinder. الأزواج A وB وC كلها صحيحة: الحوسبة والهوية والشبكات.

Which statement about the origins of the two platforms is correct?

أي عبارة عن نشأة المنصتين صحيحة؟

A. OpenNebula: research project 2005, first release 2008, C12G Labs (2010) became OpenNebula Systems. OpenStack: 2010, Rackspace (Swift) plus NASA (Nova), foundation from 2012. C mixes up the 2012 OpenStack Foundation with the Linux Foundation, which OpenInfra only joined in 2025. D falls for the "Public (Cont.)" slide title.

الجواب A. OpenNebula: مشروع بحثي 2005، وأول إصدار 2008، وC12G Labs (2010) صارت OpenNebula Systems. OpenStack: 2010، من Rackspace (Swift) وNASA (Nova)، ومؤسسة منذ 2012. الخيار C يخلط بين OpenStack Foundation عام 2012 وLinux Foundation التي لم تنضم إليها OpenInfra إلا في 2025. والخيار D يقع في فخ عنوان الشريحة "Public (Cont.)".

How do OpenStack services communicate with each other?

كيف تتواصل خدمات OpenStack فيما بينها؟

C. Services expose REST APIs and call each other only through them, with Keystone authenticating every call. An AMQP broker such as RabbitMQ coordinates processes inside a service, and each service keeps its own SQL state. A describes OpenNebula. D is wrong because Horizon is just another REST client.

الجواب C. كل خدمة تعرض REST API ولا تستدعي غيرها إلا عبرها، وKeystone يتحقق من كل استدعاء. ووسيط AMQP مثل RabbitMQ ينسّق العمليات داخل الخدمة، ولكل خدمة حالتها في SQL. الخيار A يصف OpenNebula. والخيار D خاطئ لأن Horizon مجرد عميل REST آخر.