Download as pdf or txt
Download as pdf or txt
You are on page 1of 17

KULLIYYAH OF INFORMATION & COMMUNICATION TECHNOLOGY

SEMESTER 2, 2023/2024

CSCI 3300 - OPERATING SYSTEMS

SECTION 1

BUILDING A PRIVATE CLOUD USING OPENSTACK ON UBUNTU OPERATING


SYSTEM

PREPARED BY:

NAME MATRIC NO. PARTICIPATION

NURUL NADHIRAH BINTI ZAKARIA 2213698 100%

LECTURER
DR. RIZAL BIN MOHD. NOR

DUE
27/5/2024
1. INTRODUCTION

1.1 Basic information about your PC


Before you start in building your private cloud, get a print screen of your system of the following
information:
i. Memory- size;

ii. Disk - type, size;

iii. Network card – type, speed.

1
iv. OS (Linux) – version, number of bits, other general properties.

2
v. What are the steps to build a private cloud using OpenStack on an Ubuntu operating
system?
(5
marks)
1. Prepare Hardware and Network
Ensure your machine meets hardware requirements (sufficient CPU, RAM, disk space).
Set up the network with necessary IP addresses.
2. Install Ubuntu Server
Install Ubuntu Server and update it to the latest packages.
3. Add OpenStack Repository
Add the OpenStack repository to your system for the latest packages.
4. Install DevStack
Download DevStack and configure it with your admin password and server IP.
Run DevStack to install OpenStack components.
5. Access Horizon Dashboard
Open a web browser and go to http://your_server_ip/dashboard.
Log in using the admin credentials set during configuration.
6. Verify Services
Ensure all OpenStack services (Keystone, Glance, Nova, Neutron, etc.) are running properly.

1.2 Getting started with Cloud Computing


To start with your assignment, answer BRIEFLY the following questions:
1) What empirical evidence supports the benefits of cloud computing, and how do these
benefits compare to traditional computing models?
(5 marks)

Empirical evidence strongly supports the benefits of cloud computing across various dimensions. Studies
show significant cost efficiency, with McAfee reporting that 93% of organizations see substantial savings,
and Harvard Business Review noting that 74% of businesses reduce costs through cloud migration.
Additionally, Nucleus Research found that cloud applications deliver 2.1 times the ROI of on-premises
applications. This cost efficiency, combined with the flexibility of the pay-as-you-go model, makes cloud
computing a financially attractive option.

Scalability and performance are also major advantages. AWS case studies highlight how companies like
Netflix can efficiently scale services during peak times, while Gartner notes the near-instant scalability
cloud computing provides for variable workloads. Performance improvements are evident in IDC's report
that companies experience 50% faster access to information and Forrester's findings of improved
performance and uptime. These benefits ensure that businesses can rapidly respond to changing demands
without the limitations of traditional infrastructure.

3
Security, innovation, and disaster recovery are further areas where cloud computing excels. Microsoft
Azure's compliance capabilities help companies maintain security standards, and a Cloud Security Alliance
survey indicates that 64.9% of respondents find cloud environments as secure or more secure than
on-premises setups. Deloitte Insights reports that cloud users are 20% more likely to launch new products,
highlighting the agility and innovation fostered by cloud services. Additionally, Aberdeen Group found that
cloud users achieve faster recovery times, ensuring business continuity and resilience. Overall, these
benefits demonstrate the substantial advantages of cloud computing over traditional models.

2) What are the various deployment models available in cloud computing, and what are the
relative advantages and disadvantages of each model in terms of scalability, security, and
cost-effectiveness? (2 marks)

Cloud Computing Deployment Models


a. Public Cloud
b. Private Cloud
c. Hybrid Cloud
d. Community Cloud

1. Public Cloud
Description: Resources provided by third-party vendors like AWS, Azure, and Google Cloud.
Advantages:
Scalability: Easily scalable with virtually unlimited resources.
Cost-Effectiveness: Pay-as-you-go model with no upfront costs.
Accessibility: Accessible from anywhere with an internet connection.
Disadvantages:
Security: Potentially less secure due to shared resources.
Compliance: Can face regulatory compliance challenges.
Control: Limited control over infrastructure and data management.

