You are on page 1of 27

Department of Science and Computing 2119182

Introduction to Cloud Computing

What is Cloud Computing?


Cloud Computing is the delivery of computing services such as servers, storage, databases,
networking, software, analytics, intelligence, and more, over the Cloud (Internet).
Cloud Computing provides an alternative to the on-premises datacentre. With an on-premises
datacentre, we have to manage everything, such as purchasing and installing hardware,
virtualization, installing the operating system, and any other required applications, setting up the
network, configuring the firewall, and setting up storage for data. After doing all the set-up, we
become responsible for maintaining it through its entire lifecycle.
But if we choose Cloud Computing, a cloud vendor is responsible for the hardware purchase and
maintenance. They also provide a wide variety of software and platform as a service. We can take
any required services on rent. The cloud computing services will be charged based on usage.

The cloud environment provides an easily accessible online portal that makes handy for the user to
manage the compute, storage, network, and application resources. Some cloud service providers are
in the following figure.

Advantages of cloud computing


Cost: It reduces the huge capital costs of buying hardware and software.
Speed: Resources can be accessed in minutes, typically within a few clicks.

Scalability: We can increase or decrease the requirement of resources according to the business
requirements.

Cloud computing 1
Department of Science and Computing 2119182

Productivity: While using cloud computing, we put less operational effort. We do not need to
apply patching, as well as no need to maintain hardware and software. So, in this way, the IT team
can be more productive and focus on achieving business goals.

Reliability: Backup and recovery of data are less expensive and very fast for business continuity.

Security: Many cloud vendors offer a broad set of policies, technologies, and controls that
strengthen our data security.

Types of Cloud Computing


Public Cloud: The cloud resources that are owned and operated by a third-party cloud service
provider are termed as public clouds. It delivers computing resources such as servers, software, and
storage over the internet

Private Cloud: The cloud computing resources that are exclusively used inside a single business or
organization are termed as a private cloud. A private cloud may physically be located on the company’s
on-site datacentre or hosted by a third-party service provider.

Hybrid Cloud: It is the combination of public and private clouds, which is bounded together by
technology that allows data applications to be shared between them. Hybrid cloud provides
flexibility and more deployment options to the business.

Types of Cloud Services

1.Infrastructure as a Service (IaaS): In IaaS, we can rent IT infrastructures like servers and
virtual machines (VMs), storage, networks, operating systems from a cloud service vendor. We can
create VM running Windows or Linux and install anything we want on it. Using IaaS, we don’t
need to care about the hardware or virtualization software, but other than that, we do have to
manage everything else. Using IaaS, we get maximum flexibility, but still, we need to put more
effort into maintenance.

Cloud computing 2
Department of Science and Computing 2119182

2.Platform as a Service (PaaS): This service provides an on-demand environment for developing,
testing, delivering, and managing software applications. The developer is responsible for the
application, and the PaaS vendor provides the ability to deploy and run it. Using PaaS, the
flexibility gets reduce, but the management of the environment is taken care of by the cloud
vendors.
3.Software as a Service (SaaS): It provides a centrally hosted and managed software services to
the end-users. It delivers software over the internet, on-demand, and typically on a subscription
basis. E.g., Microsoft One Drive, Dropbox, WordPress, Office 365, and Amazon Kindle. SaaS is
used to minimize the operational cost to the maximum extent.

Benefits of Cloud Computing


Cloud Computing benefits organizations in many ways. In fact, the benefits are so numerous that
it makes it almost impossible not to consider moving business operations to a cloud-based
platform. And yet many organizations rely on outdated and inefficient processes because they don’t
understand the benefits.
This article breaks down the top 10 benefits of cloud computing for all organizations considering adopting a
cloud-based system.

Accessibility anywhere, with any device


each branch or office across various states or countries. The improved accessibility doesn’t just
impact employees; clients and customers can also log in to an account and access their information
as well. This ensures everyone has up-to-date information whether they’re at the office or on the
go.

Ability to get rid of most or all hardware and software


With cloud computing, you’re no longer required to have your own server, cables, network
switches, backup generators, redundant routers, and so on. Depending on the cloud provider you
choose, they can manage all of this for a monthly fee. Reducing expenses is essential in any
business model and every cloud-based platform benefits from this factor alone.
Centralized data security
When you use cloud computing, data backups are centralized in the cloud providers' data centers,
removing the need for individual users or teams to maintain their own backups onsite or offsite.
This lowers the risk of data loss should any one backup fail or be destroyed by a disaster. Cloud
providers can restore the data from another copy maintained in their cloud storage, which is
continuously updated with every piece of data added.
Teams can take advantage of cloud security technologies such as data encryption and two-factor
authentication for greater privacy than they'd have when relying on their own equipment or servers
at home or in the office. Oracle uses a security-first cloud architecture with automated protection
built in.

Cloud computing 3
Department of Science and Computing 2119182

Higher performance and availability


