You are on page 1of 15

CERTIFICATE

This is certified that the project report titled “CLOUD-COMPUTING” is a bonafide


work of ANUPAM (23128410004) undertaken for the partial fulfilment of Master
of Computer Application (MCA) degree of Gurugram university under my
guidance. This project work is original and has not been submitted earlier for the
award of any degree or diploma of any other university or Institution.

Signature of the Guide


Mrs. Priyanka
Professor Computer Science
Department
DECLARATION

I Anupam certifies that the project report with title “CLOUD-COMPUTING” Is


prepared by me and is my personal and authentic Work under the guidance of
Mrs. Priyanka, professor, department of computer science.

Signature of the Student


Name – Anupam
Class - MCA (1st Semester)
Roll No: 23128410004
ACKNOWLEDGEMENT

The satisfaction that accompanies the successful completion of the task would be
incomplete without mentioning the people whose ceaseless cooperation made it
possible, whose constant guidance and encouragement crown all efforts with
success. I am also grateful to Mrs. Madhu Arora, Principal of GOVT COLLEGE
SECTOR-9 for providing us the ocean of opportunities, so that we could have the
critical and a new learning. I would like to express my thanks to Mrs. Priyanka,
Professor, Department of Computer science, for giving me her constant time and
guidance during the project work. I am grateful to her for the enlightenment and
the supervision she provided.

Signature of the Student


Name – Anupam
Class - MCA (1st Semester)
Roll No: 23128410004
TABLE OF CONTENTS

1. Introduction – Cloud Computing


2. History of Cloud Computing

3. Architecture – Cloud Computing


4. Components of Cloud Computing
5. Deployment of Cloud Computing
6. How does Cloud Computing Work?
7. Cloud Computing offer three type of services

8. Advantages of Cloud Computing


9. Timeline of Cloud Computing
10. Conclusion
Introduction – 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). It provides an
alternative to the on-premises datacentre.
With an on-premises datacentre, you 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.
However, if you 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. You can take any required services on rent. The cloud computing services will be
charged based on usage.
There are three types of Cloud Computing:
1. Public Cloud: The cloud resources that are owned and operated by a third-party cloud
service provider.
2. Private Cloud: The cloud computing resources that are exclusively used inside a single
business or organization.
3. 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.

There are also different types of Cloud Services:

1. Infrastructure as a Service (IaaS): In IaaS, you can rent IT infrastructures like servers and
virtual machines (VMs), storage, networks, operating systems from a cloud service vendor¹.

Cloud computing offers several advantages such as cost reduction, speed, scalability,
productivity improvement, reliability for data backup and recovery, and enhanced security.

2. Platform as a Service (PaaS): PaaS removes the need for organizations to manage the
underlying infrastructure (usually hardware and operating systems) and allows you to focus on
the deployment and management of your applications. This helps you be more efficient as you
don’t need to worry about resource procurement, capacity planning, software maintenance,
patching, or any of the other undifferentiated heavy lifting involved in running your application.

3. Software as a Service (SaaS): SaaS provides you with a completed product that is run and
managed by the service provider. In most cases, people referring to Software as a Service are
referring to end-user applications. With a SaaS offering you do not have to think about how the
service is maintained or how the underlying infrastructure is managed; you only need to think
about how you will use that particular piece of software. There are also more specialized cloud
service models such as Backend as a Service (BaaS) and Function as a Service (FaaS).
History of Cloud Computing
Let us assume that you are the CEO of an organization, and you have a big organization.
Naturally, it becomes your duty to ensure that all employees of your organization have
adequate hardware and software to carry on their tasks. Now, it is not possible to buy software
and application for every computer and every employee. As the hiring of an employee
continues, the buying of licensed products is also mandatory. So you have to spend a lot on
each employee.

But there is an alternative concept you can execute for a better result. Instead of buying and
installing software for each PC, load a single application that will allow the employee to log-in to
a web-based resource that hosts all the users' programs based on the requirement. Everything
will run by another company's remote servers and facilitates us by providing everything from
word-processing applications to spreadsheets, database applications, email, and data analysis
programs. This technology is called "cloud computing," which brings a revolutionary change in
the IT industry.
In the early era of technology, client-server architecture was popular with mainframe and
terminal applications. At that time, storing data in CPU was very expensive, and hence the
mainframe connected both types of resources and served them to a small client-terminal. With
the revolution in the mass storage capacity, the file servers gained popularity for storing vast
amounts of information.

