Cloud Storage Models
What is cloud storage?
Cloud storage is a service model in which data is transmitted and stored on remote storage systems,
where it is maintained, managed, backed up and made available to users over a network -- typically,
the internet. Users generally pay for their cloud data storage on a per-consumption, monthly rate.
Types of cloud storage
There are three main cloud storage options, based on different access models: public, private and
hybrid.
Public cloud. These storage services provide a multi-tenant storage environment that is most suited
for unstructured data on a subscription basis. Data is stored in the service provider's data centers with
storage data spread across multiple regions or continents. Customers generally pay on a per-use basis,
similar to the utility payment model. In many cases, there are also transaction charges based on
frequency and the volume of data being accessed. This market sector is dominated by the following
services:
• Amazon Simple Storage Service (S3);
• Amazon Glacier for deep archival or cold storage;
• Google cloud storage;
• Google Cloud Storage Nearline for cold data; and
• Microsoft Azure.
Private cloud. A private cloud storage service is an in-house storage resource deployed as a dedicated
environment protected behind a firewall. Internally hosted private cloud storage implementations
emulate some of the features of commercial public cloud services, providing easy access and allocation
of storage resources for business users, as well as object storage protocols. Private clouds are
appropriate for users who need customization and more control over their data or who have stringent
data security or regulatory requirements.
Hybrid cloud. This cloud storage option is a mix of private cloud storage and third-party public cloud
storage services, with a layer of orchestration management to operationally integrate the two
platforms.
How does cloud storage work?
Cloud service providers maintain large data centers in multiple locations around the world. When
customers purchase cloud storage from a provider, they turn over most aspects of the data storage to
the vendor, including security, capacity, storage servers and computing resources, data availability and
delivery over a network. Customer applications can access the stored cloud data through traditional
storage protocols or application programming indicators (APIs), or they can also be moved to the
cloud.
How cloud storage works varies depending on the type of storage used. The three main types are block
storage, file storage and object storage:
• Block storage divides large volumes of data into smaller units called blocks. Each block is
associated with a unique identifier and placed on one of the system's storage drives. Block
storage is fast, efficient and provides the low latency required by applications such as databases
and high-performance workloads.
• File storage organizes data in a hierarchical system of files and folders; it is commonly used
with personal computer storage drives and network-attached storage (NAS). Data in a file
storage system is stored in files, and the files are stored in folders. Directories and
subdirectories are used to organize the folders and locate files and data. A file storage-based
cloud can make data access and retrieval easier, with this hierarchical format being familiar to
users and required by some applications.
• Object storage stores data as objects, which consist of three components: data stored in a file,
metadata associated with the data file and a unique identifier. Using the RESTful API, an object
storage protocol stores a file and its associated metadata as a single object and assigns it an
identification (ID) number. To retrieve content, the user presents the ID to the system and the
content is assembled with all its metadata, authentication and security. Object-based storage
systems allow metadata to be customized, which can streamline data access and analysis. With
object storage, data can be stored in its native format with massive scalability.
Advantages and disadvantages of cloud storage
Cloud storage provides many benefits that result in cost savings and greater convenience for users,
compared with a traditional storage area networks (SAN). There also are shortcomings with cloud
storage -- particularly, the public services -- that make organizations hesitant to use these services or
limit how they use them.
Advantages
• Pay as you go. With a cloud storage service, customers only pay for the storage they use,
eliminating the need for big capital expenses. While cloud storage costs are recurring, rather
than a one-time purchase, they are often so low that, even as an ongoing expense, they may
still be less than the cost of maintaining an in-house system.
• Utility billing. Because customers only pay for the capacity they use, cloud storage costs can
decrease as usage drops. This is in stark contrast to using an in-house storage system, which
will likely be over configured to handle anticipated growth. A company will pay for more than
it needs initially, and the cost of the storage will never decrease.
• Global availability. Cloud storage is typically available from any system, anywhere and at
any time; users do not have to worry about operating system (OS) capability or complex
allocation processes.
• Ease of use. Cloud storage is easy to access and use, so developers, software testers and
business users can get up and running quickly without having to wait for an IT (information
technology) team to allocate and configure storage resources.
• Off-site security. By its very nature, public cloud storage offers a way to move copies of data
to a remote site for backup and security purposes. Again, this represents a significant cost
savings when compared to a company maintaining its own remote facility.
Disadvantages
• Security. Data security is the most cited factor that may make companies cautious about using
public cloud storage. The concern is that once data leaves a company's premises, it no longer
has control over how the data is handled and stored. Storing regulated data is also a concern.
Service providers have tried to allay those fears by enhancing their security capabilities with
data encryption, multifactor authentication (MFA), data storage in multiple locations and
improved physical security.
• Data access. Maintaining access to data stored in the cloud can also be an issue and could
significantly increase the cost of using cloud storage. A company may need to upgrade its
connection to the cloud storage service to handle the volume of data it expects to transmit. For
instance, the monthly cost of an optical link can run into the thousands of dollars.
• Performance degradation. A company may run into performance issues if its in-house
applications need to access the data it has stored in the cloud. In those cases, it will likely
require either moving the servers and applications into the same cloud or bringing the
necessary data back in-house.
• Cost. If a company requires a lot of cloud storage capacity and frequently moves its data back
and forth between on-premises systems and the cloud, the monthly costs can be high.
Compared to deploying the storage in-house, the ongoing costs could eventually surpass the
cost of implementing and maintaining the on-premises system.
IoT Communication Models:
A) Request-Response
B) Publish-Subscribe
C)Push-Pull
D) Exclusive Pair
A) Request-Response Request-Response is a communication model in which the client sends requests
to the server and the server responds to the requests. When the server receives a request, it decides
how to respond, fetches the data, retrieves resource representations, prepares the response, and then
sends the response to the client.
B) Publish-Subscribe communication model:
• Publish-Subscribe is a communication model that involves publishers, brokers and consumers.
• Publishers are the source of data. Publishers send the data to the topics which are managed by
the broker. Publishers are not aware of the consumers.
• Consumers subscribe to the topics which are managed by the broker.
• When the broker receives data for a topic from the publisher, it sends the data to all the
subscribed consumers.
C) Push-Pull communication model:
• Push-Pull is a communication model in which the data producers push the data to queues and
the consumers pull the data from the queues. Producers do not need to be aware of the
consumers.
• Queues help in decoupling the messaging between the producers and consumers.
• Queues also act as a buffer which helps in situations when there is a mismatch between the
rate at which the producers push data and the rate at which the consumers pull.
D) Exclusive Pair communication model:
• Exclusive Pair is a bidirectional, fully duplex communication model that uses a persistent
connection between the client and server.
• Once the connection is setup it remains open until the client sends a request to close the
connection. Client and server can send messages to each other after connection setup.
IoT Communication APIs:
a) REST based communication APIs(Request-Response Based Model)
b) WebSocket based Communication APIs(Exclusive PairBasedModel) Request-Response model
used by REST: RESTful webservice is a collection of resources which are represented by URIs.
RESTful web API has a base URI(e.g: [Link] The clients and requests to
these URIs using the methods defined by the HTTP protocol(e.g: GET, PUT, POST or DELETE). A
RESTful web service can support various internet media types.
b) WebSocket Based Communication APIs: WebSocket APIs allow bi-directional, full duplex
communication between clients and servers. WebSocket APIs follow the exclusive pair
communication model.
Using cloud platforms like AWS for IoT applications offers several key benefits,
including scalability, cost reduction, enhanced security, and improved data analytics. These
platforms provide the infrastructure and services needed to manage a large number of devices,
efficiently store and process data, and enable advanced analytics for valuable insights.
Here's a more detailed look at the benefits:
1. Scalability and Flexibility:
• Cloud platforms, like AWS, offer the ability to scale resources up or down on demand, allowing
businesses to adapt to changing needs and handle large volumes of IoT data.
• This scalability ensures that your IoT applications can grow with your business without the
need for significant upfront investments in infrastructure.
2. Cost Reduction:
• Cloud platforms often offer pay-as-you-go pricing models, reducing the need for large upfront
investments in hardware and infrastructure.
• This can lead to significant cost savings compared to traditional on-premises solutions.
3. Enhanced Security:
• Cloud platforms provide robust security features, including encryption, authentication, and
access controls, to protect sensitive IoT data.
• They also offer compliance certifications, ensuring that data is handled securely and in
accordance with relevant regulations.
4. Advanced Data Analytics:
• Cloud platforms provide powerful data analytics tools, enabling businesses to extract valuable
insights from the vast amounts of data generated by IoT devices.
• This can be used for a variety of applications, such as predictive maintenance, optimizing
operations, and improving customer experiences.
5. Simplified Device Management:
• Cloud platforms often include device management features that simplify the process of
connecting, monitoring, and managing a large number of IoT devices.
• This can reduce the complexity and cost of managing IoT deployments.
6. Interoperability and Integration:
• Cloud platforms are designed to integrate with a wide range of other services, including
databases, analytics tools, and machine learning platforms.
• This allows businesses to create comprehensive and integrated IoT solutions.
7. Reduced Development Time and Cost:
• Cloud platforms often provide pre-built components and services that can be used to accelerate
the development of IoT applications.
• This can significantly reduce development time and cost.
8. Improved Interoperability and Device Connectivity:
• Cloud platforms support various communication protocols, enabling easy connectivity
between different types of IoT devices.
• This makes it easier to integrate diverse IoT devices and applications.
9. Global Accessibility:
• Cloud platforms are accessible from anywhere with an internet connection, allowing
businesses to manage and monitor their IoT deployments from a single location.
• This can be particularly useful for businesses with a global presence.
10. Data Storage and Management:
• Cloud platforms provide scalable and cost-effective data storage solutions, enabling businesses
to store and manage the vast amounts of data generated by IoT devices.
• This can be particularly important for businesses that need to analyze historical data for trends
and insights.