By using cloud computing resources together simultaneously, you reap greater performance gains
than by having your own dedicated server hardware. Cloud computing increases input/output
operations per second (IOPS). Oracle cloud delivers as much as 20X the IOPS of Amazon Web
Services.

Quick application deployment


Unpredictable business needs often require cloud computing resources on short notice. You can
improve your cloud application development by quickly deploying cloud applications because they
are readily available without the need to procure additional hardware or wait for IT staff to set up
servers.
In addition you can choose from a broad range of services that support different types of cloud
infrastructure technologies.

Business continuity
In the event of disaster or unforeseen circumstances, do you have an effective backup plan? If not,
relying on cloud computing services can benefit your organization. Cloud computing uses infinite
data storage space and systems that can be activated remotely if necessary to ensure business
continuity.

Price-performance and cost savings


Although an initial financial investment is required to implement a cloud strategy, organizations
save substantial amounts in the long run because they don’t have to maintain expensive hardware
or local data centers. Also, since there are no upfront costs to use cloud-based systems, businesses
can test them out before investing in them at their own pace. Oracle provides price-performance
and flexible sizing.

Challenges in Cloud computing


Cloud computing is the provisioning of resources like data and storage on demand, that is in
realtime. It has been proven to be revolutionary in the IT industry with the market valuation
growing at a rapid rate. today we bring you the most common challenges that are faced when
dealing with cloud computing, let’s have a look at them one by one:

1. Data Security and Privacy: Data security is a major concern when switching to cloud
computing. User or organizational data stored in the cloud is critical and private. Even if the cloud
service provider assures data integrity, it is your responsibility to carry out user authentication and
authorization, identity management, data encryption, and access control. Security issues on the
cloud include identity theft, data breaches, malware infections, and a lot more which eventually
decrease the trust amongst the users of your applications.

Cloud computing 4
Department of Science and Computing 2119182

2. Cost Management
Even as almost all cloud service providers have a “Pay As You Go” model, which reduces the
overall cost of the resources being used, there are times when there are huge costs incurred to the
enterprise using cloud computing. When there is under optimization of the resources, let’s say that
the servers are not being used to their full potential, add up to the hidden costs.

3. Multi-Cloud Environments: Due to an increase in the options available to the


companies, enterprises not only use a single cloud but depend on multiple cloud service providers.
Most of these companies use hybrid cloud tactics and close to 84% are dependent on multiple
clouds. This often ends up being hindered and difficult to manage for the infrastructure team. The
process most of the time ends up being highly complex for the IT team due to the differences
between multiple cloud providers.

4. Performance Challenges: Performance is an important factor while considering cloud-


based solutions. If the performance of the cloud is not satisfactory, it can drive away users and
decrease profits. Even a little latency while loading an app or a web page can result in a huge drop
in the percentage of users. This latency can be a product of inefficient load balancing, which means
that the server cannot efficiently split the incoming traffic so as to provide the best user experience.

5. Interoperability and Flexibility: When an organization uses a specific cloud service


provider and wants to switch to another cloud-based solution, it often turns up to be a tedious
procedure since applications written for one cloud with the application stack are required to be
rewritten for the other cloud. There is a lack of flexibility from switching from one cloud to
another due to the complexities involved.

6. High Dependence on Network: Since cloud computing deals with provisioning


resources in real-time, it deals with enormous amounts of data transfer to and from the servers.
This is only made possible due to the availability of the high-speed network. Although these data
and resources are exchanged over the network, this can prove to be highly vulnerable in case of
limited bandwidth or cases when there is a sudden outage.

7. Lack of Knowledge and Expertise: Due to the complex nature and the high demand
for research working with the cloud often ends up being a highly tedious task. It requires immense
knowledge and wide expertise on the subject. Although there are a lot of professionals in the field
they need to constantly update themselves. Cloud computing is a highly paid job due to the
extensive gap between demand and supply.

Cloud computing 5
Department of Science and Computing 2119182

Practical No: -1
Aim: - Enlist various companies in cloud business and the corresponding services provided by
them and tag them under SaaS, PaaS & IaaS.

SaaS: -
Software as a service (SaaS) is a software distribution model in which a cloud provider hosts
applications and makes them available to end users over the internet. In this model, an independent
software vendor (ISV) may contract a third-party cloud provider to host the application.
A range of IT professionals, business users and personal users use SaaS applications. Products
range from personal entertainment, such as Netflix, to advanced IT tools.

Various companies under SaaS are: -


Company Expertise
Xero Accounting, Bookkeeping, Financial
Management
Taazaa Custom software development, Mobile app
development, SaaS product development
Webflow Web design, Content Management,
Prototyping.
Dropbox Cloud Storage, Document management,
Synchronization tools.
GitHub Package repository, collaborative version
control
HubSpot Inbound marketing. Online marketing.

Adobe Creative Cloud Graphic design, Photography, Web


development

Cloud computing 6
Department of Science and Computing 2119182

