BLDEA’s
A.S. Patil College of Commerce,
B. M Patil Road, Vijayapur-586103
BCA
VI - SEMESTER
CLOUD Computing Notes
Prepared
By
Mallikarjun. G .M
1
CLOUD COMPUTING AT A GLANCE:
It provides us a means by which we can access the applications as useful features,
over the Internet. It allows us to create, configure, and customize applications
online. With Cloud Computing users can access database resources via the internet
from anywhere for as long as they need, without worrying about any maintenance
or management of actual resources.
THE VISION OF CLOUD COMPUTING:
1. Cloud computing provides the facility to provision virtual hardware, runtime
environment and services to a person having money.
2. These all things can be used as long as they are needed by the user.
3. The whole collection of computing system is transformed into a collection of
utilities, which can be provisioned and composed together to deploy systems in
hours rather than days, with no maintenance costs.
4. The long term vision of a cloud computing is that IT services are traded as
utilities in an open market without technological and legal barriers.
5. In the near future we can imagine that it will be possible to find the solution that
matches with our requirements by simply entering our request in a global digital
market that trades with cloud computing services.
6. The existence of such market will enable the automation of the discovery process
and its integration into its existing software systems.
7. Due to the existence of a global platform for trading cloud services will also help
service providers to potentially increase their revenue.
8. A cloud provider can also become a consumer of a competitor service in order to
fulfill its promises to customers.
2
What is Cloud Computing?
Cloud computing refers to the server that are accessed over the internet.
In simple terms it means storing managing and accessing the data and
programs on the remote server that are hosted on internet instead of
computer’s hard drive.
Or
Cloud computing is the on demand availability of computer system
resource especially data storage or cloud storage and computing power
without direct active management by the user.
Cloud Computing Reference Model.
The reference model for cloud computing is an abstract model that characterizes
and standardizes a cloud computing environment by partitioning it.
Cloud computing reference model
3
1. Infrastructure as a service (IaaS): is a cloud computing offering in which a
vendor provides users access to computing resources such as servers, storage and
networking.
IaaS-Benefits:
A. Minimize Costs – Deploying an IaaS cloud model eliminates the need to deploy
on premise hardware that reduces the costs.
B. Enhanced Scalability – As the most flexible cloud computing model, IaaS
allows you to scale the computing resources up or down based on demand.
C. Simple Deployment – IaaS lets you easily deploy the servers, processing,
storage, and networking to make it up and running in no time.
2. Platform as a service (PaaS) is a cloud computing offering that provides users
with a cloud environment in which they can develop, manage and deliver
applications.
PaaS- Benefits:
A. Minimal Development Time – PaaS reduces the development time since the
vendor provides all computing resources like server-side components, which
simplifies the process and improves the focus of the development team.
B. Multiple Programming Language Support – PaaS offers support for multiple
programming languages, which a software development company can utilize to
build applications for different projects.
C. Enhanced Collaboration – With PaaS, your business can benefit from having
enhanced collaboration, which will help integrate your team dispersed across
various locations.
3. Software as a service (SaaS) is a cloud computing offering that provides users
with access to a vendor’s cloud-based software. Users do not install applications on
their local devices. Instead, the applications reside on a remote cloud network
accessed through the web or an API. Through the application, users can store and
analyze data and collaborate on projects
SaaS-Benefits:
4
A. Affordable – SaaS is affordable as it eliminates the costs involved in the
purchase, installation, maintenance, and upgrades of computing hardware.
B. Anywhere Accessibility – With SaaS, you can access the services from
anywhere using any device such as smartphones, which eliminates the
constraints set by on-premise software.
C. Ready to Use – You can quickly set up SaaS services so that they become
functional in no time. All it takes is that you sign up for the service to get access
to fast and powerful computing resources.
4. Web 2.0 is the term used to describe a variety of web sites and applications that
allow anyone to create and share online information or material they have created.
A key element of the technology is that it allows people to create, share, collaborate
& communicate
CHARACTERISTICS OF CLOUD COMPUTING
1. On-demand self-services: The Cloud computing services does not require any
human administrators, user themselves are able to provision, monitor and
manage computing resources as needed.
2. Broad network access: The services can be accessed from any location using
any devices, anywhere any time you can access.
3. Resource pooling: Resource pooling means Multiple customers are serviced
from the same physical resources. The IT resources (e.g., Storage, Servers,
Networks, Applications, and services, Virtual machine etc) are shared across
multiple users.
4. Measured service: Pay according to the service you use. Cloud computing
resources usage is metered for what they have used. This means that cloud
resource usage—whether virtual server instances that are running in the cloud—
gets monitored, measured, reported for various reasons like monitoring billing
and effective use of resource.
5
5. Rapid Elasticity scalability: one of the great things about cloud computing is
that ability to quickly provision resources in the cloud as organization needs
them (Scaling up/Scaling down).
6. No Maintenance: /Easy maintenance-(we don’t use any physical machines
(Virtual machine).
7. Security: Copy of our data on various servers, if one server fails, data is safe on
the other Servers.
THE BENEFITS OF CLOUD COMPUTING (Cloud Computing)
Cost Reduction: Cloud computing is seen as an incremental investment;
companies can save money in the long term by obtaining resources.
Storage increase: instead of purchasing large amounts of storage before the need,
organizations can increase storage incrementally, requesting additional disk space
on the service provider when the need is recognized.
Resource pooling: in the IT industry, this feature is also known as Multi-tenancy,
where many users / clients share a type and varied level of resources.
Greater mobility: Once the information is stored in the cloud, access it is quite
simple, just you have an Internet connection, regardless of where they are located.
Keep updated things: Similar to change the IT focus, this benefit is because of
the new demands of providers’ cloud services, ie, the focus of providers is to
monitor and maintain the most recent tools and techniques for the contractor.
Quick elasticity: this characteristic has to do with fundamental aspects of Cloud
flexibility & elasticity. Eg: web shops carry a standard amount of transactions
during the year, but it is necessary to increase near Christmas time. And of course
these stores do not want to pay for that capacity at peak during rest of the year.
Measurement service: which means services monitored, controlled and reported.
This feature allows a model of pay-per-use service, or pay for use. It has
similarities with the concept of telephone service packages where you pay a
6
standard signature to basic levels, and paid extra for the additional service, without
changing the contract.
CHALLENGES AHEAD:
Let us dive into the challenges of cloud computing, with a multitude of benefits of
implementing cloud computing in all-size businesses, cloud computing has become
a popular trend in the market. To put in simple words: Cloud computing is nothing
but moving on-premises computing to the internet. It saves both time and money.
Security.
Password Security.
Cost Management.
Lack of expertise.
Internet Connectivity.
Control or Governance.
Compliance.
Multiple Cloud Management.
1. Security
The topmost concern in investing in cloud services is security issues in cloud
computing. It is because your data gets stored and processed by a third-party vendor
and you cannot see it. Every day or the other, you get informed about broken
authentication, compromised credentials, account hacking, data breaches, etc. in a
particular organization. It makes you a little more skeptical.
Fortunately, the cloud providers, these days have started to put efforts to improve
security capabilities and also, ensure it implements database security and privacy
protocols.
2. Password Security
As large numbers of people access your cloud account, it becomes vulnerable.
Anybody who knows your password or hacks into your cloud will be able to access
your confidential information.
Here the organization should use a multiple level authentication and ensure that the
7
passwords remain protected. Also, the passwords should be modified regularly,
especially when a particular employee resigns and leave the organization. Access
rights to usernames and passwords should be given judiciously.
3. Cost Management
Cloud computing enables you to access application software over a fast internet
connection and lets you save on investing in costly computer hardware, software,
management and maintenance. This makes it affordable. But what is challenging
and expensive is tuning the organization’s needs on the third-party platform.
4. Lack of Expertise
With the increasing workload on cloud technologies and continuously improving
cloud tools, the management has become difficult. There has been a consistent
demand for a trained workforce who can deal with cloud computing tools and
services.
5. Internet Connectivity
The cloud services are dependent on a high-speed internet connection. So the
businesses that are relatively small and face connectivity issues should ideally first
invest in a good internet connection so that no downtime happens. It is because
internet downtime might incur vast business losses.
6. Control Or Governance
Another ethical issue in cloud computing is maintaining proper control over asset
management and maintenance. There should be a dedicated team to ensure that the
assets used to implement cloud services are used according to agreed policies and
dedicated procedures. There should be proper maintenance and that the assets are
used to meet your organization’s goals successfully.
7. Compliance
Another major risk of cloud computing is maintaining compliance. By compliance
we mean, a set of rules about what data is allowed to be moved and what should be
kept in-house to maintain compliance. The organizations must follow and respect
the compliance rules set by various government bodies.
8
8. Multiple Cloud Management
Companies have started to invest in multiple public clouds, multiple private clouds
or a combination of both called the hybrid cloud. This has grown rapidly in recent
times. So it has become important to list challenges faced by such organizations and
find solutions to grow with the trend.
HISTORICAL DEVELOPMENT:
Historical Development of Cloud Computing, The history of cloud computing
starts from the 1950's and the work done by AT & T in the area of telephone
networking and the evolution of these technologies which are present in today's
cloud implementations.
At that time AT & T had already begun to develop an architecture and system
where data would be located centrally and accessed by business through
redesigned telephones and updated telephone network.
So here we can easily understand that at that time this establishment has been
done in the area of telephone networking.
The IT services progressed over the decades with the adoption of technologies
such as Internet Service Providers (ISP) Application service Providers.
DISTRUBUTED SYSTEM:
Clouds are essentially large distributed computing facilities that make available
their services to their parties on demand. A distributed system is a collection of
independent computers that appears to is users as a single coherent [Link]
exhibit other properties Such as heterogeneity, openness, scalability, transparency,
concurrency, continuous availability, and independent failures.
Three major milestones have led to Cloud computing:
Mainframe computing
Cluster computing,
Grid computing.
9
(A). Mainframes: Mainframes were powerful, highly reliable computers specialized for
large data movement and massive IO operations. They were mostly used by large
organizations for bulk data processing such as online transactions, enterprise resource
planning, and other operations involving the processing of significant amount of data. they
were offering large computational power by using multiple processors. One of the most
attractive features of mainframes was the ability to be highly reliable computers that were
"always on" and capable of tolerating failures transparently. No system shut down was
required to replace failed components, and the system could work without interruptions.
(B). Clusters: Cluster computing started as a low-cost alternative to the use of mainframes
and supercomputers. The technology advancement that created faster and more powerful
mainframes and supercomputers has eventually generated an increased availability of
cheap commodity machines as a side effect. These machines could then be connected by
a high-bandwidth network and controlled by specific software tools that manage them as
a single system. they were cheaper than mainframes, and made available high-performance
computing to a large number of groups, including universities and small research labs.
(C). Grid: Grid computing proposed a new approach to access large computational power,
huge storage facilities, and a variety of services. Users can "consume" resources in the
same way as they use other utilities such as power, gas, and water. Grids initially developed
as aggregation of geographically dispersed clusters by means of Internet [Link] is
considered as the successor of Grid computing. Computing Clouds are deployed on large
datacenters hosted by a single organization that provides services to others. Clouds are
characterized by the fact of having virtually infinite capacity, being tolerant to failures, and
always on as in the case of mainframes. The services made available by a Cloud vendor
are consumed on a pay-per-use basis and Clouds implement fully the utility vision
introduced by Grid computing.
What is Virtualization?
“Virtualization” that refers to the process of making a “virtual version” of something like
hardware or software- virtual servers, infrastructure, devices and computing resources. For
example, creating a virtual machine that serves as a real-life computer.
10
Parallel V/s Distributed Computing: The main difference between parallel and
distributed computing is that parallel computing allows multiple processors to execute
tasks simultaneously while distributed computing divides a single task between multiple
computers to achieve a common goal.
11
WEB2.0:
The web is the primary interface (medium) through which cloud computing provides its
services to everyone. basically Web 2.0 is the current state of online technology as it
compares to early days of the Web, it comprises by greater user interactivity and
collaboration and enhanced communication channels. The name Web 2.0 used to
elaborate the second generation of www i.e. World Wide Web, where Web moved
towards static HTML pages for more responsive and interactive as well as dynamic web
experience.
Web 2.0 is focused on the ability for user or people to collaborate and share information
online via social media, web based communities, blogging and internet of course. But
now for Web social media is a major component, new web applications such as AZAX
and more modern browser providing opportunities for people to express their views.
Benefits of Web 2.0
We can access all the services available at internet anytime or from anywhere.
Today’s web services are user friendly or has better user interface.
Different type of media is available on web.
It can build a dynamic learning communities.
Anyone can have real time discussion now.
Everybody is an author & an editor now; every changes are traceable now.
Learners can actively be involved in knowledge building.
Success for search results are efficient.
Updates of any information is easy.
Web 2.0 is speedy, collaborative, trustworthy etc.
Service running on web 2.0 are
Facebook
YouTube
Wikipedia
Word press
Twitter
Google Docs
Instagram and many more.
12
BUILDING CLOUD COMPUTING ENVIRONMENTS:
[Link] Development:
Application development on Cloud infrastructure allows web and was development to
reduce development costs, opens up the possibility to work with remote teams, and
reduces project times if used correctly with software development methodologies like
Agile.
Cloud Application Development Example
Many of the apps we use on a day to day basis use the Cloud in one way or another.
Cloud application development has tools and services like:
Miro: a virtual board where you can work with other users in a number of and
creative ways.
Figma: a powerful Cloud-based design app that is gaining many fans thanks to its
collaborative nature.
Dropbox or Google Drive: easily store your files on the Cloud and make them
available for others, wherever they are.
[Link] and System Development:
Distributed computing, virtualization, service orientation, and Web 2.0 forms core
technologies that helps to get cloud services from anywhere in the globe. Cloud computing
solutions and mostly addressed at the middleware layer of computing system.
Infrastructure-as-a-Service solutions provide the capabilities to add and remove
resources. Integration between Cloud resources and existing system deployment is another
element of concern. Web 2.0 technologies constitute the interface through which Cloud
computing services are delivered, managed. Beside the interaction with rich interfaces
through the Web Browser.
Web services have become the primary access point to Cloud computing systems
from a programmatic standpoint. Virtualization is another element that plays a
fundamental role in Cloud computing. This technology is a core feature of the
infrastructure used by Cloud providers. virtualization is a concept more than 40 years old,
but Cloud computing introduces new challenges, especially in the management of virtual
environments whether they are abstraction of virtual hardware or of a runtime
environment.
13
COMPUTING PLATFORMS AND TECHNOLOGIES:
[Link] Web Services (AWS)
AWS offers Cloud IaaS services, ranging from virtual compute, storage, and networking
to complete computing stacks. AWS is mostly known for its compute and storage on
demand services, namely Elastic Compute Cloud (EC2) and Simple Storage Service (S3).
EC2 provides users with customizable virtual hardware that can be used as the base
infrastructure for deploying computing systems on the Cloud. It is possible to choose from
a large variety of virtual hardware configurations including GPU and cluster instances.
These templates are stored into S3 that delivers persistent storage on demand.
S3 is organized into buckets; these are container of objects that are stored in binary
form and can be enriched with attributes. Users can store objects of any size and can
accessible from everywhere. Besides EC2 and S3, a wide range of services can be
leveraged to build virtual computing systems including: networking support, caching
systems, DNS, database support, and others.
[Link] App Engine
Google App Engine is a scalable runtime environment dedicated to executing Web
applications. Google App Engine is an application hosting and development platform that
powers everything from enterprise web applications to mobile games, using the same
infrastructure that powers Google’s global-scale web applications. you can speed up
application development and take advantage of simple scalability as the application grows.
Your application can take advantage of powerful APIs, High Duplicate data storage.
Google App Engine makes it easy to take your app ideas to the next level.
Quick to start with no software or hardware to buy and maintain, you can proto-type
(duplicate copy) and deploy applications to your users in a matter of hours.
Simple to use Google App Engine includes the tools you need to create,
test, launch, and update your apps.
Rich set of APIs Build feature-rich services faster with Google App Engine’s
easy-to-use APIs.
Immediate scalability no limit to how high or how quickly your app can scale.
Pay for what you use Get started without any upfront costs with App Engine’s free tier
and pay only for the resources you use as your application grows.
14
[Link] Azure
Microsoft Azure is a Cloud operating system & platform for developing applications in
the Cloud. It provides scalable runtime environment for Web applications &distributed
applications in general. There are three types of role:
Web role: - The web role is designed to host a Web application.
worker role: - The worker role is a more generic applications and can be used to
perform workload processing.
virtual machine role: - The virtual machine role provides a virtual environment
where the computing stack can be fully customized including OS.
Besides roles, Azure provides a set of additional services that complement application
execution such as support for storage, networking, caching content delivery, and others.
[Link]
Apache Hadoop is an open source framework; it suits for processing large data sets.
Hadoop is an implementation of MapReduce, an application model developed by
Google, which provides two fundamental operations for data processing: map & reduce.
Yahoo! is sponsor of Apache Hadoop project, Hadoop is an integral part of the Yahoo!
Cloud infrastructure supports several business processes. Currently, Yahoo! manages the
largest Hadoop cluster in the world, which is also available to academic institutions.
5. [Link] and [Link]
[Link] is a Cloud computing platform for developing enterprise applications. The
platform is the basis of [Link] a Software-as-a-Service solution for customer
relationship management.
[Link] allows creating enterprise applications by readymade components. It is also
possible to develop your own Components or integrate it in your applications. The
platform provides Complete support for developing applications: from the design of the
data layout, to the definition of business rules and workflows, and the definition of the
user interface. The [Link] platform is completely hosted on the Cloud.
6. Manjrasoft Aneka
Manjrasoft Aneka is a Cloud application platform for rapid creation of scalable
15
applications. Developers can choose different abstractions to design their application:
tasks, distributed threads and map-reduce.
16