2. Private Cloud
Description: Dedicated resources used exclusively by one organization, either on-site or hosted by a third
party.
Advantages:
Security: Enhanced security and privacy with exclusive use.
Control: Greater control over infrastructure and data.
Customization: Tailored to the organization’s specific needs.
Disadvantages:
Scalability: Limited by the organization’s hardware and resources.
Cost-Effectiveness: High initial investment and maintenance costs.
Flexibility: Less flexible compared to the rapid scalability of public clouds.

3. Hybrid Cloud
Description: Combines public and private clouds, allowing data and applications to move between them.
Advantages:
Scalability: Offers the scalability of public clouds with the control of private clouds.
Cost-Effectiveness: Balances costs by utilizing both public and private resources.
Flexibility: Allows movement of workloads between clouds as needed.
Disadvantages:
Complexity: More complex to manage and secure.
Security: Requires robust measures to protect data across both cloud types.

4
Integration: Challenges in seamless integration between public and private clouds.

4. Community Cloud
Description: Shared infrastructure among organizations with common concerns, managed internally or by
a third party.
Advantages:
Security: Better security than public clouds due to a focused user base.
Cost-Effectiveness: Shared costs reduce individual expenses.
Collaboration: Facilitates collaboration among similar organizations.
Disadvantages:
Scalability: Less scalable than public clouds.
Complexity: Managing shared resources can be complex.
Flexibility: Limited by the collective resources and policies of the community.

3) What empirical evidence supports the advantages of implementing a private cloud


infrastructure for a company, and how do these benefits compare to those of a public or
hybrid cloud deployment? Additionally, what are the potential risks and challenges
associated with private cloud adoption and how can they be mitigated?
(6 marks)

Empirical evidence strongly supports the benefits of implementing a private cloud


infrastructure for companies, particularly in terms of enhanced security and compliance.
According to an IDC report, companies using private clouds benefit from greater control over
their security measures and compliance protocols, significantly reducing vulnerabilities.
Additionally, 451 Research found that 60% of enterprises prefer private clouds for their
critical workloads because of the enhanced security they offer. This preference is particularly
pronounced in industries with stringent regulatory requirements, where the ability to
customize security protocols to meet specific standards is invaluable.

Private clouds also offer unparalleled customizability and control, which are crucial for
optimizing business operations. Forrester Research indicates that private clouds allow for
higher levels of customization tailored to specific business needs, leading to more efficient
and effective operations. A TechRepublic survey underscores this point, revealing that 70% of
respondents value the control over resources and infrastructure provided by private clouds.
This control extends to performance and reliability, as noted by Gartner, which reports that
private clouds often deliver superior performance for applications with predictable usage
patterns. Furthermore, the Cisco Global Cloud Index demonstrates that private clouds
typically exhibit lower latency and more consistent performance metrics compared to public
clouds, making them ideal for mission-critical applications.

When comparing private cloud infrastructure to public and hybrid cloud deployments, several
key differences emerge. Public clouds are known for their scalability, cost-effectiveness, and
global accessibility. However, they may pose security vulnerabilities due to shared
infrastructure and can present challenges in meeting regulatory compliance. Hybrid clouds,
on the other hand, offer a balance of scalability and control by combining public and private
cloud resources. This model provides flexibility and dynamic resource allocation but also
introduces complexity in management and integration, along with the need for robust security
measures across different environments.

5
Despite its advantages, adopting a private cloud infrastructure comes with potential risks and
challenges. One significant challenge is the high initial investment required for hardware,
software, and infrastructure. This can be mitigated through phased investment planning and
vendor financing options. Additionally, private clouds require skilled IT staff for ongoing
maintenance, updates, and management, adding to the complexity and operational burden.
Companies can address this by investing in training for existing staff or considering managed
private cloud services. Finally, scalability limitations inherent in private clouds, due to their
dependence on physical resources, can be mitigated through robust capacity planning and the
integration of public cloud resources to handle peak loads. By carefully managing these
challenges, companies can fully leverage the benefits of a private cloud infrastructure.

In this assignment, we will be using OpenStack which is an open source cloud computing
platform that is used by organizations to manage and control large scale deployments of virtual
machines, such as in a cloud computing or virtual private server environment. Besides being used to
manage deployments of virtual machines, OpenStack can also be used to manage storage and
networking resources in a cloud environment.

- What are some alternative cloud computing platforms available in the market, and how do
they compare to each other in terms of performance, scalability, reliability, and
cost-effectiveness?
(6 marks)