PaaS: -
PaaS (platform-as-a-service) is a form of cloud computing that enables software developers to
build, run, and manage software applications easily, without worrying about underlying
infrastructure.
The simplification inherent in PaaS enables faster and easier software development, reducing the
scope of a developer’s work by hiding the underlying compute, storage, database, operating
system, and network resources required to run the application.

Various companies under PaaS are: -


Company Services

Google App Engine (GAE) App Identity, URL Fetch, Cloud storage
client library, Logservice

Salesforce.com Faster implementation, Rapid scalability,


CRM Services, Sales cloud, Mobile
connectivity, Chatter.

Windows Azure Compute, security, IoT, Data Storage.

AppFog Justcloud.com, SkyDrive, GoogleDocs


Openshift RedHat, Microsoft Azure.

Cloud computing 7
Department of Science and Computing 2119182

Cloud Foundry from Data, Messaging, and other services.


VMware
IaaS: -
IaaS is also known as Hardware as a Service (HaaS). It is one of the layers of the cloud computing
platform. It allows customers to outsource their IT infrastructures such as servers, networking,
processing, storage, virtual machines, and other resources.
Key to the value of IaaS is the ability to provision and scale up virtualized resources on demand for
any workload. Organizations that use IaaS can self-provision infrastructure services and pay for
them on a per-use basis.

Various companies under IaaS are: -

IaaS Company Iaas Solution

Amazon Web Services Elastic, Elastic Compute Cloud (EC2)


MapReduce, Route 53, Virtual Private
Cloud, etc.
Netmagic Solutions Netmagic IaaS Cloud

Rackspace Cloud servers, cloud files, cloud sites, etc.

Reliance Communications Reliance Internet Data Center

Cloud computing 8
Department of Science and Computing 2119182

Sify Technologies Sify IaaS

Tata Communications InstaCompute

Cloud computing 9
Department of Science and Computing 2119182

Practical-
2 Aim: Explain Warehouse in Cloud Computing
What is a Data Warehouse?
In the context of cloud computing, a "warehouse" typically refers to a "data warehouse." A data
warehouse is a specialized type of database that is used for the storage, management, and analysis
of large volumes of structured and semi-structured data. It's designed to support business
intelligence (BI) activities, reporting, and data
analysis.
A data warehouse, also called an enterprise data warehouse (EDW), is an enterprise data platform
used for the analysis and reporting of structured and semi-structured data from multiple data
sources, such as point-of-sale transactions, marketing automation, customer relationship
management, and more.
1. Centralized Storage: Data warehouses consolidate data from various sources into a
single, centralized repository. This makes it easier to access and analyze data for reporting
and decision-making.
2. Structured Data : Data in a data warehouse is typically structured and organized in a way
that facilitates querying and analysis. It is often transformed and cleaned to ensure data
quality.
3. Scalability : Cloud-based data warehouses are designed to scale easily to accommodate
large datasets and varying workloads. They can handle the storage and processing needs of
organizations of all sizes.
4. Integration: Data warehouses can integrate data from various sources, such as
transactional databases, external data feeds, and other cloud-based services.
5. Analytical Capabilities : Data warehouses often include tools for performing complex
analytical queries and generating reports. They are optimized for read-heavy workloads.

Applications of warehouses in cloud computing


Warehouses in cloud computing, such as data warehouses and application warehouses, have several
important applications across various industries. Here are some common applications of
warehouses in cloud computing:

1.Business Intelligence (BI) and Analytics: Data warehouses are frequently used for storing and
managing large volumes of data generated by businesses. They provide a centralized repository for
historical and real-time data, which can be analyzed to gain insights and make data-driven
decisions. BI tools and analytics platforms can connect to these warehouses to generate reports,
dashboards, and visualizations.

2. E-commerce: Online retailers use data warehouses to store information about customer
transactions, order history, website activity, and more. Analyzing this data can help improve
customer experiences, optimize pricing, and manage inventory effectively.

Cloud computing 10
Department of Science and Computing 2119182

3. Healthcare: Healthcare organizations use data warehouses to store patient records, medical
history, and clinical data. These warehouses are crucial for healthcare analytics, predictive
modeling, and research. They can help in identifying patterns, trends, and potential healthcare
outcomes.

4.Financial Services: Banks and financial institutions use data warehouses to manage and analyze
transaction data, customer information, and market data. This is essential for risk management,
fraud detection, and investment analysis.

5.Manufacturing: Manufacturers use data warehouses to store data from sensors and IoT devices
on the factory floor. This data can be analyzed to optimize production processes, monitor
equipment health, and reduce downtime.

6.Retail: Retailers leverage data warehouses to manage inventory, track sales, and analyze
customer behavior. This information is vital for demand forecasting, inventory management, and
personalization.

7. Supply Chain Management: Data warehouses assist in supply chain management by storing
and processing information related to the movement of goods, supplier performance, and demand
forecasting.

8.Media and Entertainment: Media companies use data warehouses to track user engagement and
content consumption. This data helps in content recommendations, advertising targeting, and
content production decisions.

Tools Provided by Warehouse:


