Unit I-Cloud Computing
Unit I-Cloud Computing
Introduction:
• Cloud Computing means ―Storing of data online rather than on your home computer that
means you are using cloud computing services‖.
• If you are an organization and you want to use an online invoicing service instead of updating
the in-house one you have been using for many years that online invoicing service is a ―cloud
computing‖ service.
• Cloud computing: Cloud computing refers to the delivery of computing resources over the
Internet. Instead of keeping data on your own hard drive or updating applications for your needs.
• You can also use a service over the internet at any location to store your information but doing
this also give rise to certain type of privacy implications.
• In this chapter we have defined about the introductory part of the cloud computing. We discuss
about the history, vision, characteristics, components & future of the cloud computing. As well
also discussed about the approaches to follow for migration into cloud, Ethical issues,
Networking support for the cloud computing.
Cloud Computing:
Many people within IT organizations view that cloud computing have changed their computing
world because of the flexibility it gives them by providing services and applications to apply in
it.Cloud computing is defined as:
Cloud computing is the computer technology that can attach together the processing power of
many inter-networked computers while covering the structure that is behind it.
The term ―cloud‖ refers to the hiding nature of this technology‘s framework: the system works for
users but in real they have no idea about the inherent complexities that the system utilizes. They do
not realize that there is a massive amount of data being pushed globally in real time to make these
applications work for them and the scale of which is simply amazing.
The idea of connecting to the cloud is familiar among technologists today because it has become a
popular buzzword among the technology media. The only thing users need to be concerned about is
the terminal that they are using and whether it is connected to the internet or not so that they can
have access to the tools that the cloud can provide.
Cloud Computing is unknown to many people as they don‘t know much about the information
technology industry of today‗s. As industry now a days is done with a cloud computing
environment or is moving towards that end.
A slow migration towards it has been going on from several years, mainly due to the infrastructure
and support costs of the standalone hardware.
Fig 1.1: Cloud Computing Model
The following definition of cloud computing has been developed by the U.S. National Institute of
Standards and Technology (NIST):
“Cloud computing is a model for enabling 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. This cloud model promotes availability and is composed of five essential
characteristics, three service models, and four deployment models”.
Cloud computing is a technological advancement that focuses on the way we design computing
systems, develop applications, and leverage existing services for building software. It is based on
the concept of dynamic provisioning, which is applied not only to services but also to compute
capability, storage, networking, and information technology (IT) infrastructure in general.
Resources are made available through the Internet and offered on a pay-per-use basis from cloud
computing vendors. Today, anyone with a credit card can subscribe to cloud services and deploy
and configure servers for an application in hours, growing and shrinking the infrastructure serving
its application according to the demand, and paying only for the time these resources have been
used.
This chapter provides a brief overview of the cloud computing phenomenon by presenting its vision,
discussing its core features, and tracking the technological developments that have made
it possible. The chapter also introduces some key cloud computing technologies as well as some
insights into development of cloud computing environments.
Defining Cloud
Cloud computing has become a popular buzzword; it has been widely used to refer to different
technologies, services, and concepts. It is often associated with virtualized infrastructure or
hardware on demand, utility computing, IT outsourcing, platform and software as a service, and
many other things that now are the focus of the IT industry. Figure 1.2 depicts the plethora of
different notions included in current definitions of cloud computing.
Fig 1.2 Cloud computing technologies, concepts, and ideas.
The term cloud has historically been used in the telecommunications industry as an abstraction of
the network in system diagrams. It then became the symbol of the most popular computer network:
the Internet. This meaning also applies to cloud computing, which refers to an Internet- centric way
of computing. The Internet plays a fundamental role in cloud computing, since it represents either
the medium or the platform through which many cloud computing services are delivered and made
accessible. This aspect is also reflected in the definition given by Armbrust et al.:
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.
This definition describes cloud computing as a phenomenon touching on the entire stack: from the
underlying hardware to the high-level software services and applications. It introduces the concept
of everything as a service, mostly referred as XaaS,2 where the different components of a system—
IT infrastructure, development platforms, databases, and so on—can be delivered, measured,
and consequently priced as a service. This new approach significantly influences not only the way
that we build software but also the way we deploy it, make it accessible, and design our IT
infrastructure, and even the way companies allocate the costs for IT needs. The approach fostered by
cloud computing is global: it covers both the needs of a single user hosting documents in the cloud
and the ones of a CIO deciding to deploy part of or the entire corporate IT infrastructure in the
public cloud. This notion of multiple parties using a shared cloud computing environment is
highlighted in a definition proposed by the U.S. 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.
Another important aspect of cloud computing is its utility-oriented approach. More than any other
trend in distributed computing, cloud computing focuses on delivering services with a given pricing
model, in most cases a ―pay-per-use‖ strategy. It makes it possible to access online storage, rent
virtual hardware, or use development platforms and pay only for their effective usage, with no or
minimal up-front costs. All these operations can be performed and billed simply by entering the
credit card details and accessing the exposed services through a Web browser. This helps us provide
a different and more practical characterization of cloud computing. 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 (nonproprietary) or a Web services application
programming interface (API).
• Zero capital expenditure is necessary to get started.
• You pay only for what you use as you use it.
Even though many cloud computing services are freely available for single users, enterprise- class
services are delivered according a specific pricing scheme. In this case 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. The utility-oriented nature of cloud
computing is clearly expressed by Buyya et al. [30]:
A cloud is a type of parallel and distributed system consisting of a collection of interconnected and
virtualized computers that are dynamically provisioned and presented as one or more unified
computing resources based on service-level agreements established through negotiation between
the service provider and consumers.
Cloud computing has been defined as the on-demand computing services which was initially offered
by the cloud service providers such as IBM, Amazon, Google, and Microsoft. It provides a model
on which a computing infrastructure which is known as ―cloud‖ from which businesses and
individuals access applications from anywhere in the world on demand by paying charges as their
uses basis. The main principle behind this model is offering software, Platform and Infrastructure
―as a service.‖
According to Dr. Rajkumar Buyya of CLOUDS Laboratory, University of Melbourne, Australia
Cloud Computing : ―Cloud is a parallel and distributed computing system consisting of a
collection of inter-connected and virtualized computers that are dynamically provisioned and
presented as one or more unified computing resources based on service-level agreements (SLA)
established through negotiation between the service provider and consumers.‖
Enabling Technology:
Key technologies that enabled cloud computing are virtualization, Web service and service- oriented
architecture, service flows and workflows, and Web 2.0 and mash up. The brief discussion of all is
given below:
• Virtualization
The advantage of cloud computing is the ability to virtualize and sharing resources among
different applications with the objective for better server utilization. In non-cloud computing
three independent platforms (SAAS, PAAS & IAAS) exist for three different applications
running on its own server. In the cloud servers can be shared or virtualized for operating systems
and applications resulting in fewer servers.
• Web Service and Service Oriented Architecture
Web Services and Service Oriented Architecture (SOA) represent the base technologies for
cloud computing. Cloud services are typically designed as Web services, which follow industry
standards including WSDL, SOAP, and UDDI. A Service Oriented Architecture organizes and
manages Web services inside clouds. A SOA also includes a set of cloud services, which are
available on various distributed platforms.
• Service Flow and Workflows
The concept of service flow and workflow refers to an integrated view of service based activities
provided in clouds. Workflows have become one of the important areas of research in the field
of database and information systems.
• Web 2.0 and Mashup
Web 2.0 is a new concept that refers to the use of Web technology and Web design to enhance
creativity, information sharing, and association among users. On the other hand, Mashup is a
web application that combines data from more than one source into a single
integrated storage tool. Both technologies are very beneficial for cloud computing. The
components in this architecture are dynamic in nature. The components closer to the user are
smaller in nature and more reusable.
Fig 1.4: Enabling Technologies
Cloud computing brings a number of new features compared to other computing paradigms. There
are briefly described here:
• Scalability and on-demand services
Cloud computing provides resources and services for users on demand. The resources are
scalable over several data centers.
• User-centric interface
Cloud interfaces are location independent and can be accesses by well-established interfaces
such as Web services and Internet browsers.
• Guaranteed Quality of Service (QoS)
Cloud computing can guarantee QoS for users in terms of hardware/CPU performance,
bandwidth, and memory capacity.
• Autonomous system
The cloud computing systems are autonomous systems managed transparently by users.
However software and data inside clouds can be automatically reconfigured and consolidated to
a simple platform depending on user‘s needs.
• Pricing
Cloud computing does not require up-from investment. No capital expenditure is required. Users
pay for services and capacity as they need them.
Characteristics of Cloud Computing:
1. Resources Pooling
It means that the Cloud provider pulled the computing resources to provide services to multiple
customers with the help of a multi-tenant model. There are different physical and virtual
resources assigned and reassigned which depends on the demand of the customer. The customer
generally has no control or information over the location of the provided resources but is able to
specify location at a higher level of abstraction
2. On-Demand Self-Service
It is one of the important and valuable features of Cloud Computing as the user can continuously
monitor the server uptime, capabilities, and allotted network storage. With this feature, the user
can also monitor the computing capabilities.
3. Easy Maintenance
The servers are easily maintained and the downtime is very low and even in some cases, there
is no downtime. Cloud Computing comes up with an update every time by gradually making
it better. The updates are more compatible with the devices and perform faster than older ones
along with the bugs which are fixed.
4. Large Network Access
The user can access the data of the cloud or upload the data to the cloud from anywhere just
with the help of a device and an internet connection. These capabilities are available all over
the network and accessed with the help of internet.
5. Availability
The capabilities of the Cloud can be modified as per the use and can be extended a lot. It
analyzes the storage usage and allows the user to buy extra Cloud storage if needed for a very
small amount.
6. Automatic System
Cloud computing automatically analyzes the data needed and supports a metering capability at
some level of services. We can monitor, control, and report the usage. It will provide
transparency for the host as well as the customer.
7. Economical
It is the one-time investment as the company (host) has to buy the storage and a small part of it can
be provided to the many companies which save the host from monthly or yearly costs. Only the
amount which is spent is on the basic maintenance and a few more expenses which are very less.
8. Security
Cloud Security, is one of the best features of cloud computing. It creates a snapshot of the data
stored so that the data may not get lost even if one of the servers gets damaged. The data is stored
within the storage devices, which cannot be hacked and utilized by any other person. The storage
service is quick and reliable.
9. Pay as you go
In cloud computing, the user has to pay only for the service or the space they have utilized. Thereis
no hidden or extra charge which is to be paid. The service is economical and most of the time some
space is allotted for free.
10. Measured Service
Cloud Computing resources used to monitor and the company uses it for recording. This
resource utilization is analyzed by supporting charge-per-use capabilities. This means that the
resource usages which can be either virtual server instances that are running in the cloud are
getting monitored measured and reported by the service provider. The model pay as you go is
variable based on actual consumption of the manufacturing organization.
Components of Cloud Computing:
Successful implementation of cloud computing requires proper implementation of certain
components. Without any of these components cloud computing will not be possible. The
Components of the Cloud Computing are as such:
• The Clients
o The hardware components, the application and anything else developed for cloud
computing will be used in the client.
o The client could come in two types:
▪ The hardware component
▪ The combination of software and hardware components.
• The Services
o One of the main reasons cloud computing become popular is due to the adoption of
businesses as the easier way to implement.
o Cloud computing is all about processes and the services launched through cloud
computing always has to deal with processes with an expected output.
o The optimization on services is based on two things: the proper development of the
application and the end user. Sometimes the service could be used by the user wherein
their experience is greatly affected by their
gadget.
• The Applications
o This service is often all the same as the application.
o Although the application is entirely different because it is
the application that decide the service is acknowledged.
o This is where software developers have to focus in terms of
ensuring the application will work as expected.
o Optimization of the application is based the actual coding
of developers. Through extensive testing on load handling,
security and functionality, the application could work as
expected.
o Computing is always about consistency and availability of service which will naturally
require the storage to be available all the time.
• The Infrastructure
o Every function, service and the ability of storage to provide the needed data is only
possible through optimized infrastructure.
o This could be considered as the platform behind the storage as the infrastructure helps
the storage deal with load problems.
o The infrastructure is a platform wherein it weights the ability of the storage against the
number of requests. The infrastructure has the ability to make some changes by load
balancing and even management.
Challenges:
Cloud computing provides a number of benefits and advantages over the previous computing
paradigms and many organizations are adopting it. However, there are still a number of challenges
which are briefly described below.
The Cloud Computing is getting implemented in almost all companies as the companies are in need
to store the data. A tremendous amount of data generate and store by the companies. So there are
lots of security issues faced by them. To improve the cloud computing management the companies
can include establishment to simplify and automate the process.
i. Security and Privacy of Cloud
The data store in the cloud must secure and provide full confidentiality. The customers rely on the
cloud provider so much. This means that the cloud provider should take necessary security
measures to secure the data of the customers. Securities are also the responsibility of the customer
as they should provide a strong password, should not share the password with anyone, and regularly
change the password when we did. If the data is outside the firewall there may be some issues
which can eliminate by the cloud provider. Hacking and malware are also one of the major
problems as it can affect multiple customers. Hacking can lead to data loss; disrupt the encrypted
file system and many other problems.
v. Downtime
Downtime is the common challenges of cloud computing as no cloud provider guarantees a
platform that is free from downtime. Internet connection also plays an important role as if a
company has an untrustworthy internet connection then there may be a problem as they can face
downtime.
The process of the seven-step migration into the cloud is given in the figure below:
Fig 1.3: Seven Step Model
In the cloud migration firstly the assessment has to be done for the cost in the cloud migration,
functionality & database needed and after that the isolation of the environment and dependencies
has to be checked out for the cloud after that the mapping has to be done between all the libraries as
per the cloud environment. Now the new analysis performed on the new design for getting the new
use-cases. In the augment step of migration process the security & bandwidth requirement used to
be calculated. Now test the whole new cloud developed by the organization as per there need for
checking whether it is working proper or not? In the optimize step the proper working of the cloud
has been maintained by using the concept of ROI.
The workings of all the seven steps are as such:
Assess Isolate Map Re- Augmen Test Optimize
Architect t
features
NFR Architectur al
Support Dependenci
es
This is just a subset of our Seven-step Migration Model and is very specific and proprietary to
cloud offering by many organizations in the market.
Risks:
The biggest risk to any cloud migration project is how effectively the migration risks are identified
and moderated. In the Seven-Step Model of Migration into the Cloud the process step of testing and
validating includes efforts to identify the key migration risks.
Migration risks in migrating into the cloud fall under two broad categories:
• The general migration risks
• The security-related migration risks
The several risks are there in the migration into the cloud including:
• Performance, monitoring and tuning essentially by identifying all possible production level
deviants
• The business continuity and disaster recovery in the world of cloud computing service
• The compliance with standards and governance issues
• The IP and licensing issues
• The quality of service (QoS) parameters as well as the corresponding SLAs committed to the
ownership, transfer, and storage of data in the application
• The portability and interoperability issues.
On the security basis cloud migration risks are visible at various levels of the enterprise application
as applicable on the cloud in addition to issues of trust and issues of privacy. There are several legal
compliances that a migration strategy and implementation has to fulfill including obtaining the right
execution logs as well as retaining the rights to all audit tracks at a detailed level which currently
may not be fully available.
Government
o Governments can use the Cloud to bridge the communication gap with those citizens that
reside in remote parts of the country.
o The Cloud could also be used to increase inter-operability between various government
agencies, reduce redundancy, track & monitor the effectiveness of government schemes.
o Computing resources shared between Central and State governments would result in
reducing costs by leveraging existing infrastructure.
o Transparency in Government can be achieved at a faster pace through the adoption of Cloud.
Healthcare
o The Cloud is a paradigm shift in the use of Healthcare Information over the internet which
enables stakeholders to focus more on their core competencies.
o In the case of the Healthcare industry it would provide for the seamless management and
access to Electronic Health Records (EHRs) of patients. This would facilitate the
provisioning of healthcare products and services to patients located in remote areas and
those that have limited access to quality medical services.
o The use of the Cloud could possibly result in consolidation of IT assets for Healthcare
service providers. The creation of an integrated Healthcare ecosystem would help the
providers of healthcare services make available the best of services to patients.
Education
o The Cloud would prove to be the catalysts that will enable the sector overcome barriers such
as the challenges of high cost, limited reach and quality.
o The Education sector which has already embraced the use of the Cloud for email services
could now consider moving critical applications such as Virtual Learning Environment
(VLE), Learning Management Systems (LMS) and Student Information System (SIS) into
the Cloud.
o The Cloud could make the Education system more collaborative and innovative with unique
resources readily available to all students. This could change the way in which education is
delivered and financed.
Internet of things
The Internet of Things refers to the ever-growing network of physical objects that feature an IP
address for internet connectivity, and the communication that occurs between these objects and
other Internet-enabled devices and systems. oT (Internet of Things) is an advanced automation and
analytics system which exploits networking, sensing, big data, and artificial intelligence technology
to deliver complete systems for a product or service. These systems allow greater transparency,
control, and performance when applied to any industry or system.
IoT systems have applications across industries through their unique flexibility and ability to be
suitable in any environment. They enhance data collection, automation, operations, and much more
through smart devices and powerful enabling technology.
This tutorial aims to provide you with a thorough introduction to IoT. It introduces the key concepts
of IoT, necessary in using and deploying IoT systems.
The Internet of Things(IoT) can be defined as a network of physical objects or people called
"things" that are embedded with software, electronics, network, and sensors which allows these
objects to collect and exchange data.
The goal of IoT is to extend to internet connectivity from standard devices like computer, mobile,
tablet to relatively dumb devices like a toaster. IoT makes virtually everything "smart," by
improving aspects of our life with the power of data collection, AI algorithm, and networks.
The thing in IoT can also be a person with a diabetes monitor implant, an animal with tracking devices,
etc.
History of IOT
The entire IOT process starts with the devices themselves like smartphones, smartwatches,
electronic appliances like TV, Washing Machine which helps you to communicate with the IOT
platform.
1) Sensors/Devices: Sensors or devices are a key component that helps you to collect live data
from the surrounding environment. All this data may have various levels of complexities. It could
be a simple temperature monitoring sensor, or it may be in the form of the video feed.
A device may have various types of sensors which performs multiple tasks apart from sensing.
Example, A mobile phone is a device which has multiple sensors like GPS, camera but your
smartphone is not able to sense these things.
2) Connectivity: All the collected data is sent to a cloud infrastructure. The sensors should be
connected to the cloud using various mediums of communications. These communication
mediums include mobile or satellite networks, Bluetooth, WI-FI, WAN, etc.
3) Data Processing: Once that data is collected, and it gets to the cloud, the software performs
processing on the gathered data. This process can be just checking the temperature, reading on
devices like AC or heaters. However, it can sometimes also be very complex like identifying
objects, using computer vision on video.
4) User Interface: The information needs to be available to the end-user in some way which
can be achieved by triggering alarms on their phones or sending them notification through
email or text message. The user sometimes might need an interface which actively checks their
IOT system. For example, the user has a camera installed in his home. He wants to access video
recording and all the feeds with the help of a web server.
However, it's not always one-way communication. Depending on the IoT application and
complexity of the system, the user may also be able to perform an action which may create
cascading effects.
For example, if a user detects any changes in the temperature of the refrigerator, with the help of
IOT technology the user should able to adjust the temperature with the help of their mobile phone.
IoT Applications
IoT solutions are widely used in numerous companies across industries. Some most common IoT
applications are given below:
Smart Outlets Remotely turn any device on or off. It also allows you
to track a device's energy level and get custom
notifications directly into your
smartphone.
Smart City Smart city offers all types of use cases which include
traffic management to water
distribution, waste management, etc.
Challenges of IoT
Advantages of IoT
Disadvantages IOT
• Security: IoT technology creates an ecosystem of connected devices. However, during this
process, the system may offer little authentication control despite sufficient security
measures.
• Privacy: The use of IOT, exposes a substantial amount of personal data, in extreme
detail, without the user's active participation. This creates lots of privacy issues.
• Flexibility: There is a huge concern regarding the flexibility of an IoT system. It is
mainly regarding integrating with another system as there are many diverse systems
involved in the process.
• Complexity: The design of the IOT system is also quite complicated. Moreover, it's
deployment and maintenance also not very easy.
• Compliance: IOT has its own set of rules and regulations. However, because of its
complexity, the task of compliance is quite challenging.
IOT Best Practices
Summary
• The Internet of Things (IoT) is a network of physical objects or people called "things" that
are embedded with software, electronics, network, and sensors which allows these objects
to collect and exchange data.
• The actual idea of connected devices was proposed in 1970
• Four Key components of IoT framework are 1) Sensors/Devices, 2) Connectivity, 3) Data
Processing, 4) User Interface
• Various applications of IoT are Smart Thermostats, Connected Cars, Activity Trackers,
Smart Outlets, Connect Health, etc
• Technical Optimization, Improve Data Collection, Reduced Waste, Improved Customer
Engagement are key benefits of IoT
• Security, Privacy, Complexity, Compliance, are key challenges of IoT