The Internet of Things concept is one of the leading trends in the field of software development. Nowadays, all kinds of applications for goods and personal tracking, video surveillance system interaction, patient life support, smart houses and other purposes are being created based on IoT. What does this mean? Many developers are directing their work to IoT due to its high demand. In this article, we review the top Internet of Things platforms.
Selection Criteria for platforms for Internet of Things 2017
Typically, the cost of using the platform includes some or all of the following components: annual/usage, service, and technical support fees. Depending on the vendor, the first component may be free, due to the open source model. What does this mean in practice? Freely distributed software makes IoT development more affordable for small IT companies that cannot raise large funds for the creation of new projects.
2. Capabilities for integration with third-party solutions
Only rare IoT platforms are capable of providing the full set of tools needed to create highly specialized applications with complex business logic. Thus, developers resort to third-party functional solutions, if the policy of the chosen IoT platform allows this.
3. Technical support
Some IoT platform creators provide both commercial and public customer support, though the latter, being free of charge, may not be as advanced as the paid option. Nevertheless, in the overwhelming majority of cases, solutions to typical problems can be found in topical forums.
4. Network model
Modern IoT applications can be based on three different network architectures: Point to Point, Hub and Spoke, and Mesh Networks. The choice in favor of specific architecture is made depending on the features of the application itself, as well as approaches used by programmers during development. In particular, Point to Point architecture is used to create applications that allow communication between two separate IoT devices (for example, a fitness bracelet and a smartphone). The Hub and Spoke (HaS) architecture forms a star-shaped network. Peculiar to HaS is the emergence of single failure points, which can be represented by network concentrators, for instance. In turn, applications based on the Mesh Network are characterized by increased fault tolerance because, in the event of a data collection device failure, such networks are automatically reconfigured and any other active device assumes this role. What does this mean in practice? According to user experience, 2017 IoT platforms that support the latter type of interconnection are the best at developing mission-critical applications (for example, in healthcare, heavy industry, and energy supply).
List of key features from the best 2017 Internet of Things platforms
1. Microsoft Azure IoT Suite
Azure IoT Suite is a Microsoft cloud computing based IoT platform that, according to reviews from numerous practicing developers, is perfect for creating high-performance applications in the healthcare, entertainment, finance, retail, and manufacturing industries. It includes an IoT concentrator, advanced machine-learning mechanisms, and supports a huge number of varying devices (including a wide selection of operating systems).
Main features of Azure IoT Suite:
- Several application deployment options. The developer can choose the method most convenient for them: based on physical devices, using cloud computing or a hybrid option.
- Automatic backup. Thanks to extensive built-in backup capabilities, the application’s data is reliably protected even in the event of a massive fault or unstable network connection.
- High fault tolerance. Possessing emergency recovery capabilities, in particular, the blockchain technology, this platform allows for the implementation of applications for which increased fault tolerance is one of the principal attributes.
- Notable efficiency. Complex Azure IoT Suite apps that require interaction with hundreds of thousands of IoT devices and immediate data sorting and analytics feature top of the line performance metrics.
2. Oracle IoT
Oracle IoT is one of the most popular IoT platforms. Based on three main principles - device-agnostic, real-time analytics, and integration with Oracle PaaS, this platform allows for the management of huge amounts of data within commercial solutions for the retail, medical, and manufacturing industries, and so on.
Main features of Oracle IoT:
- Processing of large amounts of data. Oracle IoT is ideal for the collection and processing of information that can later be stored in large-scale data centers using Oracle and MySQL databases. In combination with Oracle Business Intelligence Data Services, this platform provides incredibly broad capabilities for the storage, management, and analysis of collected information.
- Extensive business opportunities. Oracle IoT is ideal for creating commercial applications. Functions like Oracle Billing and Revenue Management allow for the synchronization of data management processes with budget management, which is extremely convenient for large enterprises.
- Java support. Java is one of the most popular and advanced programming languages, supported by the vast majority of modern electronic devices, from video set-top boxes to smart cards.
- Advanced security protocols. Oracle Database Security, Advanced Security, Identity and Access Management provide end-to-end and overall safety of transmissions, as well as devices that are designed for data collection, distribution, and processing.
The ThingWorx platform offers one of the most extensive toolsets for the creation of IoT applications from scratch. An extremely simple and intuitive interface allows for the building of new software solutions incomparably faster than those that imply manual coding and configuring. The range of ThingWorx capabilities is so extreme that designing even the most advanced functionality does not require integration with third-party libraries or frameworks. In addition, ThingWorx contains inherent data collection and identification algorithms. Applications developed with the help of ThingWorx scale easily, allowing for more and more new devices to be connected. Moreover, built-in data analysis mechanisms, as well as augmented reality (AR) technologies, help to create truly advanced applications inspired by the most trendy IT technologies.
Main features of ThingWorx:
- Foundation. ThingWorx Foundation connects to all components of ThingWorx, providing an incredibly simple and seamless approach to software development with integrated services and capabilities.
- Utilities. ThingWorx Utilities is a huge collection of tools for the implementation of processes, controlling all the vital operations of the created software (from analysis of the collected data to optimization of the IoT devices’ performances).
- Analytics. ThingWorx Analytics contains numerous functions for analyzing and monitoring collected data in real-time.
- Studio. ThingWorx Studio editor can be used to develop AR-based applications. It is easy to manage and does not require a multi-hour study of the manual in order to start using it. It contains all the instruments that are necessary for a developer who has no experience creating software with elements of augmented reality.
- Industrial communication. ThingWorx Industrial connector is designed to provide a reliable and, more importantly, secure connection to industrial controllers, as well as to related software.
4. IBM Watson
IBM Watson is one of the most powerful Internet of Things cloud platforms. The carefully designed graphical interface allows for the connection of new devices, assigning different access levels and composing various application behavior scenarios easily.
Main features of IBM Watson:
- Remote control of devices. For example, you can remotely reboot, push firmware updates, and configure all devices (through the MQTT protocol) in real time.
- Secure data transmission. Secure transfer of data and settings is organized through the TLS protocol, which is easier to implement than IPsec, and is available for use on networks with a large number of gateways, in contrast to SSH.
- Cloud data storage. In addition to providing access to data in real time, IBM Watson can store previously transmitted information in cloud storage for further operation.
- Integration with IBM Bluemix. A key feature of Watson is the integration with Bluemix PaaS. Thanks to Bluemix capabilities, IoT applications built with IBM Watson can be deployed to the cloud. Such solutions are ideal for slow networks and obsolete or low-grade hardware.
5. Amazon Web Services (AWS)
Main features of Amazon Web Services IoT:
- Device gateway. The AWS IoT device gateway can provide a secure connection of over a billion different devices to the application in a "point-to-point" or "point-to-multipoint" network model. The device gateway supports messaging through publications and subscription models that provide "one-to-one" and "one-to-many" interfaces.
- Device authorization and authentication procedures. Device authorization and authentication in the created network are carried out through AWS Signature Version 4 and according to X.509 standard. In addition, the integrated device registry allows for the recognition of attributes of the connected devices.
- Device “shadowing.” AWS preserves the minute states of all connected devices into snapshots. Stored snapshots can later be restored back to devices. Besides using this function as a means of backup, the user can manually push different state snapshots to devices through REST API or automate their assignment with the help of the rules engine.
- Multi-criterial data analysis. AWS rules engine is a special tool for creating applications, the functionality of which involves the collection, processing, and analysis of information from other computing devices or cloud services. Processed data can be redirected to other AWS endpoints, such as AWS Lambda, Amazon Kinesis, etc. In addition, such apps are easily integrated with the Elasticsearch platform and, in particular, Kibana - an open source data visualization plugin with extensive capabilities.
6. Kaa IoT
Kaa is a very flexible open source IoT platform, which is ideal for implementing applications with any existing architecture, except for the commercial PaaS model. Delivered under the free Apache 2.0 license, Kaa is compatible with any type of connected equipment and provides real-time data exchange.
Main features of Kaa:
- Availability. Due to its openness, this platform does not require annual and service payments. Fees can only be charged for technical support and additional services.
- Compatibility with third-party solutions. The integration with third-party solutions is simple and free of charge. The user must not worry about the impossibility of connection with the arbitrary software, as it happens with proprietary and PaaS platforms.
- Large developer community. With over 20 years of presence in the market, Kaa is characterized by a sizeable online community. Therefore, you are most likely to find ready-made solutions to your possible problems with Kaa on the internet.
- Several options for software deployment. Typically, PaaS platforms support only cloud deployment. In turn, applications created with Kaa have four deployment options: on-premise, cloud, hosted and hybrid.
Further Prospects of the IoT Technology Development
What are the near future tendencies of IoT development? To start, it’s the complete transition to cloud-hosted services. Today, more than half of IoT application developers implement device connection through clouds, with the use of a hub or other middle-tier solution. According to IT expert forecasts, this indicator will continue to grow annually, since cloud services provide efficient data transfer (cloud computing is available for any devices connected to the Internet) and secure storage of any volume of information. As a rule, cloud storages are hosted over abundantly backed up and well-maintained data centers with highly reliable and capacitive hardware, the probability of failure of which is reduced to almost zero. Virtualization mechanisms provide practically unlimited storage space with affordable prices.
An equally important trend is the elimination of single failure points by implementing device connection with decentralized mesh networks. They provide unlimited coverage scalability and reduced technical requirements for the connected equipment, which is important in heavy-use industries.
Let us sum things up. The IoT concept was designed to connect devices that collect information and various appliances (home, office, industrial or metropolitan) with the help of existing networking technologies. Thus, platforms designed to create applications based on this concept should be characterized by fault tolerance, extensive technical support, and the vastness of the proposed functionality, which all six reviewed platforms possess, to a varying extent. Which one of these options you choose depends primarily on your idea at play, and the type of application required.
In turn, if you have the idea to create a project, but do not want to bother with its implementation, contact us! Our experienced team will offer you the most favorable options for creating applications based on the IoT concept. If you still have unanswered questions, you can turn to our experts today for thorough consultations or to request a quote for your idea.