1 ) Hevo Data: Hevo allows you to replicate data in near real-time from 150+ sources to the
destination of your choice including Snowflake, BigQuery, Redshift, Databricks, and Firebolt.
2) Amazon Web Services Data Warehouse Tools: AWS (Amazon Web Services) is one of the
prominent leaders of Data Warehousing solutions. operational data stores, and a data lake. 3)
Google Data Warehouse Tools :Google is famed for its Data Management skills, given its
dominating position as a search engine. Google’s Data Warehouse Tools reflect its cutting-edge
4) Microsoft Azure Data Warehouse Tools:Microsoft Azure is a Cloud computing platform that
was introduced in 2010.
5) Oracle Autonomous Data Warehouse:Oracle Autonomous Data Warehouse is a Cloud-
based Data Warehouse service that takes care of all the complexities of Data Warehouse
development, data protection, and data-driven application development.
6) Snowflake: Snowflake is a Cloud-based Data Warehouse Tool that offers a framework that
is quicker, easier to use, and more adaptable than traditional Data Warehouses.
7 ) IBM Data Warehouse Tools: With a vast install base and a variety of Data Warehouse and
Data Management solutions, IBM is a preferred choice for large business clients.

Cloud computing 11
Department of Science and Computing 2119182

8) Teradata Vantage: Teradata Vantage is a Cloud Analytics platform that combines Analytics,
Data Lakes, Data Warehouses, and new data sources, among other platforms.

Example of Warehouse:
Microsoft Azure is a cloud computing service from Microsoft. Azure offers a range of software
as a service (SaaS), platform as a service (PaaS) and infrastructure as a service ( IaaS) options for
deploying applications and services on Microsoft-managed data center infrastructure. Azure’s 50
operating regions are more than any other cloud provider.

What do I need to know about Microsoft Azure Cloud Services?


Microsoft Azure has more than a hundred services to help you quickly solve your toughest
challenges. Azure’s agility and built-in Development Operations (DevOps) allow you to iterate
quickly and deliver code using an end-to-end cloud development platform. Whatever language you
utilize, whether Microsoft Azure’s Visual Studio Team Services or another open-source tool like
Chef or Jenkins, you will be able to debug faster and easier than ever before.
Microsoft Azure supports private cloud, public cloud, and hybrid cloud deployments. Azure’s
robust Information Security (InfoSec) services provide general, storage, database, and networking
security, identity and access management, backup and Disaster Recover (DR).

What can I do with Azure?


Microsoft Azure supports any tool, language, or framework: Node.js, Java, .NET, and more.
Microsoft’s best-in-class development tools help you write great code. Visual Studio and Visual
Studio Code are supported to improve your productivity.
Microsoft Azure offers more than 100 turn-key services, and the latest in AI and data to bring
intelligence to your operations. More than 150 Azure Logic Apps connections are available right
away, including favorites like Office 365, Dropbox, Google Services, Salesforce, and Twitter.

Creating a warehouse: -
Some steps that are needed for building any data warehouse are as following below:
1. To extract the data (transnational) from different data sources: For building a data
warehouse, a data is extracted from various data sources and that data is stored in central
storage area. For extraction of the data Microsoft has come up with an excellent tool. When
you purchase Microsoft SQL Server, then this tool will be available at free of cost.

2. To transform the transnational data: There are various DBMS where many of the
companies stores their data. Some of them are: MS Access, MS SQL Server, Oracle,
Sybase etc. Also, these companies save the data in spreadsheets, flat files, mail systems etc.
Relating a data from all these sources is done while building a data warehouse.

Cloud computing 12
Department of Science and Computing 2119182

3. To load the data (transformed) into the dimensional database: After building a
dimensional model, the data is loaded in the dimensional database. This process combines
the several columns together or it may split one field into the several columns. There are
two stages at which transformation of the data can be performed and they are: while loading
the data into the dimensional model or while data extraction from their origins.

4. To purchase a front-end reporting tool: There are top notch analytical tools are available
in the market. These tools are provided by the several major vendors. A cost-effective tool
and Data Analyzer is released by the Microsoft on its own.
Creates a new virtual in the system.
warehouse
Initial creation of a virtual
unless the warehouse warehouse
is created initiallymight
in take some time to provision the compute resources,
a SUSPENDED state.

Syntax
CREATE [ OR REPLACE ] WAREHOUSE [ IF NOT EXISTS ] <name>

[ [ WITH ] objectProperties ]

[ [ WITH ] TAG ( <tag_name> = '<tag_value>' [ , <tag_name> = '<tag_value>' , ... ] ) ]

[ objectParams ]

Where:

objectProperties ::=

WAREHOUSE_TYPE = { STANDARD | SNOWPARK-OPTIMIZED }

WAREHOUSE_SIZE = { XSMALL | SMALL | MEDIUM | LARGE | XLARGE | XXLARGE |


XXXLARGE | X4LARGE | X5LARGE | X6LARGE }

MAX_CLUSTER_COUNT = <num>

