5 Technologies You Need to Build an IoT Application

 
 
By Darryl K. Taft  |  Posted 2016-08-03
 
 
 
 
 
 
 
 
 
  • Previous
    1 - 5 Technologies You Need to Build an IoT Application
    Next

    5 Technologies You Need to Build an IoT Application

    With data coming in from so many sources, building an Internet of things application isn't easy. However, these five technologies may help.
  • Previous
    2 - Computation (Spark, Impala, Storm, etc.)
    Next

    Computation (Spark, Impala, Storm, etc.)

    IoT applications run on distributed infrastructures. Clusters of servers are responsible for ingesting, analyzing and storing large amounts of data from groups of connected devices. As a result, IoT applications need computational tools that provide real-time parallel processing for distributed datasets. These tools, such as Apache Spark, Apache Storm and Impala, allow developers to access continuous streams of data and run queries on it quickly and in a scalable manner. Computation solutions enable faster analysis, even on large amounts of information.
  • Previous
    3 - Database (Riak, Cassandra, MongoDB)
    Next

    Database (Riak, Cassandra, MongoDB)

    In the IoT world, databases must not only be able to handle constant reads and writes, but they must also complement the computational tools in the application stack. The database has to be able to provide strong query and retrieval capabilities that allow the rest of the tools in the stack to operate efficiently. Most importantly, databases for an IoT application have to be built specifically to write and query IoT data. Millions of sensors generate petabytes of data that companies want to take advantage of. The database that provides the spine of the architecture must scale and always be available without unnecessarily increasing latency or suffering from data degradation.
  • Previous
    4 - Queuing System (RabbitMQ and Kafka)
    Next

    Queuing System (RabbitMQ and Kafka)

    IoT applications must deal with massive amounts of data generated by sensors and devices. The data is sent either in real time or batches—usually at some point in the chain of infrastructure it must be batched. Storage and analytics has a limit on how much can be dealt with in real time versus what should be done in near time. Queuing becomes important when dealing with high volumes of data across applications or when trying to combine many disparate data sources. Kafka and RabbitMQ are popular examples of queuing solutions used to solve this problem.
  • Previous
    5 - Application Frameworks (Akka and Spring)
    Next

    Application Frameworks (Akka and Spring)

    Frameworks offer developers simplicity. Solutions like Akka and Spring help to manage complexity so developers can focus on more important tasks. These frameworks are especially prevalent in companies that are focused on high productivity and where noticeable application downtime can render the business immobile.  Akka, for example, is especially good at managing failure, even when a million different actions are taking place simultaneously, such as sudden activity spikes on a series of services handling IoT data.
  • Previous
    6 - Resource Management/Operating Environment (Mesos)
    Next

    Resource Management/Operating Environment (Mesos)

    IoT applications are resource-intensive undertakings. As application user bases grow, their infrastructures must grow with them or the apps will stop working. Think Pokemon Go's spate of network outages. Tools like Mesos give companies a better grasp of their resource usage to help predict when it has to scale. With complex, distributed systems, resource management can be a difficult task to accomplish effectively. Mesos, sometimes considered a data center OS, can help lower infrastructure costs and make important processes like scaling distributed workloads much easier and more cost-effective.
 

The internet of things (IoT) is transforming businesses by making them data driven. In IoT, devices communicate with each other and send data across many types of networks both inside a company's infrastructure and in the cloud. The device data is stored, sent to customers or used for analysis. Developing solutions to make sense of all that real-time data is not easy. Enterprise applications collect time series data, which requires aggregation and analysis to be useful, but optimally storing and analyzing time series data with traditional databases is often not possible. Sensor and device data comes in at high velocity with a variety of data formats and at massive volume. This requires a database that can read and write time series data fast. Using a technology stack geared specifically toward eliciting value from IoT data can make that task much easier. Based on interviews with executives at Basho Technologies, this eWEEK slide show identifies five technologies that enterprises need to build an IoT application.

 
 
 
 
 
 
 
 
 
 
 

Submit a Comment

Loading Comments...
 
Manage your Newsletters: Login   Register My Newsletters























 
 
 
 
 
 
 
 
 
Rocket Fuel