Cloud Computing- Introduction,
Historical developments,
Computing platforms and technologies
UNIT-1
• In 1969, Leonard Kleinrock, one of the chief
scientists of the original ARPANET said:
– “As of now computer networks are still in their infancy,
but as they grow up and become sophisticated, we will
probably see the spread of “ Computer Utilities” which,
like present electric and telephone utilities will service
individual homes and offices across the country.”
• This vision of computing utilities based on a service
provisioning model transformed the entire
computing industry in the 21st century.
I need to grow my I have a lot of
infrastructure, but infrastructure that I
I do not know for want to rent …
how long… I have a surplus of
infrastructure that I
want to make use of
I cannot invest in
infrastructure, I
just started my
business….
I have infrastructure
and middleware and I
can host applications
I want to focus on
application logic and
not maintenance and
scalability issues
I have infrastructure
and provide
application services
I want to access and
edit my documents
and photos from
everywhere..
Defining a Cloud
• Cloud computing became a popular buzzword
and it has been widely used to refer to different
technologies, services, and concepts.
• The term “cloud” has historically been used in
the telecommunication industry for networks.
• It is often associated with
– Virtualized infrastructure
– Hardware on demand
– Utility computing
– IT Outsourcing
– Platform and software as a service
• It is also referred to the Cloud Computing- which
refers to an Internet- Centric way of doing
computing.
• “Cloud computing refers to both the applications
delivered as services over the Internet and the
hardware and system software in the datacenters
that provide those services.”- Armburst
• Everything as a service- XaaS2
– Where the different components of a system can be
delivered, measured, and consequently priced as
service.
• Definition proposed by the American National
Institute of Standards and Technology (NIST)
– “Cloud Computing is a model for enabling
ubiquitous, convenient, on-demand network
access to a shared pool of configurable
computing resources ( e.g.: networks, servers,
storage, applications, and services) that can be
rapidly provisioned and released with minimal
management effort or service provider
interaction”
• Cloud Computing is referred to “Utility-Oriented
approach.”
• It uses a “Pay-Per-Use Strategy”.
– All the operations -to access online storage, rent
virtualized hardware, or use development platforms pay
only for their effective usage by entering the card details.
• According to Reese, we can define three criteria to
discriminate whether a service is delivered in the
Cloud Computing style:
– The service is accessible via a web browser or Web
Services API.
– Zero Capital expenditure is necessary to get started.
– You pay only for what you use as you use it.
• Users subscribe to the service and establish with
the service provider a Service Level Agreement
( SLA) defining the quality of service parameters
under which the service is delivered.
• Cloud Computing is helping enterprises,
governments, public and private institutions, as
well as research organizations shape more
effective and demand-driven computing systems.
• Examples:
– Large Enterprises can offload some of their activities to
the cloud-based system ( New York Times)
– Small enterprises and start-ups can afford to translate
into business results their ideas more quickly without
excessive upfront costs. ( Animoto)
– System developers can concentrate on the business
logic rather than dealing with eh complexity of
infrastructure management and scalability ( Little
Fluffy Toys- widget about rental bicycle services)
– End-users can have their documents accessible from
everywhere and on any device. (Apple iCloud)
Provide the services offered by Cloud in Enterprises,
Government, Public and Private Institutions as well
as research organizations.
• Three major models for deployment and
accessibility :
– Public cloud: Established by 3rd party developers
available to any consumer
– Private Cloud: In- house Models, need to keep
confidential information within organization premises.
– Hybrid Cloud: Composed of public cloud and
privately owned infrastructures, created to serve the
organization’s needs.
Cloud- Computing Reference Model
Web 2.0 Software as a Service
Interfaces End user applications
Scientific applications
Office automation, Photo editing,
CRM, and Social Networking
Examples: Google Documents, Facebook, Flickr
Platform as a Service
Runtime Environment for Applications
Development and Data Processing Platforms
Examples: Windows Azure, Hadoop, Google AppEngine, Aneka
Infrastructure as a Service
Virtualized Servers
Storage and Networking
Examples: Amazon EC2, S3, Rightscale, vCloud
Provide the Characteristics and Benefits of Cloud
Computing
Challenges of Cloud Computing
Characteristics and Benefits
• Characteristics: Interesting characteristics that
bring benefits to both Cloud Service Consumers
(CSCs) and Cloud Service Providers (CSPs). They
are:
– No upfront commitments
– On demand access
– Nice pricing
– Simplified application acceleration and scalability
– Efficient resource allocation
– Energy efficiency and
– Seamless creation and the use of third- party services.
• Increased economical return due to reduced
maintenance and operational costs related to IT
software and infrastructure.
• Increased agility, users can more dynamically and
flexibly compose their software systems.
• Availability of data anywhere, at any time and
through multiple devices.
• Multi- tenancy allows for a better utilization of the
shared infrastructure .
• Service orientation and on-demand access create
new opportunities for composing system and
applications with a flexibility and in no time.
Challenges Ahead
• Configuration, Networking, and sizing of Cloud
computing systems based on demand provisioning.
• Iaas:
– How many resources?
– How long to maximize benefits?
• Technical challenges for providers like:
– Management of large Infrastructure
– Use of virtualization technologies
– Security and Legislation
• Security :
– Confidentiality
– Secrecy
– Protection of data
• Legal issues:
– Different legislations in different countries
– American legislation – Government agencies can acquire
confidential data if it suspects.
– European Countries- More restrictive and protect the
right of privacy.
Historical Developments
• Five core technologies that played an important
role in realizing the importance of Cloud
Computing.
1. Distributed Systems
2. Virtualization
3. Web 2.0
4. Service-Oriented Computing
5. Utility computing
Distributed Systems
• “A distributed system is a collection of independent
computers that appears to its users as a single
coherent system.”- Tanenbaum.
• Properties of DS:
– Heterogeneity
– Openness
– Scalability
– Transparency
– Concurrency
– Continuous availability
– Independent failures
• Three major milestones that led to CC:
– Mainframe Computing
– Cluster Computing
– Grid Computing
• Mainframe: Powerful, Highly reliable
computers for large data movement and massive
IO operations.
– Used by large organizations- Online transactions,
enterprise resource planning (ERP)
– Not considered as Distributed systems
– “always on”- No shut down required to replace a
failed component.
– Evolved versions are being used now- Online
banking, airplane ticketing, Supermarket, govt.
services.
– url: https://www.ibm.com/in-en/topics/mainframe
Cluster
• Low–cost alternative to the mainframe.
• Connected by a high-bandwidth network and
controlled by specific software tools.
• Perform more computational work at less cost.
• Easily extended if more computation is required.
• This technology considerably contributed to the
evolution of tools and frameworks for distributed
computing.
– Condor, Parallel Virtual Machine (PVM), and Message
Passing Interface (MPI).
– url:https://www.partech.nl/en/publications/2021/10/what-is-
cluster-computing#
Grids
• Considered as an evolution of cluster computing.
• It proposed a new approach to access large
computational power, huge storage facilities, and
a variety of services.
• Different from the cluster, it is a dynamic
aggregation of heterogeneous computing nodes
and its scale was nationwide or even worldwide.
• Url: https://azure.microsoft.com/en-
in/resources/cloud-computing-dictionary/what-is-
grid-computing/
Virtualization
• Around for more than 40 years.
• Example: Hardware virtualization- allows the co-
existence of different software stacks on top of the
same hardware.
• Present inside the virtual Machine Instances, which
operates completely isolated from each other.
• Base technology that enables the CC.
• Isolation and customization make this technology
attractive.
• url:https://youtu.be/FZR0rG3HKIk
Web 2.0
• At present, the Web encompasses a set of technologies
and services that facilitate interactive information
sharing, collaboration, user-centered design, and
application composition.
• This evolution has transformed the Web into a rich
platform for application development and is known
as Web 2.0.
• Web 2.0 brings interactivity and flexibility into Web
pages.
• url:
https://www.oreilly.com/pub/a/web2/archive/what-is-
web-20.html
• Technologies: XML, Asynchronous JavaScript and
XML (AJAX), Web Services.
• Accessed from a variety of devices.
• Web 2.0 applications are
– extremely dynamic
– they improve continuously
– new updates and features are integrated at a constant
rate by following the usage trend of the community.
– Lightweight deployment and programming models are
very important for effective support of such dynamism
• Examples:
– Google Documents
– Google Maps,
– Flickr,
– Facebook,
– Twitter,
– YouTube,
– Blogger, and
– Wikipedia.
– In particular, social networking Websites
AJAX and Really Simple Syndication
(RSS)- powerful tools
Service- Oriented Computing
• Core reference model for cloud computing systems.
• SOC supports the development of rapid, low-cost,
flexible, interoperable, and evolvable applications
and systems.
• Virtually any piece of code that performs a task can
be turned into a service.
• A service is supposed to be loosely coupled,
reusable, programming language independent,
and location transparent.
• Loose coupling allows services to serve different
scenarios more easily and makes them reusable.
• Independence from a specific platform increases
service accessibility.
• Service-oriented computing introduces and
diffuses two important concepts: quality of
service (QoS) and Software-as-a-Service (SaaS).
– Quality of service (QoS) identifies a set of functional
and non-functional attributes that can be used to
evaluate the behavior of a service from different
perspectives.
– The term has been inherited from the world of
application service providers (ASPs)
Utility-oriented computing
• It defines a service-provisioning model for
computing services in which resources such as
storage, compute power, applications, and
infrastructure is packaged and offered on a pay-per-
use basis.
• From an application and system development
perspective, service-oriented computing and
service-oriented architectures (SOAs) introduced
the idea of leveraging external services for
performing a specific task within a software system.
Can you provide real-time examples for each
technology we have discussed that contributed to
Cloud Computing?
Can you give the names of the companies that
provide Cloud Services to the end user?
Computing Platforms and
Technologies
• Amazon Web Services (AWS)
– It offers Cloud IaaS services.
– It is mostly known for its compute and storage on-
demand services, namely EC2 and S3.
– Elastic Compute Cloud (EC2) and Simple Storage
Service ( S3)
– S3, EC2
– url: https://youtu.be/a9__D53WsUs
Google AppEngine
• Provides both a secure execution environment and a
simplified development of scalable and high-
performance web applications.
• Languages: Python, Java, and Go
• url: https://youtu.be/Xuf3J6SKVV0
• Services:
– In-memory
– Caching
– Scalable data store
– Job queues
– Messaging
– Cron tasks.
Microsoft Azure
• Cloud Operating System and a platform for developing apps
in the cloud.
• Other services: Networking, storage, caching, content
delivery, and others.
• url: https://youtu.be/KXkBZCe699A
• Organized around the concept of roles.
• Types of roles:
– Web role: To host a web app
– Worker role: Generic container perform workload
processing.
– Virtual machine role: Virtual Environment, can
customize OS
Hadoop
• Open source framework
• Process large data sets on commodity hardware.
• Implementation of MapReduce- operations of data
processing (Developed-Google)
• url:https://aws.amazon.com/emr/details/hadoop/wh
at-is-hadoop/
Force.com and Salesforce.com
• Force.com- developing social enterprise apps.
• Salesforce.com- SaaS- Customer Relationship
Management.
• url: https://youtu.be/xx2sK-QiBjw
• Allows ready-to-use blocks.
• Complete support for app development
– Design of data layout
– Def of business rules and workflows
– Def of user interface
Manjrasoft Aneka
• Provides rapid creation of scalable apps and their
deployment on various types of clouds in a
seamless and elastic manner.
• Supports a collection of programming abstractions
for developing apps and a distributed runtime
environment that can be deployed on
heterogeneous hardware.
• Different abstractions: task, distributed threads
and map-reduce.
• Example for three services IaaS, PaaS, SaaS.
• url: http://www.manjrasoft.com/products.html
Can you list down the different types of services
of the above-discussed companies to the end
user?
Review Questions
• Discuss the major distributed
computing technologies that led to
Cloud Computing.
• Briefly summarize the challenges
still open in Cloud Computing.
• How does Cloud development
differentiate from traditional
software development?
This Photo by Unknown Author is licensed under CC BY-SA