Part 1 – Cloud Infrastructure Diagram
Internet of Things (IoT) refers to the concepts of working with the network devices by sensing and gathering the data from the real-time environment. Then the data will be shared via the internet by processing and using it for various purposes. It comprises of smart equipment where it is used for interacting and interconnecting with the other equipment, infrastructures and environment. People are connected to establish communication where the popular way of communication is via the internet so it is another wise known as communication world. The main perspective of IoT is to improve the daily lives of the people. When the internet is connected with the things connected to household appliances to provide the services as a whole (Challita, Zalila and Merle, 2018).
IoT and cloud computing technology plays a major role in demand computing resources. There are a lot of devices that are accessing the computing resources in the cloud. This kind of technology is widely used in places where a huge bulk computer can’t be placed instead of that a small microprocessor and sensor can be placed which sends the data to the servers that are running in the cloud. There are multiple vendors of cloud computing resources like Google, IBM and AMAZON. The advantage of using these services are they can be accessed from anywhere and they can be customized according to the business needs. In our design, we are going to describe a detailed design for small-medium enterprise for designing cloud-based IoT solutions. When deploying IoT devices there are particular standards and levels for choosing the design. The devices are connected in the network to form a Connected infrastructure. This access to resources can be operated from anywhere and operated at any time so it better for the organization to minimize the setup and maintain the reasonable cost of the systems(Challita, Zalila and Merle, 2018).
The objective of the task is to build an effective solution for a small-medium enterprise that can use sensors and other IoT devices in the network and the deployment zone. The computing and storage process is done with Google cloud.
We are using the sensor as the endpoint in the design. The sensors are going to collect the data from the real-time environment. Our deployment is going to collect the data from the devices which are in the home like the AC, thermostat, temperature sensor and lights. These devices are independent so the data which is accumulated can be used to reduce the electricity bills and also improve the usage of devices more efficiently. The design is going to function between different regions and there is going to be multiple factors because of the region’s specifications like the power voltage that may differ and home voltage may differ in multiple regions. These are an important factor to give the user a correct and accurate data. Let’s consider a house with light fans and TV and other smart devices that are attached to it. We need to combine all the devices with the help of unique ID these IDs are used for devices to communicate with each other. A central device is placed in the house that acts as the master and the devices which are attached to are the slaves. The master node can be accessed remotely with the help of a web API or a web application. When we are using Google Cloud to support the master nodes, we need to customize according to the region because the web application is going to be designed for the multi-vendor so a greater number of devices are connected to the network(Challita, Zalila and Merle, 2018).
Part 2 – YAML Configuration Files and Jinja/Python Templates
For the system to work as a proper functioning system we need to form the cloud services components, we are taking an instance in Google cloud running a Linux machine. They should have a minimum of 8 cores and 32 GB of ram and ITB storage space. We are going to use DNS for public and private network access. The master devices are attached to the endpoints in the network and the master device will allow communication from the public to the private network. Thus, we have the IoT core in the Google cloud platform that is going to record all the metrics of the system then we are deploying loading balancer in the system. The load balancer is used to distribute the load to the server. The server might not respond or takes time to respond because of a greater number of request spikes at a time since we are using the load balancer to run the system more smoothly. Then we using the series Archives to store the data. We are going to run the devices for years and it is going to collect the same data for months to years as it much needs to have an archive system that is built-in so we are using the series archive service in Google cloud.
The data which is collected in the cloud can be studied and it can be formulated in a model. This model represents the IoT device’s behavior. Pattern analysis also can be done in the form of charts and graphs so the support team could monitor the devices and the data which is sent to the server also can be monitored by the customer. They can tweak the settings and attributes if the requirement is needed. For example, let us take the home automation system. People who want the same temperature to be maintained and they want the same lights to be switched on a specific time. From the data we have collected from the sensor we can just create a template for the user so that he can quickly access the setting and control the required devices at the right time. This controls the flow of the cost(Challita, Zalila and Merle, 2018).
The important feature of the system is scalability is we can increase the system feature without the physical manipulation of the hardware and downscale when not needed. This also provides data to predict insights from which we can provide to the master server to improve the server operations. AI (Artificial Intelligence) and ML (Machine Learning) can be used to train the system to predict the system when are they getting more loaded and when they not using the resources.
Internet of Things (IoT) and Cloud Computing
The Cloud vendors are framing a set of tools to deploy tool devices in this platform. We can observe that the customers can use as much of the resources as they need to access the services which they cannot afford on-premises. This kind of service will be useful for small and medium enterprises.
The microcontroller doesn’t have much storage space so complex programming and dynamic programming are difficult when the IoT devices work in the remote region. For example, in the olden days, we used floppy disk if we need to run a big program. We can simply swap disk on the other but here the storage space of a microcontroller is very less so complex program is not possible only on the localization this is where IOT core comes into the picture. The Services are going to run on specific protocols like MQTT and HTTPS and the protocols are required for the devices to communicate properly in the network. Publish and subscribe is used by the MQTT to retrieve the data from the server. MQTT protocol subscribes to an interesting topic that can send data only for the specific devices.
In our design, we are implementing IOT devices with load balancing so the following metrics should be followed (Tsai and Moh, 2017):
Certain metrics are considered when the devices are deployed in a real-time environment. The devices need certain updates to the existing system like the firmware, application code, Cloud device interactions and Supporting systems(Tsai and Moh, 2017).
There might be a certain kind of software which are running on the devices. This software might be an operating system or a ROM which is embedded in the devices. This software is used to operate the devices and communicate the host devices with private and public networks. Firmware is much needed because there are many layers in the network. The data should be passed through those layers to efficiently communicate with the receiver. The measurement for the firmware is how quickly the devices are responding to the client machine and it is loading and startup time is monitored
Application code is built based on the devices which are attached to some of the devices that have very low memory and low power. These devices cannot process a large amount of data and can’t do much local processing for a complex task. There are various versions of the application code that is built in the server. There is a separate server to test the code and these codes don’t disturb the normal function of the production environment. The measurement here is LOC (Lines of Codes) which is checked frequently where it improves the processing speed of the devices.
The external factor to the devices also places the device’s performance factor since this is one of the main reasons for IoT devices to be built smaller and faster. They can give a quick result and minimal human factor and low power consumption. For the devices to be standardized, it should allow the people to test in various environments since the same throughput cannot be achieved in different working environments where factors like load testing and stress testing the devices before it can be deployed in the environment.
Cloud interaction depends on the complexity of the devices which are deployed. This factor is important because a device should communicate with another device. If the devices are more in number and if one device waits for other devices to respond will make the waiting time more so the total system to get the final throughput so in IoT devices most of the signal is processed in cloud to reduce the latency in the system.
There are support systems that are used to keep the devices from failure. The system reports the devices which are running with real-time data. If a sensor is to be replaced this system indicates in the dashboard so the service or the maintenance team can change the devices before the system runs in to halt.
Conclusion
Technology in the IT industry is growing rapidly but it is difficult for the user to update to the latest hardware in a quick period. The OEM (Original Equipment Manager) is also leaving out the old hardware not providing an update to the devices which has supported in the industry for the past years. IoT devices which are attached with the network can get scheduled update from the server and also the server can be updated with minimal upgrading of hardware. Cloud computing providers take care of the hardware maintenance since they will provide the latest technology to the customer to be competitive in the market. The security standards are also maintained by cloud services providers. Google cloud platform gives the user the customization and total control of the IoT devices. There are API that is built for separate IoT prototypes and monitoring these low power devices also easy. There is a web application that is built for these devices which can show real-time data. The data can be visualized in the dashboard and can be customized for the user depending up the requirement without interrupting the device.
References
Challita, S., Zalila, F., Gourdin, C. and Merle, P., 2018, April. A precise model for google cloud platform. In 2018 IEEE International Conference on Cloud Engineering (IC2E) (pp. 177-183). IEEE.
Tsai, C. and Moh, M., 2017, December. Load balancing in 5G cloud radio access networks supporting IoT communications for smart communities. In 2017 IEEE International Symposium on Signal Processing and Information Technology (ISSPIT) (pp. 259-264). IEEE.