In 1990, the giant connecting concept - the Internet, finally got enough computers attached to
it. The connection of those machines together creates a massive, interconnected shared pool of
storage that won't be possible for a single organization or institution to afford. There comes the
concept of "grid". The term 'grid' has a misinterpretation as a synonym for 'cloud computing' as
both of the technology is formed from many computers connected. 'Grid Computing' requires
the usage of application programs to divide one large system processing to several thousands of
machines. But there lies the disadvantage; that if a single part of a software node fails the
processing or working, other pieces of that software nodes may also fail to process. So, this
'grid'-based working concept didn't become so fruitful.
On the other hand, cloud computing involves the concept of 'grid', except that it provides on-
demand resource provisioning.
On the first milestone of cloud technology, Salesforce.com engraved its name in 1999. It
pioneered the technique of delivering enterprise applications via a simple website. They
provided both specialist & mainstream software firms to bring up used over the internet.
The next development was in 2002 by Amazon's Web Service (AWS). They provided cloud-
oriented services, including storage, computing power & human intelligence via Amazon
Mechanical Turk. In 2006, Amazon launched their EC2 (Elastic Compute Cloud) - a commercial
web service that let small organizations and sole proprietors rent computers on which they run
their computer applications.
EC2/S3 became the 1st accessible cloud technology infrastructure service.

In 2009, another significant milestone engraved the name of Google with Web 2.0. Google and
others started to offer browser-based applications via Google apps and other apps. Then came
Microsoft's Azure - both Microsoft and Google deliver services in a way that is reliable and easy
to consume.

Architecture & Components of Cloud Computing


Cloud Computing Architecture is a combination of components required for a Cloud Computing
service. It typically consists of a front-end platform (fat client, thin client, mobile), back-end
platforms (servers, storage), a cloud-based delivery, and a network (Internet, Intranet,
Intercloud). The architecture of cloud computing is the combination of both SOA (Service
Oriented Architecture) and EDA (Event Driven Architecture).

Here are the components of Cloud Computing Architecture:


1. Frontend: The frontend refers to the client side of the cloud computing system. It contains all
the user interfaces and applications which are used by the client to access the cloud computing
services/resources¹. For example, use of a web browser to access the cloud platform.

2. Backend: The backend refers to the cloud itself which is used by the service provider. It
contains the resources as well as manages the resources and provides security mechanisms¹.
Along with this, it includes huge storage, virtual applications, virtual machines, traffic control
mechanisms, deployment models, etc.

3. Client Infrastructure: Client Infrastructure is a part of the frontend component. It provides


GUI (Graphical User Interface) to interact with the cloud.

4. Application: The application may be any software or platform that a client wants to access.

5. Service: A Cloud Services manages that which type of service you access according to the
client’s requirement². Cloud computing offers three types of services: Software as a Service
(SaaS), Platform as a Service (PaaS), and Infrastructure as a Service (IaaS).

6. Runtime Cloud: Runtime Cloud provides the execution and runtime environment to the
virtual machines.

7. Storage: Storage is one of the most important components of cloud computing. It provides a
huge amount of storage capacity in the cloud to store and manage data.

8. Infrastructure: It provides services on the host level, application level, and network level².

The benefits of Cloud Computing Architecture include making overall cloud computing system
simpler, improving data processing requirements, helping in providing high security, making it
more modularized, resulting in better disaster recovery, giving good user accessibility, reducing
IT operating costs, providing high speed.

Deployment of Cloud Computing


Cloud computing can be deployed in several models, each of which is designed to meet
different needs. Here are the main types of cloud deployment models:

1. Public Cloud: The public cloud makes it possible for anyone to access systems and services.
The infrastructure in this model is owned by the entity that delivers the cloud services. This
form of cloud computing is an excellent example of cloud hosting, in which service providers
supply services to a variety of customers. For example, Google App Engine. A private cloud is a
model where the cloud infrastructure is dedicated to a single organization. This model provides
a higher level of security and control over data and applications. However, it requires a
significant investment in terms of setting up and maintaining the infrastructure.

2. Private Cloud: The private cloud is a model where the cloud infrastructure is dedicated to a
single organization. This model provides a higher level of security and control over data and
applications. The hybrid cloud is a combination of public and private clouds. It allows data and
applications to be shared between them. This model provides businesses with more flexibility
by moving workloads between cloud solutions as needs and costs fluctuate. However, it can be
complex to implement and manage due to the need to maintain multiple different
environments.

