Cloud computing is a general term for the delivery of hosted services over the internet. Cloud computing enables companies to consume a resource, such as a virtual machine (VMs), storage or an application, as a utility — just like electricity — rather than having to build and maintain computing infrastructures in house. In IoT one step ahead we separate all the major components as Micro Services. Major providers like Azure and AWS are providing micro services like Gateway, Databases, Streams, Analytics, etc.,
“Micro Services are a way of breaking large software projects into loosely coupled modules, which communicate with each other through simple APIs.”
The major advantage of these separated services is if any big issue occurs the data loss will not occur or it may be minimal and controllable. Each service can be paid individually based on their usage so user can have more flexibility on pricing.
The following are the major components of IoT System Architecture
- Application Processors
Gateways are the entrance part where the protocols which are defined and the nodes are mapped. Some of the major protocols that we use are TCP, UDP, FTP, HTTP and specially MQTT. These protocols will have their own port numbers through which the device can connect.
Streams are the data processors at a bit higher level where validation and filtering will happen and data will be stored to the databases for further processing.
Application Processors are simple Servers like Tomcat or Apache which are specifically created for the application and ensures that the application will be always up.
Storage as a service is a key method to reduce the data losses. As we are moving from Relational Databases to Non-Relational Databases these Micro Services will help us to store and retrieve data easily.
Analytical services will provide us the provision to create our own statistical models and arrange & segregate the data based on the models we created.
Overall these separated Micro Services will work together to connect all the things to the internet and ensure that we experience the applications of future seamlessly.