MIN_CLUSTER_COUNT = <num>

SCALING_POLICY = { STANDARD | ECONOMY }

AUTO_SUSPEND = { <num> | NULL }

AUTO_RESUME = { TRUE | FALSE }

Cloud computing 13
Department of Science and Computing 2119182

INITIALLY_SUSPENDED = { TRUE | FALSE }

RESOURCE_MONITOR = <monitor_name>

COMMENT = '<string_literal>'

ENABLE_QUERY_ACCELERATION = { TRUE | FALSE }

QUERY_ACCELERATION_MAX_SCALE_FACTOR = <num>

Cloud computing 14
Department of Science and Computing 2119182

Practical-3

Aim: - What Is virtualization, para-virtualization, using VM

Virtualization
Virtualization is a process that allows for more efficient utilization of physical computer hardware
and is the foundation of cloud computing.

Virtualization uses software to create an abstraction layer over computer hardware that allows the
hardware elements of a single computer—processors, memory, storage and more—to be divided
into multiple virtual computers, commonly called virtual machines (VMs). Each VM runs its own
operating system (OS) and behaves like an independent computer, even though it is running on just
a portion of the actual underlying computer hardware

Para Virtualization

Paravirtualization is an enhancement of virtualization technology in which a guest OS is modified


prior to installation inside a virtual machine (VM) in order to allow all guest OSes within the
system to share resources and successfully collaborate, rather than attempt to emulate an entire
hardware environment.

With paravirtualization, virtual machines can be accessed through interfaces that are similar to the
underlying hardware. This capacity minimizes overhead and optimizes system performance by
supporting the use of VMs that would otherwise be underutilized in conventional or full hardware
virtualization.

Advantages of paravirtualization
• Direct communication between the guest kernel and the hypervisor improves performance
levels.
• The thin software layer created in paravirtualization controls virtual server traffic by
allowing a single guest OS to gain access to the physical hardware device while ceasing
access for all other guest OS.
• Paravirtualization does not include device drivers because it utilizes the drivers already
present in the guest OS.
Disadvantages of paravirtualization
• Modifications of the guest OS are necessary for any interaction with the paravirtualization
interfaces to take place, thus limiting support to open source OSes, such as Linux.
• Since paravirtualization cannot perform with unmodified guest OS, its compatibility and
portability is minimal with systems like Microsoft Windows.

Cloud computing 15
Department of Science and Computing 2119182

• Significant support and maintenance issues may arise since the production environment
requires complex guest kernel modifications.

Terms that are associated with virtualization: -


• Hypervisor: It is the OS that runs on actual hardware and the Virtual counterpart is a part
of this OS as a running process. Hypervisors are often seen as Domain 0 or Dom0.
• Virtual Machine (VM): It is a virtual computer that runs under a hypervisor.
• Container: These are light-weight VMs that are part of the same OS instance as its
hypervisor. So, containers are nothing but a group of processes that are running with their
respective namespace for process identifiers.
• Virtualization Software: It is a software that aids in implementing virtualization on any
computer. It can either be a part of a software application package or an OS or a special
variant of that OS.
• Virtual Network: Virtual Network is a logically separate network within servers that can
be extended to other servers or across multiple servers.

Advantages of virtualization
• Cheap: IT infrastructures find virtualization to be a more affordable implementation option
because it doesn't require the use or installation of actual hardware components. Dedicating
substantial amounts of space and money to create an on-site resource is no longer required.
• Efficient: By downloading the new versions of the software and hardware from a thirdparty
supplier, efficient virtualization also enables automatic upgrades of both.

Cloud computing 16
Department of Science and Computing 2119182

• Disaster recovery: When servers are virtualized, disaster recovery is relatively simple
thanks to fast backup restoration and current snapshots of your virtual machines.
Organizations were better able to create a low-cost replication location thanks to
virtualization.
• Deployment: Resources may be deployed much more quickly when employing
virtualization technology. It is feasible to significantly reduce the amount of time required
for setting up physical devices or creating local networks.
• Encourages digital entrepreneurship: Prior to widespread virtualization, the average
person found it nearly impossible to start a digital business.
• Saves energy: Both individuals and businesses can save energy by using virtualization. The
rate of energy consumption can be reduced because no local hardware or software
alternatives are being employed.
• Improved uptime: Virtualization technologies have increased uptime dramatically. An
uptime of 99.9999% is offered by some providers. Even low-cost carriers now offer uptime
at a rate of 99.99%.
• Consistent cost: People and corporations can have predictable expenses for their IT
requirements because third-party vendors frequently offer choices for virtualization.