1. Amazon Web Services (AWS)


Performance: AWS offers high-performance computing capabilities with a wide range of
services and instance types. Its performance is generally considered top-tier, especially for
large-scale applications.
Scalability: Highly scalable with automatic scaling features that handle increases in demand
effortlessly.
Reliability: AWS provides a robust infrastructure with multiple availability zones, ensuring
high availability and disaster recovery capabilities.
Cost-Effectiveness: Offers a pay-as-you-go pricing model, but costs can add up with heavy
usage. Cost optimization tools are available to manage expenses.

2. Microsoft Azure
Performance: Known for its strong integration with Microsoft products, Azure offers
competitive performance with extensive support for Windows and enterprise applications.
Scalability: Highly scalable with features like Azure Autoscale to dynamically adjust
resources based on demand.
Reliability: High reliability with a global network of data centers and comprehensive disaster
recovery solutions.
Cost-Effectiveness: Similar to AWS, Azure uses a pay-as-you-go model. Azure Hybrid
Benefit can provide cost savings for existing Microsoft customers.

3. Google Cloud Platform (GCP)


Performance: GCP excels in high-performance computing and big data analytics, leveraging
Google’s expertise in these areas.
Scalability: Highly scalable with tools like Google Kubernetes Engine (GKE) for managing
containerized applications at scale.

6
Reliability: GCP offers strong reliability with multiple redundancies and a global network of
data centers.
Cost-Effectiveness: Competitive pricing with sustained use discounts and committed use
contracts offering significant savings.

4. IBM Cloud
Performance: IBM Cloud provides robust performance, especially for enterprise and
AI-driven applications, leveraging IBM’s extensive technology stack.
Scalability: Scalable solutions with support for both traditional and cloud-native applications.
Reliability: Strong reliability with a global network and integrated security features.
Cost-Effectiveness: Pricing can be higher for enterprise services, but IBM offers flexible
pricing models and cost management tools.

5. VMware vCloud
Performance: Provides strong performance for virtualization and hybrid cloud environments,
leveraging VMware’s industry-leading virtualization technology.
Scalability: Scalable but primarily designed for hybrid cloud deployments, integrating
on-premises and cloud resources.
Reliability: Reliable with strong disaster recovery and business continuity features.
Cost-Effectiveness: Costs can be high for extensive deployments, but it offers flexibility for
businesses already using VMware products.

6. Oracle Cloud Infrastructure


Performance: High performance, particularly for Oracle database applications and enterprise
workloads.
Scalability: Scalable with a focus on enterprise-grade applications and databases.
Reliability: High reliability with comprehensive SLAs and a robust global network.
Cost-Effectiveness: Competitive pricing for Oracle customers, with significant savings for
running Oracle software on Oracle Cloud.

- Based on empirical evidence, what are the comparative advantages and disadvantages of
using OpenStack as a cloud computing platform in comparison to other available options,
with respect to factors such as scalability, security, interoperability, and cost-effectiveness?
Additionally, how can the adoption and implementation of OpenStack be optimized for
maximum benefits and efficiency? (6 marks)

Comparative Advantages and Disadvantages of OpenStack


a. Advantages:
i. Scalability:
Advantage: OpenStack is highly scalable, capable of supporting large-scale deployments. Its
modular architecture allows for scaling individual components as needed.
Comparison: Similar to leading platforms like AWS and Azure, OpenStack can handle
substantial growth in resources and workloads, though it may require more manual
configuration.

ii. Security:
Advantage: Offers robust security features, including Keystone for identity management and
role-based access controls.

7
Comparison: While platforms like AWS and Azure provide comprehensive, integrated
security services, OpenStack allows for greater customization of security policies to fit
specific organizational needs.

iii. Interoperability:
Advantage: OpenStack is highly interoperable with various hardware and software solutions,
supporting multiple hypervisors, storage systems, and network configurations.
Comparison: This flexibility often surpasses proprietary platforms like AWS and Azure,
which may have vendor lock-in constraints. OpenStack’s open-source nature facilitates
integration with diverse technologies.

b. Disadvantages:
i. Scalability:
Disadvantage: Requires significant expertise to manage and optimize scalability. It may not
have the seamless scaling capabilities of fully managed services like AWS or Azure.
Mitigation: Investing in skilled IT staff or using managed OpenStack services can help
mitigate this challenge.

