Cloud Computing Iot
Cloud Computing Iot
In this lecture, we study Cloud Computing. We consider what it means for something to
“be on the cloud” and look at Utility Computing and Grid Computing – two early
paradigms for the power that Cloud Computing can bring. We then study four different
types of Cloud Computing in use today: Infrastructure as a Service (IaaS), Platform as a
Service (PaaS), Serverless, and Software as a Service (SaaS).
Next, we look at a related but distinct type of computing – variously referred to using the
interrelated terms Edge Computing, Fog Computing, or Mesh Computing. As we discover,
this type of computing has some real advantages in certain distinct cases, including
remote locations (such as offshore platforms) and for the military. In addition, this type
of computing has important uses for the Internet of Things.
We conclude the lecture with a discussion of the Internet of Things (IoT). We look at what
it is and what are some of its uses. We take a look at some issues that may occur with IoT,
including heightened security and privacy issues.
- Early on the paradigms of Utility Computing or Grid Computing1 provided a conceptual view of
what cloud computing might look like.
o These terms are closely tied together.
▪ The term Utility Computing comes from the concept of a public utility such as a
water or electric utility.
▪ Grid Computing comes from the concept of the electric grid.
o In both cases, the idea is that there should be computing capability available to users that
users can tap into as simply as we can access electricity from the electric grid.
o Computing under the Grid Computing and Utility Computing models provides
tremendous benefits to companies.
▪ They provide tremendous flexibility and agility to a company.
▪ This is in very sharp contrast to the traditional model where I would have to
estimate how many computers I needed in advance.
• If I overestimated, I would be wasting resources.
• If my needs changed, I might be wasting resources.
• If I underestimated, I would need to order more and would have to wait
until they arrived and were installed before I could meet customer
demand.
o Another potential benefit provided by these models is that the computers aren’t located
at my company.
▪ My provider is likely to provide a more secure location than a small company can
provide.
▪ Similarly, the computers are likely to have more reliable access to electricity
(along with backup generators) and more reliable Internet access than many
individual companies would have for their own computers.
▪ I can have redundant computers at multiple locations, ensuring that my own
customers have access even if one of the computers fails or a natural disaster
such as a hurricane occurs.
1These terms are more or less used interchangeably. From what I can tell, Utility Computing tends to
focus more on the cost structure, whereas Grid Computing tends to focus more on the idea that
computers are physically out somewhere on a grid that we can remotely access.
2
▪ Moreover, I can have computers around the world, giving global customers low
latency access to my own services.
- While not all Cloud Computing provides the benefits envisioned by Utility and Grid Computing,
Cloud Computing services provide at least some of the benefits foreseen by these models.
o These terms are still used and offer a useful way of thinking about the benefits Cloud
Computing can give.
o The Infrastructure as a Service (IaaS) model is the closest of the Cloud Computing models
to my company just having its own servers.
▪ In both cases, we need an extensive IT staff that is very knowledgeable and is
able to configure our computers and keep them well maintained and updated.
▪ However, in IaaS, while I don’t get the easy “simply plug things in” capability
envisioned by Utility and Grid Computing, I do get many of the other benefits.
• I can easily add or remove computer resources as needed. I do not need
to await for the arrival of actual physical hardware, nor am I responsible
for physically installing the hardware.
• My hardware is stored in a well-protected location with good power
backup and good Internet access.
• I can choose to have redundant servers in different locations and I can
choose to locate my hardware anywhere around the world.
o With Heroku
▪ I write my application in any of the supported languages.
• This includes JavaScript Node.js, Ruby, PHP, Python, and Java.
▪ I store my code using Git.
2In cloud computing a computer instance may represent an actual physical computer, or it may
represent a part of a computer where my work is placed in a sandbox separate from other users who
may also placed on the same computer. These are sometimes referred to as Virtual Private Servers
(VPS).
3
• Git is a popular version control system, which is used by software
developers to store different versions of their source code.
▪ I instruct Git to send my code to Heroku.
▪ That’s pretty much it, my code is now running live on the Internet.
▪ I do have the option to add extra computer instances and the option to choose
some add on packages (such as choosing to include a database).
▪ However, in contrast to Infrastructure as a Service (IaaS), I’m not setting up my
own network and configuring my own computers.
• I can’t even access many aspects of the Operating System on the Heroku
computer instance I’m using.
• I just put up my application on the instance, and Heroku takes care of
the rest.
Serverless
o In the severless model, I don’t set up any computing instances. Not only am I not
responsible for maintaining and keeping computer instances updated, this model isn’t
concerned with computer instances at all.
o Amazon AWS Lambda is an example of the serverless model.
o SaaS provides a number of potential advantages for both the company providing it and
the company using it.
▪ For customers, SaaS means that their IT department does not have to worry
about maintaining and patching computers to ensure that the latest version of
the software is available.
• If you’re editing a Google Spreadsheet, then you’re using the latest
version of the software. The software is actually on Google’s server (or
downloaded via JavaScript to the web browser when you open a Google
Spreadsheet). The application is not installed on your own computer,
so there’s no way for your “version” to end up out of date or missing a
security patch.
▪ SaaS software often takes advantage of its “on the network” nature to provide
core collaborative features that might be simply an afterthought on traditional
desktop applications.
▪ As SaaS usually requires a subscription, the providing company has a steady
income stream.
4
▪ SaaS also acts as its own form of copy protection. If you don’t have a paid
subscription, you can’t access the software, and it can’t be pirated.
o This type of computing often involves peer-to-peer computing, although it may also
involve servers which are on the edge.
o The term Fog computing uses the word “Fog” to provide a contrast to “Cloud”, evoking
the idea that Fog computing is somewhat similar to Cloud Computing, but also has
differences.
o A Mesh Network is a more decentralized network than traditionally networks. It may be
formed in an ad hoc manner. It may be more robust than a traditional network.
- What are the benefits of computing on the edge rather than on the cloud?
o Edge Computing works well in locations that have poor or intermittent Internet access.
▪ General Electric GE Digital, for example, notes that Edge Computing can be
particularly beneficial in situations such as offshore platforms or remote mines.
o Because most of the data is being handled close by, rather than not being sent across the
wider Internet Edge computing has:
▪ reduced bandwidth requirements
▪ reduced latency requirements 3
- Edge Computing can be used in conjunction with Cloud Computing, with some of the data handled
by relatively local Edge Servers, but additional requests sent on to servers further out in the Cloud.
- Edge Computing often involves devices working in conjunction with more traditional computers or
mobile devices. These devices often fit into the category referred to as “The Internet of Things”.
3Remember bandwidth refers to how much and how quickly our network can send data. Latency
refers to how much of a delay exists before our data arrives at its destination.
5
The Internet of Things (IoT)
- The Internet of Things consists of devices connected to the Internet that aren’t what we would
generally think of as computers (or even mobile computers).
- Let’s take a look at examples in a few different realms.
o Devices within the Internet of Things found in a “Smart Home” might include:
▪ Smart Lightbulbs,
▪ Sensors (which might be used to track which rooms have people in them),
▪ Thermostats,
▪ Smart Speakers (which allow your music to follow you from room to room).
o Dorms
▪ One of the better uses of IoT that I’ve seen is that the Stanford dormitories have
laundry machines and dryers on the Internet. A student needing to do their
laundry can check whether or not a washer is available without having to go
down to the basement. They can also check the status of their laundry loads.
o There are quite a few devices in Cars and Transportation Infrastructure that could count
as IoT.
▪ The car itself contains multiple devices that could use the IoT to communicate,
including navigation systems, entertainment systems, heating a/c, or even
engine sensors and actuators.
▪ Cars can pass information to one another on road conditions.
▪ Sensors can be embedded within roads or at traffic lights.
▪ Parking meters can be integrated into the Internet, letting someone see where
parking spaces are available or how much time is left on their meter.
▪ Sensors can be used to allow engineers to keep track of the health of
infrastructure such as bridges.
- Industrial use of the Internet of Things is often distinguished as forming its own category. This is
sometimes referred to as IIoT (Industrial Internet of Things).
o Usage scenarios for IIoT include:
▪ Instrumenting an industrial process and including sensors and Internet actuated
controllers.
▪ Inventory management potentially done with RFID tags (more on this below).
▪ Fleet Monitoring.
▪ Security such as motion sensors, cameras, and lights.
o Radio Frequency IDs (RFIDs) are particularly useful for IIoT applications.
▪ An RFID is similar to the ubiquitous bar codes found on all products sold in
grocery stores and many other types of stores.
• An RFID allows us to give different items an ID number.
• However, in contrast to a barcode, an RFID can communicate remotely
with an RFID reader.
▪ Ranges of RFID readers vary, but typically if the reader is within 1 meter it can
read the RFID tag. Proposals exist for reader / RFID combinations that have
ranges as far as 200 meters.
• Most RFIDs do not need its own power supply, but rather their circuitry
will be triggered and powered by the remote RFID reader.
▪ A sample scenario for RFID is inventory management.
• Currently employees need to individually count boxes on the store shelf
to provide an accurate inventory count.
• With RFIDs, an employee can simply walk down each aisle in the store.
The RFID reader will query each product on the shelf, and their RFID
tags will respond with their ID number.
6
• Inventory counting immediately goes from a major undertaking,
involving many employees, to just a minor choir any employee can do
in just a short time.
▪ As RFID prices drop, they will become increasingly useful. Currently they are
about 15 cents per RFID, which is still too high for many scenarios. For example
using it for store inventory might raise the cost of everything in the store by 15
cents.
- Just as there are industry packages designed to provide Cloud Computing support, computer
companies are providing support for IoT development.
o The IBM Watson IoT platform, for example, provides:
▪ real-time data collection and analysis from IoT devices,
▪ machine learning to process the information gathered,
▪ security measures to help keep IoT safe.
4As you may recall from Lecture #8 Internet Protocol Version 4 (IPv4) only gives us about 4.3 billion
addresses. That’s not enough if every device in the house and out on the road is on the Internet. IPv6
allows for 3.4x1038 addresses.