Disadvantages of virtualization
• Exorbitant costs of implementation: Virtualization would result in very low costs for the
common person or business. In a virtualization environment, the suppliers, however, may
incur very significant implementation expenses
• Restraints: Virtualization is hampered by a number of issues. Virtualization cannot be used
with every server and application currently in existence.
• Problems with availability: The accessibility of a company is another important factor.
Long-term data linking is required. If not, the business would become less competitive in
the market. Because every document from and for the client is essential to the service
provider, availability difficulties might be seen as one of the drawbacks of virtualization.
• Time-intensive: In comparison to local systems, virtualization takes less time to
implement, but it ultimately costs user’s time. This is due to the fact that there are
additional procedures that need to be completed in order to attain the desired result.
• Threats to security: Information is our current currency. Having money allows you to
make money. Without it, people will forget about you. The success of a corporation
depends on information; hence it is frequently targeted.
• Problems with scalability: People can grow a business or opportunity quickly owing to
virtualization, but won't be able to grow it as large as they would like.

Cloud computing 17
Department of Science and Computing 2119182

• A Number of links must interact: If users have access to local equipment, they have
complete control over their options. With virtualization, people lose control because
numerous ties are required to cooperate in order to complete the same task.

Creating VM in windows

Step 1: Prepare your computer for Virtualization

Before getting started with any hypervisor, there are a few things you will want to check on your
host computer. Checking these before attempting to install and run your virtual machine reduces
the chance that something will go wrong.

• Enable Processor Virtualization: Ensure Virtualization is enabled on your computer. See


the Virtualization Error (VT-d/VT-x or AMD-V) for troubleshooting support
• Review File Sync Services for tools like OneDrive, Nextcloud, DropBox Sync, iCloud, etc.
If you are using a data synchronization service, make sure it DOES NOT (or at least not
frequently) synchronize the folder in which your hypervisor imports and installs the Virtual
Machines. File sync services can cause a dramatic fall-off in performance for your entire
system as these services try to synchronize these massive files that are getting updated
constantly while you are using the Virtual Machines.
• Sufficient Disk Space: Virtual Machines require a significant amount of Disk space (10
GB or more each is typical). Ensure you have sufficient space on your computer
• Admin Privileges: Installing a hypervisor on a host in most cases requires admin
privileges.

Step 2: Install Hypervisor (Virtualization Tool): Installing a hypervisor on your host is


usually quite simple. In most cases, the install program will ask only a couple of questions,
such as where to install the hypervisor software.

WARNING: We only rigorously test our new Virtual Machines on up-to-date versions of
VirtualBox. We encourage everyone to use that hypervisor if they can.

• VirtualBox Installation Instructions: text | video


IMPORTANT: We encourage that you update your hypervisor each term if you are using new
Virtual Machines, as they are often built using the most up-to-
date hypervisor (typically VirtualBox for most SCS course Virtual Machines)

Cloud computing 18
Department of Science and Computing 2119182

Step 3: Import a Virtual Machine: The first step is to download the Virtual Machine for
your course from our Course Virtual Machines page. This will download a .ova file. The
.ova file is actually a compressed (zipped) tarball of a Virtual Machine exported from
VirtualBox

• VirtualBox VM Import Instructions: text | video


Once the Virtual Machine has been imported, it will normally show up in the guest list within your
hypervisor tool.

Step 4: Start the Virtual Machine:Tostart up a Virtual Machine guest in most hypervisors, you
simply click on the desired guest and click the Start button (often double-clicking the guest icon
will work as well).

IMPORTANT: Some of our larger Virtual Machines can take up to a minute to start up the Linux
operating system and show you the login screen. If the start-up is a lot slower, or if the
performance when logged into the Virtual Machine Desktop or Shell is poor, then consult the
Trouble-Shooting section below.
Step 5: Using the Virtual Machine: How you use a Virtual Machine will depend on your
course, so consult your TAs. Some useful things to know:

• Sharing files between the guest and host: To learn about different ways of sharing files,
check out this guide.
• Run a command with sudo (root) privileges: Open a terminal and type any command
with sudo in front to run that command as root.
Example: sudo apt-get install vim – will install the vim text editor package on an Ubuntu
Linux Virtual Machine
• Find the IP address of your guest: Open a terminal and type ifconfig | more – The | more
(pronounced “pipe more”) will “pipe” the output of the ifconfig command to
the more command, which will show the results one page at a time, so it doesn’t scroll by
before you see it all.
If you have a Host-Only Network IP address, you will see an IP of 192.168.56.101 (or
something similar). Check the Trouble-Shooting section below for more information about
the Host-Only Network.

Step 6: Shut down the Virtual Machine: When you are done using a guest Virtual Machine,
regardless of hypervisor, you need to shut it down properly. This can be done in three
ways:

Cloud computing 19
Department of Science and Computing 2119182

1. Press the shut down button found on the desktop, taskbar, or task menu of the guest
operating system
2. Open a terminal and type the command: sudo shutdown -h now
3. In the guest window, click Machine (menu) -> ACPI Shut down – This will simulate the
power button being pressed
WARNING: If you shut down a guest operating system any other way, such as by just pressing the
“X” button on the guest window or File (menu) -> Close, this can have unintended consequences.
In some cases, this can be the same as pulling the power cord out of your desktop computer. This
can result in hard drive errors depending on what the guest’s operating system was doing when you
killed it.
NOTE: Some of our VMs can take as much as a minute to shut down depending on what the
system was doing, please be patient.