ii. Security:
Disadvantage: Security must be configured and managed in-house, which can be
resource-intensive and complex.
Mitigation: Adopting best practices for OpenStack security and regularly updating and
patching the system are crucial.

iii. Interoperability:
Disadvantage: While highly interoperable, integrating and maintaining compatibility with
various systems can be complex and time-consuming.
Mitigation: Utilizing OpenStack's extensive documentation and community support can aid in
managing interoperability issues.

Optimization of OpenStack Adoption and Implementation

i. Skilled Workforce:
Action: Invest in training and certification programs for IT staff to ensure they have the
expertise needed to manage and optimize OpenStack environments.
Benefit: Reduces operational challenges and enhances the efficiency of cloud management.

ii. Community and Vendor Support:


Action: Engage with the OpenStack community and consider vendor-supported OpenStack
distributions (e.g., Red Hat OpenStack, Mirantis OpenStack).
Benefit: Access to community knowledge and vendor support can expedite problem
resolution and ensure smoother implementation.

iii. Robust Planning and Management Tools:


Action: Use robust planning tools and management software to oversee the deployment,
scaling, and operation of OpenStack.
Benefit: Enhances efficiency, reduces errors, and ensures optimal resource utilization.

iv. Automation:

8
Action: Implement automation tools and scripts to streamline routine tasks such as
deployment, scaling, and maintenance.
Benefit: Increases operational efficiency and reduces the likelihood of human error.

v. Security Best Practices:


Action: Follow security best practices, including regular updates, patches, and the
implementation of comprehensive monitoring and logging systems.
Benefit: Ensures robust security and compliance with organizational and regulatory
requirements.

2. INSTRUCTIONS

Installing your private cloud on your Ubuntu

To start your private cloud on your PC, you need to create the right environment for DevStack/OpenStack
which is one of the cloud open source solution, you need to install VMware Workstation or Virtual box to
run our virtual machine
* You may skip some steps if Ubuntu is already installed in your device since Assignment 1. However,
everything should be stated in details in this assignment as well

2.1 Installing VMware and build your Virtual Machine


You can download the VMware Workstation on your device from VMware website, Install it on your
device then start building your virtual machine which will have your private cloud
1) run vmware workstation, click on “Create a new virtual Machine
2) download Ubuntu image file (.iso) from this website: https://releases.ubuntu.com
3) use the above file to install Ubuntu operating system on your new virtual machine
*Use your first name as your “Virtual machine name”, it should appear in the screen shots
you take from now on

9
When you are done, answer the following:
- Why do we need to use virtual machine for the private cloud? Why don’t we install it directly in
our computer?
Using a virtual machine (VM) for a private cloud enhances security by isolating applications, allows
controlled resource allocation and efficient scaling, and maximizes hardware utilization. VMs offer
portability for easy migration and disaster recovery, support snapshots for simplified maintenance, and
ensure compatibility with legacy applications. These benefits make VMs ideal for efficient and secure
private cloud deployment.

- How much disk size did you give to your VM? How much memory did you give it?
Show Screen shot of the steps

10
2.2 Installing OpenStack using DevStack
DevStack is a series of extensible scripts used to quickly bring up a complete OpenStack. It is used
interactively as a development environment and as the basis for much of the OpenStack project’s
functional testing.
1) Go to DevStack official documentation in the bellow link, where you will find how to install the
OpenStack and the needed commands: https://docs.openstack.org/devstack/latest/

2) After following the steps in the DevStack documentation, your devstack will have installed
keystone, glance, nova, placement, cinder, neutron, and horizon. Briefly explain the answers
based on these questions:
a. What is Keystone and what services does it provide in the OpenStack family?
Keystone is the identity service used by OpenStack for authentication and high-level
authorization. It provides a central directory of users mapped to the OpenStack services
they can access, ensuring secure authentication and authorization across the cloud
environment.

b. What is the role of Glance in the OpenStack cloud computing platform?


Glance is the image service for OpenStack. It allows users to discover, register, and
retrieve virtual machine images. These images are used as templates to create new
instances, providing a standardized way to store and manage VM images.

11
c. How does Nova service provide Infrastructure as a Service (IaaS) in the OpenStack cloud
computing platform?
Nova is the compute service in OpenStack, responsible for provisioning and managing
large networks of virtual machines. It provides IaaS by allowing users to create and
manage VM instances, handling the entire lifecycle from creation to termination.

