Csci 3300 - A1
Csci 3300 - A1
Csci 3300 - A1
SEMESTER 2, 2023/2024
SECTION 1
PREPARED BY:
LECTURER
DR. RIZAL BIN MOHD. NOR
DUE
27/5/2024
1. INTRODUCTION
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.
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)
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.
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)
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.
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.
- 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)
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.
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.
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.
2. INSTRUCTIONS
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
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.
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
- Volumes = Used 0 of 10
▪ A detachable block storage device, similar to a USB hard drive
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