Cloud computing 20
Department of Science and Computing 2119182

Practical No: -4
Aim: -Usage of SaaS, PaaS and IaaS cloud services under public cloud tools

SaaS (Software as a Service)


Software as a Service (SaaS) is a cloud computing model where software applications are provided
over the internet on a subscription basis. Users can access these applications through a web
browser, eliminating the need for local installation and maintenance. When it comes to public cloud
tools, SaaS services are widely utilized across various industries and for personal use due to their
convenience and scalability. Here are some common use cases for SaaS cloud services under public
cloud tools:

1.Email and Communication:


Gmail: A popular email service provided by Google, accessible through a web browser.
Microsoft 365 (formerly Office 365): Offers cloud-based versions of Microsoft's productivity
software, including Outlook for email and communication.

2.Productivity and Office Suites:


Google Workspace: Provides tools like Google Docs, Sheets, and Slides for document creation
and collaboration.
Microsoft 365: Offers cloud-based versions of Microsoft Word, Excel, PowerPoint, and other
productivity applications.

3. Collaboration and Project Management:


Slack: A team collaboration platform that enables real-time messaging, file sharing, and integration
with various apps.

Asana: A project management tool that allows teams to coordinate and manage their work tasks
and projects online.

4.Customer Relationship Management (CRM):


Salesforce: A leading CRM platform that helps businesses manage customer relationships, sales,
and support in the cloud.

5.Accounting and Finance:


QuickBooks Online: Cloud-based accounting software for small and medium-sized businesses,
allowing users to manage their financial data online.

Xero: Another popular cloud-based accounting software for managing invoicing, bank
reconciliation, and other financial tasks.

6.Human Resources and Employee Management:


Workday: A cloud-based HR and financial management software that assists organizations in
managing their workforce effectively.

Cloud computing 21
Department of Science and Computing 2119182

SaaS cloud services under public cloud tools provide businesses with the flexibility to access
powerful software applications without the burden of managing and maintaining complex
infrastructure, making collaboration and productivity more efficient and accessible.

2.PaaS (platform as a service)


Platform as a Service (PaaS) cloud services, offered within public cloud platforms, provide a
framework that developers can build upon to develop, customize, and deploy applications. Here are
several key ways in which PaaS cloud services are used under public cloud tools:

1.Application Development

Development Frameworks: PaaS provides developers with access to development frameworks for
building applications. These frameworks often include libraries, code samples, and APIs to
accelerate development.

Integrated Development Environments (IDEs): PaaS platforms often offer web-based IDEs
where developers can write, test, and debug their code in the cloud without needing to set up a local
development environment.

2.Database Management:

Managed Database Services: PaaS offerings include managed database services that handle
database management tasks such as backups, scaling, and patching. Developers can focus on
application logic without worrying about database maintenance.

3. Middleware Integration:

Message Queues and Middleware: PaaS platforms offer middleware services, such as message
queues and integration tools, to facilitate communication between different components of an
application. This ensures smooth data flow and coordination between services.

4. Scalability and Load Balancing:

Automatic Scaling: PaaS services often provide automatic scaling based on demand. Applications
can automatically scale up or down to handle varying workloads without manual intervention.

Load Balancing: PaaS platforms include load balancing services that distribute incoming network
traffic across multiple servers. This ensures high availability and reliability of applications.

5.Collaboration and Team Development:

Collaboration Tools: PaaS environments often integrate collaboration tools, enabling teams to
work together, share code, and collaborate on projects in real-time.

6. API Management:

Cloud computing 22
Department of Science and Computing 2119182

API Gateways: PaaS platforms offer API management services, allowing developers to create,
publish, secure, analyze, and scale APIs. This is crucial for building applications that interact with
external services.

3.IaaS (Infrastructure as a Service):


IaaS cloud services provide virtualized computing resources over the internet, allowing users to
rent virtual machines, storage, and networking components. Here are common use cases for IaaS
services under public cloud tools:

1. Scalable Virtual Machines:

Development and Testing: Developers can provision virtual machines quickly for coding, testing,
and debugging applications.

Web Hosting: Hosting websites and web applications on scalable virtual machines.

Batch Processing: Running batch jobs and data processing tasks on virtual servers.

2.Storage Solutions:

Data Backup and Recovery: Storing backups of critical data in the cloud for disaster recovery
purposes.

File Storage: Storing and sharing files securely across teams or with external clients.

Database Storage: Hosting databases in the cloud for easy scalability and accessibility.

3. Networking Services:

Load Balancing: Distributing incoming network traffic across multiple servers to ensure no single
server is overwhelmed.

Content Delivery Network (CDN): Accelerating the delivery of web content to users by caching
it in multiple locations.

Virtual Private Networks (VPNs): Creating secure connections between remote users and
corporate networks.

4.Development and Testing Environments:

Software Development: Providing developers with virtualized environments to develop and test
applications without physical hardware constraints.