3. Hybrid Cloud: The hybrid cloud is a combination of public and private clouds. It allows data
and applications to be shared between them. This model provides businesses with more
flexibility by moving workloads between cloud solutions as needs and costs fluctuate. In a
community cloud, the infrastructure is shared among several organizations from a specific
community with common concerns (security, compliance, jurisdiction, etc.), whether managed
internally or by a third-party and hosted internally or externally. This model can provide a
balance between the scalability of a public cloud and the control of a private cloud.

4. Community Cloud: In a community cloud, the infrastructure is shared among several


organizations from a specific community with common concerns (security, compliance,
jurisdiction, etc.), whether managed internally or by a third-party and hosted internally or
externally³.

5. Multi-Cloud: Multi-cloud is the use of multiple cloud computing and storage services in a
single network architecture¹. This refers to the distribution of cloud assets, software,
applications, and more across several cloud environments.
Each deployment model has its own set of benefits and considerations, and they are chosen
based on the specific needs of the organization.

How does Cloud Computing Work?


The cloud has to be divided into different layers. These layers are the front-end and back-end
layers. The Front-end layer is that part of the cloud with which users can interact with. For
example, when we log in to our Gmail account, we see the UI (user interface) where everything
works on event-driven buttons and graphics. Similarly, the software also runs in the front end of
the cloud. Again, the back-end comprises hardware as well as software that delivers the back-
end data from the database to the front end.
Cloud uses a network layer to connect different devices to provide access to resources residing
in the centralized data center of the cloud. Cloud technology users can use the data center
through the company's network or internet facilities. This technology provides various
advantages; users can access the cloud from anywhere at any time, but the network bandwidth
should have to be more. This technology not only facilitates desktop and laptop users, but
mobile users can also access their business systems based on their demand.
As we already know that cloud computing is fast and efficient, applications running on the cloud
take advantage of flexibility and computing power, i.e., the speed of processing a task. Many
computers of a single organization work together along with their application on the cloud as if
all the applications were running on a single machine. This flexibility of accessing the cloud
resources allows users to use much or little of the resource based on the demand.

In the Cloud computing system architecture, there is another mechanism of shifting the
workload. Local machines don't have to perform massive lifting operations when it comes to
run applications. Cloud technology can handle those heavy loaded tasks automatically, easily,
and efficiently. This brings down the hardware & software demands. The only thing that the
users have to think of is the system's cloud computing interface software, which works merely
as a web-browser at the front end of the user. The cloud's network takes care of the rest along
with the back-end.

The back-end is connected through a virtual network or internet. Other than that, there are few
more components such as Middleware, cloud resources, etc. that include cloud computing
architecture. The backend is used by service providers that include various servers, computers,
virtual machines & data storage facilities combined to form the cloud technology. Its dedicated
server handles each application in the system. The front end includes the cloud computing
system or network used to access the cloud computing system. The cloud computing systems'
interface varies from cloud to cloud.
The back-end has two principal responsibilities:
Provides traffic control mechanisms, security postures & governing the protocols.
To employ those internet protocols that are connected to the networked computer for
communication.
One central server is used to manage the entire cloud system architecture. The server is solely
responsible for handling the smoothness of traffic without disruption. Middleware is a
particular type of software that is used to perform processes & also connects networked
computers. Depending on the client/user's demand, the storage is provided by the cloud
technology's service provider.

Cloud Computing offer three type of services

1) Infrastructure as a Service (IaaS):


IaaS, as the name suggests, is a way of providing Cloud computing infrastructure such as virtual
machines, storage drives, servers, operating systems & networks, which is also an on-demand
service like that of SaaS. Rather than purchasing servers or developing software, clients buy
those resources as a fully outsourced service based on their requirements. "Public cloud" is
considered as an infrastructure that consists of shared resources, based on a self-service over
the Internet. In a word, it is the only layer of the cloud where the customer gets the platform
for their organization to outsource IT infrastructure on a pay-per-use basis.
IaaS provides users with:

a) Load balancers
b) Disk storage via virtual machines
c) Software Packages
d) IP address
e) VLANs

Advantages of IaaS are:

Dynamic: Users can dynamically opt & configure devices such as CPU, storage drive, etc.
Easy Access: Users can easily access the vast cloud computing power.
Renting: Flexible and efficient while renting IT infrastructures.
Full control of computer resources along with portability.

