Over the last few years, we have witnessed a tremendous increase in IoT products worldwide. IoT involves many devices that are connected over the internet and are used to carry out processes and services that enhance human living.
Almost every person owns an IoT device in this era of smart living, smart homes, smart industries, smart transportation, and smart cities, among others. These connected devices collect massive amounts of data on a daily basis. According to Gartner, there will be more than 20.4 billion connected devices by the year 2020. This means more and more data will continue to be generated.
Integration of Cloud Computing into IoT
The huge amounts of data generated from IoT devices coupled with many transactions they perform cause a significant strain on the internet resources and this lead to the integration with cloud computing. In reality, cloud computing and IoT are tightly coupled. The growth and development of IoT and related technologies are mainly dependent on the availability of cloud services.
Cloud computing offers a wide range of services to IoT such as data storage, processing, and analysing. Cloud computing also allows IoT device users to carry out common computing tasks using services that are entirely provided over the internet. Integrating IoT and cloud computing, especially in an enterprise environment, is very cost-effective. The enterprise does not have to own all the devices, platforms and services but can hire from the cloud service providers.
The mobile IoT devices such as smartwatches collect data at different locations and may need to access these data at any time. The cloud enables the devices to store data and access it from any location.
Roles of Cloud computing in IoT
1. Provides Remote Services
Cloud computing provides IoT devices with services such as processing power, applications, and data storage. The IoT devices can access these services remotely from any place on the planet as long as there is internet access. This relieves the IoT devices from having to depend on on-premise infrastructure. The cloud offers services in three delivery models, that is, infrastructure as a service (IaaS), platform as a service (PaaS), and software as a service (SaaS).
IaaS model involves the provision of software and hardware resources that IoT devices use. Processing power, storage, and analytics are the most used services by IoT devices. PaaS model provides the environment required for the development and provisioning of cloud applications. Developers use this service to develop IoT applications and run them. Different languages are supported. This model links data storage, computing resources, and the communication channels to provide stability to applications running on the cloud.
Several cloud providers have come up with IoT-specific services. Amazon Web Services (AWS) has AWS IoT Core, AWS Greengrass, and AWS Kinesis, among others, which offer different services to IoT deployments. Microsoft Azure has Azure IoT Edge and Azure IoT Hub for providing tailored services to IoT applications.
2. Allow Scalability
Hosting your application on the cloud gives an unlimited room for scalability, which cannot be provided by the on-premise infrastructure. Scaling on the on-premise infrastructure may be very expensive as it would require buying more hardware, increased configurations, and more deployment time. When scaling on the cloud is less expensive as it just involves leasing more storage space. The cloud also offers flexibility, enabling you to scale up or down the number of IoT devices and applications that you can use.
3. Provide Security
IoT devices collect all types of data, including sensitive data such as health, financial and personally identifiable information (PII). This data requires protection from privacy and integrity breaches by malicious actors. Cloud computing provides a secure storage environment for this data which is monitored all the time. The cloud also ensures regular updates to their platforms, firmware, and applications to eliminate known vulnerabilities.
4. Allow Collaboration
Cloud computing has broad network access and thus connects many IoT developers. Cloud computing enables those developers of IoT products to be able to collaborate with ease. The developers use the cloud IoT platforms in building IoT apps and can work with others in remote locations on one project. Collaboration ensures timely project delivery and quality products. Additionally, applications can share data over cloud platforms.
Issues in using the cloud for IoT
Several issues have arisen concerning the use of cloud computing to provide services to IoT devices and applications.
When an IoT device collects data, it transmits it over the internet to the cloud for processing, analysing and storage, and in some cases download the analysed data for use. The sending and receiving of data between the cloud and the device take some time, could be a few milliseconds, due to latency. If the data was required by the device to use it for the next activity, then latency delays the event. These delays may be fatal in areas where quick action is needed, such as in the health and safety sector. For instance, when crashing of a smart Autonomous Vehicle is imminent, you do not wait for it to communicate with the cloud to make a decision to swerve aside. The crash will occur before the vehicle receives the data from the cloud.
Ownership of Data
When IoT devices store data in the cloud, its ownership between the device user and the cloud is a problem. The cloud service provider can access the data, thus breaching its privacy. This is a major problem, especially where sensitive data such as health data is compromised. The cloud service providers may claim ownership of data stored in their clouds.
Any interruption of the connection between an IoT application and the cloud means that the application will not function and crashes until the link is repaired. This may not have a significant impact on some IoT applications such as those in smart farming, but to those in the smart health, a major catastrophe can occur. Therefore there is a need to avoid crashes at any time.
Cloud computing has many benefits to IoT since it provides crucial services. The growth of IoT is largely dependent on the availability of cloud services such as storage and computing power.