Cloud computing 23
Department of Science and Computing 2119182

Continuous Integration and Deployment (CI/CD): Automating the process of integrating code
changes and deploying applications in a controlled manner.

5.Big Data and Analytics:

Big Data Processing: Running large-scale data analytics and processing tasks on virtual clusters.

Data Warehousing: Storing and analyzing large datasets in a scalable and cost-effective manner.

6.Hybrid Cloud Deployments:

Disaster Recovery: Using IaaS for backup and recovery in hybrid cloud setups, ensuring data
redundancy and business continuity.

Bursting: Scaling applications from on-premises infrastructure to the cloud during periods of high
demand.

Cloud computing 24
Department of Science and Computing 2119182

Practical No: -5
Aim: -What is OpenStack? Steps to create private cloud in OpenStack.
OpenStack is an open-source cloud computing platform that allows businesses and individuals to
build and manage public and private clouds. It provides a set of software tools for building and
managing cloud computing platforms for public and private clouds. OpenStack components
include computing, storage, and networking resources, along with various other services such as
identity and image services. Here are key aspects of OpenStack:

1.Open-Source Nature:
OpenStack is open-source software, meaning its source code is freely available to the public. This
openness encourages collaboration and allows developers to modify and enhance the software
according to their needs.

2.Modular Architecture:
OpenStack is modular, with various components designed to handle different tasks. Some of the
core components include:
Nova: Manages computing resources, providing virtual machines on demand.
Swift: Offers object storage for scalable and redundant storage of large amounts of unstructured
data.
Neutron: Handles networking services, enabling users to create and manage network devices and
connections.
Cinder: Manages block storage, providing persistent storage volumes to VMs.
Keystone: Provides identity services, including authentication and authorization for all OpenStack
services.
Glance: Manages virtual machine images.

3. Private and Public Clouds:


OpenStack can be used to create both private clouds within an organization's own infrastructure
and public clouds available to external users. This flexibility allows businesses to tailor their cloud
infrastructure according to their specific requirements.

4.Scalability and Flexibility:

Cloud computing 25
Department of Science and Computing 2119182

OpenStack is highly scalable and can accommodate a large number of virtual machines and
storage. It is designed to be flexible, allowing users to integrate it with existing technologies and
customize it to suit their needs.
5. Community-Driven Development:
OpenStack benefits from a large and active community of developers and users who contribute to
its development and share knowledge and best practices.

Use Cases: -
Enterprise Clouds: OpenStack is used by businesses to create private clouds for internal use,
providing on-demand resources for their applications and services.
Public Cloud Providers: Some public cloud providers use OpenStack to offer cloud services to
external users.
Research and Academia: OpenStack is used in research and educational institutions for various
scientific computing and research projects.
OpenStack's modular design, open-source nature, and wide community support make it a popular
choice for organizations looking to build and manage their cloud infrastructure.

Steps to create private cloud using openStack: -

Creating a private cloud using OpenStack involves several steps. Below is a general outline of the
process, though please note that the specific steps and commands might vary based on the version
of OpenStack you are using and your chosen Linux distribution. Here's a basic guide to setting up a
private cloud with OpenStack:
1.Prepare Your Environment:
Hardware: Set up servers with sufficient resources (CPU, RAM, storage) for your cloud nodes
(controller node, compute nodes, network node).
Networking: Plan your network architecture, including IP addressing and connectivity between
nodes. Ensure network interfaces are properly configured.
Software: Install a compatible Linux distribution (such as Ubuntu, CentOS) on your servers.
2.Install and Configure Identity Service (Keystone):
Install and configure Keystone, which provides authentication and authorization services for other
OpenStack services.

3.Install and Configure Image Service (Glance):

Cloud computing 26
Department of Science and Computing 2119182

Install and configure Glance, which manages virtual machine images. Upload images that you'll use
to launch instances.
4. Install and Configure Compute Service (Nova):
Install and configure Nova, the compute service responsible for creating and managing virtual
machines.
5. Install and Configure Networking Service (Neutron):
Install and configure Neutron, which provides networking services. Set up networks, subnets,
routers, and security groups.
6.Install and Configure Block Storage Service (Cinder):
Install and configure Cinder, which provides block storage services. Configure storage backends
and create volumes.
7.Set Up Horizon Dashboard (Optional but Recommended):
Install and configure the Horizon dashboard, which provides a web-based interface for managing
your OpenStack cloud.
8. Security and Access Control:
Configure security settings, including firewalls and access controls, to ensure the private cloud is
secure.
9.Integration and Testing:
Integrate different services, perform thorough testing, and ensure all components work together
seamlessly.
10.Documentation and Monitoring:
Document your setup thoroughly for future reference. Implement monitoring and logging to keep
track of your cloud infrastructure's health and performance.
11.Scaling and Maintenance:
Plan for scalability and consider future expansion. Implement regular maintenance tasks, updates,
and backups to ensure the cloud's smooth operation.

Cloud computing 27

You might also like