Disadvantages of IaaS are as follows:


1) Internet connection is a must.
2) IaaS depends on virtualization services.
3) This service restricts user-privacy & customization.

2) Platform as a Service (PaaS)


PaaS is a platform for programming developers and brings benefits - SaaS is used for but from
the software development point. It is the computer platform that provides the facility to use
web applications quickly. With ease, without buying & maintaining web-development, PaaS has
a similarity with that SaaS except that SaaS delivers software over the web. In contrast, PaaS
provides a platform for the creating of software delivered over the web. PaaS has a feature of a
point-and-click tool that allows non-programmers to develop web applications. App-Engine of
Google & Force.com, Windows Azure, AppFog, Openshift, and VMware Cloud Foundry are PaaS
examples.

Advantages of PaaS-

1) Scalability: of users ranges from hundreds to thousands.


2) Prebuilt Business Plan: PaaS vendors provide pre-defined business functionality for users
to directly start the project.
3) Low Cost: Development via PaaS requires a computer & a good internet connection and
less investment in hardware & software.
4) Instant Community: PaaS providers facilitates user providing online communities where a
developer can get new ideas & share their experience & advice.
5) Simple & easy to use

Disadvantages of PaaS are as follows:


1) Vendor Migration: Migration from one PaaS vendors' application to another PaaS vendor
will create some problem.
2) Data-Privacy: The privacy of data can get hamper if it is not held within the company's
boundary or organization.
3) Mix-up Complexity: Some of the applications developed may be local while others are
from the cloud, which may increase the complexity.

3) Software as a Service (SaaS):


SaaS is defined as the software distribution model deployed on the internet in which a cloud
service provider provides applications. It is also known as "on-demand software" or "pay-as-
you-go application". Here the customer licenses their product via SaaS-providers. SaaS market is
a rapid-growing one, and with this fast-growing service, SaaS will soon become an active cloud
service technology for every organization and company. So it's important to understand those
users and or buyers the usage of SaaS and why it is suitable.
In SaaS, the software & the applications associated with it are centrally located on the cloud
server. Users can access them via a thin client connecting application, i.e., using a web browser.
The SaaS provides various applications such as:
1) CRM applications
2) Solution to Human Resource (HR)
3) Pre-existing Billing & Invoicing systems
4) Other daily usable application suites

There are various advantages and disadvantages of SaaS. The advantages are:
Easy to buy: SaaS's cost is based on monthly or yearly fees allowing new organizations to access
the world of business at a low-cost, at least lesser than licensed application.
Minimization of Hardware Requirement: All SaaS software is hosted remotely & so there is no
or lesser need for hardware for the organizations.
Special Software: No special software versions are required, as all the users will use the same
software version. SaaS reduces IT costs by outsourcing hardware & software maintenance.
Low Maintenance: SaaS removes the daily problem of installing, maintaining, and updating
software. The set-up cost of SaaS is also less in comparison to enterprise software.
Disadvantages are also the points that users and vendors must keep in mind while using the
SaaS:

Latency factor: comes due to a variable distance of data between the cloud & the end-user, and
hence a possibility of latency may arise while interacting with applications.
Internet Connection: is a major issue. Without an internet connection, SaaS applications are
unusable.
Switching between SaaS vendors in case of any change is very difficult.
The SaaS cloud service is not very secure as in-house deployment.

Advantages of Cloud Computing


Cloud computing refers to the delivery of computing resources, such as storage, processing,
networking, and software, over the Internet (the cloud) on a pay-per-use or subscription basis.
Here are some advantages of cloud computing in more detail:

Cost Saving: One of the main advantages of cloud computing is the potential for cost savings.
By using the cloud, you can reduce or eliminate the need for upfront investment in hardware and
software, as well as the costs of maintenance and support. Instead of buying and maintaining
your own servers and infrastructure, you can pay for the resources you use on a pay-per-use or
subscription basis. This can be especially beneficial for small and medium-sized businesses that
do not have the budget or resources to build and maintain their own IT infrastructure.

Scalability: Cloud computing allows you to quickly scale up or down your resources as needed,
paying only for what you use. This can be especially useful for businesses with seasonal or
unpredictable workloads that need to ramp up quickly or down their computing resources. In the
traditional on-premises model, it can be difficult and costly to scale up your infrastructure to
meet sudden spikes in demand, but in the cloud, you can quickly provision additional resources
as needed.