d. What is Placement and what is its responsibility in the OpenStack cloud computing
platform?
Placement is a service in OpenStack that tracks inventory and usage of resources (such
as CPUs, memory, and disk space) across the cloud. It is responsible for ensuring that
resources are efficiently allocated to different services and instances, optimizing the
cloud's overall performance.

e. What are the block storage services provided by Cinder in the OpenStack cloud
computing platform?
Cinder is the block storage service for OpenStack. It provides persistent block storage to
running instances, allowing users to manage volumes, snapshots, and backups. This
service enables scalable and reliable storage solutions for cloud applications.

f. What is Neutron and how does it provide networking as a service (NaaS) in the
OpenStack cloud computing platform?
Neutron is the networking service in OpenStack, providing NaaS by managing networks,
subnets, and routers. It supports the creation and management of complex network
topologies, enabling connectivity and isolation for cloud resources through a pluggable
architecture that supports various networking technologies.

g. What is Horizon and how does it allow users to manage their cloud resources in the
OpenStack cloud computing platform?
Horizon is the web-based dashboard for OpenStack, providing a user-friendly interface
to manage cloud resources. It allows users to perform various tasks such as launching
instances, configuring networks, and managing storage, making it easier to interact with
OpenStack services.

h. How does OpenStack use Keystone for authentication and verification of services?
OpenStack uses Keystone for both user and service authentication. Keystone issues
tokens upon successful authentication, which are then used to verify access permissions
for users and services across the OpenStack ecosystem, ensuring secure and consistent
access control.

i. How does the Placement API enable resource allocation in an OpenStack cloud?
The Placement API in OpenStack tracks resource inventories and usages, providing data
that helps in efficient resource allocation. By querying this API, services like Nova can
make informed decisions about where to schedule and run instances based on resource
availability and utilization patterns.

j. How does Neutron's pluggable architecture allow users to manage various networking
technologies?

12
Neutron's pluggable architecture supports multiple networking technologies by allowing
users to add different plugins and drivers. This flexibility enables the management of
diverse networking backends (such as VLANs, VXLANs, and GRE tunnels) and integration
with various network hardware and software solutions.

3) at the end of your installation process, some important details will appear, state the following:
a. The host IP address assigned to your VM
192.168.75.128
b. The directory of Horizon & Keystone?
Horizon: http://192.168.75.128/dashboard
Keystone: http://192.168.75.128/identity/
c. The default users?
admin
demo
d. The password
secret
4) after the installation is done, use the given IP address, user name and password to get into
OpenStack

13
- State the values you find in your own OpenStack Horizon dashboard, and find out what these
terms means:
- Instances = Used 0 out of 10
▪ VM running in the OpenStack cloud
▪ OpenStack VMs are called instances because they are instances of an image that
is created upon request and that is configured when launched

- VCPUs = Used 0 out of 20


▪ Virtual CPU cores allocated to an instance
▪ Virtual Central Processing Units represents a share of a physical central
processing unit (CPU) that is assigned to a virtual machine

- RAM = Used 0B out of 50GB


▪ Random Access Memory: A computer’s short-term memory, where the data that
the processor is currently using is stored
▪ Amount of memory allocated to an instance.

- Floating Ips = Allocated 0 of 50


▪ An IP address that can be instantly moved from one Droplet to another in the
same datacenter
▪ Public IP addresses that can be assigned to instances for external access

- Security Groups = Used 1 of 10


▪ A named collection of network access rules that are use to limit the types of
traffic that have access to instances
▪ These act like firewalls for instances.

- Volumes = Used 0 of 10
▪ A detachable block storage device, similar to a USB hard drive

- Volume Storage = Used 0B of 1000GB


▪ Block storage devices that you attach to instances to enable persistent storage
▪ Shows how many volumes can be used

14
* Include a screen shot of the Horizon dashboard – state the day and time of that
screen shorts as the example below:

-
-
2) Create a Project in OpenStack Horizon, use YOUR_NAME_CSCI3300 as a project name.

3) Create a User and associate it with the new Project. Change the User Name to YOUR_NAME,
Password, Primary Project, and Role

15
4) Create an Instance (or virtual machines) with OpenStack’s compute service called Nova.

16

You might also like