Today cloud solutions provide many useful web services which are cloud tools or applications providing specific work for you e.g. database web service (DynamoDB at Amazon) provides data tables where you can store your data in very similar way to your PC with Excel, or other service provides an execution space where you can run your software code and much more.
Cloud is placed out of your infrastructure and you can make your own decision whether you need it or not. Logimic IOT Control platform enables work with or without cloud. This is important for isolated solutions where is none internet connectivity. In such case everything is executed and stored on gateways and users can connect their end devices like dashboards, control panels, cell phones, PCs directly to gateway.
There is no right or wrong cloud platform, there are more platforms from big players and they offer similar and also specific web services. They differ in price models therefore we usually offer the best alternative for specific customer solution.
There are thousands of services for many specific areas. Let’s talk about the most useful and frequent services in our applications.
This service receives MQTT messages from gateways and provide them for further work e.g. for data storage, for routines executing tasks, for client dashboards and more. The service can filter and resend message. Main task is also handling of SSH secured messaging.
Of course storage of data in SQL or non-SQL databases. These databases are reachable by other services for getting or storing data and also for end customers and their tablets and cell phones. Cloud services are scalable therefore you do not have to be worry about “size of harddisk” or hardware issue.
Virtual machines or routines
These services provide an execution of user code written in many programming languages. You can for instance ensure that when MQTT message arrives save it to database and by its content do something else, or you can operate virtual web server, web shop and more.
Anybody wants to be informed what his application does therefore clouds are powerful tools for automatized sending of e-mails, SMS, application notifications even phone calls. You can programmatically send any such message e.g. by receiving MQTT message from gateway with “Alert” in title you can generate and send e-mail to customer.
User accounts, authentication and authorization
Specific web services maintain database of users that can log into your software dashboards, control panels, web application, mobile apps and more… Web services ensures authentification and authorization, application of policies on your software, gateways and devices.
How to connect cloud
Gateways are usually connected via MQTT (Message Queuing Telemetry Transport) to Message Broker handling messages. The message broker supports MQTT protocol to publish and subscribe and the HTTPS protocol to publish. Both protocols are supported through IP version 4 and IP version 6. The message broker also supports MQTT over the WebSocket protocol. over http or websockets.
Client applications (web or mobile applications) are connected via REST-API or Websockets. Cloud provider usually also provide API and SDK for simple integration of communication on gateway or client side.
There are thousand and thousand of web services. You can use these you need and of course you pay for them. The right architecture of cloud solution also takes into account an execution and maintenance cost of solution. For instance you can have great free MQTT transfer of data from gateways to your cloud storage, but the cost of cloud storage is too high or can be high when you want to download all bulk of data.
Based on all that we have to choose right provider and right web services, mostly very much tied to specific IoT application.