Security: Cloud providers typically have redundant systems and backup processes in place to
ensure the availability and reliability of their services. This can provide a higher level of
reliability than many organizations could achieve on their own, as it can be challenging to ensure
that all hardware and software components are functioning correctly at all times. In the cloud, if
one component fails, the provider can automatically failover to a redundant component,
minimizing downtime.

Flexibility: Cloud providers invest heavily in security measures and have experienced staff to
manage them. This can provide a higher level of security than many organizations could achieve
on their own, as it can be difficult to keep up with the latest security threats and implement the
necessary measures to protect against them. In the cloud, you can benefit from the provider's
expertise and resources and their compliance with relevant regulations and standards.

Speed: Cloud computing allows you to access and use resources from anywhere with an Internet
connection, making it easier to work remotely and collaborate with others. This can be especially
useful for organizations with distributed teams or those that need to support remote work. In the
cloud, you can access your resources from any device at any time, or location, as long as you
have an Internet connection.

Innovation: Cloud computing can provide faster deployment and resource access, as you do not
need to wait for hardware to be procured and configured. In the traditional on-premises model, it
can take weeks or even months to set up and configure new hardware, but in the cloud, you can
provision new resources in minutes or seconds. This can be especially useful for organizations
that need to respond quickly to changing business needs or opportunities.

Environmental Benefits: Cloud computing can enable organizations to focus on their core
competencies and innovate more quickly by leveraging the latest technologies and services from
the cloud. In the traditional on-premises model, it can be difficult and costly to keep up with the
latest technologies and incorporate them into your systems, but in the cloud, you can easily
access the latest innovations and take advantage of them to drive your business forward. This
can help you stay ahead of the competition and meet the evolving needs of your customers.

Cloud computing can also have environmental benefits, as it can reduce the need for physical
infrastructure and the associated energy consumption and carbon emissions. Using the cloud can
reduce your carbon footprint and contribute to a more sustainable future.

Timeline of Cloud Computing


Here is a brief timeline of the evolution of Cloud Computing:

1. **1960s**: Introduction to computers, provided for timesharing by IBM and DEC.


2. **1972**: Emergence of the first Virtual Machine (VM), developed by IBM.
3. **1977**: First use of Cloud as a symbol.
4. **1991**: Advent of internet and world wide web.
5. **1999**: Salesforce.com started delivering an enterprise application over the internet.
6. **2002**: Amazon Web Services (AWS) launched as a free service.
7. **2006**: AWS started offering web-based computing infrastructure services, now known as
cloud computing.
8. **2007**: IBM partnered with Google to promote cloud computing in universities.
9. **2008**: Google announced App Engine, a developer tool that allowed users to run web
applications on Google infrastructure.
10. **2010**: Microsoft released Azure, its cloud computing service.
11. **2011**: IBM introduced the SmartCloud framework.
12. **2013**: Docker introduced open source container software.
13. **2015**: Google and Microsoft lead massive build outs of data centres.
14. **2017**: Huawei and Tencent joined Alibaba in major data centre build-outs in China.
15. **2018**: Leading data centre operators started the migration to 400G data speeds. Silicon
photonics technology started to positively impact data centre networking architectures.
16. **2020**: Edge computing revised the role of the cloud in key sectors of the economy.
17. **2021**: Data centre speeds are expected to exceed 1,000G.

By 2024, GlobalData forecasts that spending on cloud services (SaaS, PaaS, and IaaS) will be
more than $429bn². This timeline shows how cloud computing has evolved over time and
continues to grow.

Conclusion
Cloud computing has revolutionized the way we use and store data. It provides a flexible,
scalable, and cost-effective solution for businesses and individuals alike. With its ability to
provide on-demand access to a shared pool of computing resources, it has made it possible for
users to access their data and applications from anywhere, at any time.

Moreover, the different service models like IaaS, PaaS, and SaaS cater to different needs,
allowing users to choose the level of control they want over their infrastructure. The various
deployment models like public, private, hybrid, and community clouds offer solutions tailored to
different security needs and budget constraints.

However, like any technology, cloud computing also comes with its own set of challenges such
as data security and privacy concerns. But with continuous advancements in technology and
stringent regulations in place, these challenges are being addressed.

In conclusion, cloud computing is a transformative technology that is here to stay. Its benefits far
outweigh its challenges and it will continue to shape the future of our digital world.

You might also like