Creativa - Fotolia

Evaluate Weigh the pros and cons of technologies, products and projects you are considering.

How will IoT alter developers' application strategies?

How will the Internet of Things (IoT) fundamentally alter developers' applications and application strategies? How can cloud developers take advantage of IoT?

The fact that your thermostat powered by Nest can tweet to all of your followers through a nifty little service called "If This Then That" is a sign that anything is possible with the Internet of Things (IoT). Everything is being connected, which means everything needs to be on all the time. It's no longer acceptable not to have high-speed Wi-Fi in your house, and everything needs to be available 24/7. The Internet is now as necessary to the modern user's life as electricity, and it's all because every little device we want is connected to it. Developers' application strategies must reflect these changes.

That being said, the Internet is not perfect, and everything needs to be able to fail gracefully. For example, your SmartWatch shouldn't stop counting your steps simply because your phone lost its data connection. We're at a crossroads between everything happening on individual "things" and everything happening in the cloud. Development application strategies need to strike a balance between offline and online functionality.

The best thing you can do as an application developer is create robust APIs and intercommunication support. Building a new application to track your daily calories? Don't be surprised when someone wants to integrate their FitBit to see how many calories they burned off, and flash a light on their Blink(1) when they've walked enough to burn off their lunch.

One issue you'll notice when working with IoT is the massive amount of data produced. Never before have we had so much access to raw data. So many new devices have come to market that a new standard for machine-to-machine communications, called MQTT, has been created. If you're making a new device, or you want to integrate with IoT devices, MQTT is probably a good place to start. To handle high volumes of scalability, you may want to consider using MQTT with the new AWS Lambda. AWS Lambda automatically provisions resources for you, so you don't need to worry about scaling; just write the code.

However, if you're getting this much input, you're probably also going to need a good way to analyze it all. This is where technologies like MapReduce shine, because they're designed to handle processing of very large volumes of data. You're probably not going to be able to store all of this valuable data in a simple MySQL database if you really want the ability to scale. Posting your data to an intermediary database like Amazon Dynamo Database or Amazon Simple Storage Service, processing it with AWS Lambda, and then post-processing with MapReduce is a good way to go.

Obviously, you can't integrate with everything, but if you create APIs and integrate with popular IoT integration services like IFTTT, you'll be better able to take advantage of all the devices in a user's life. If your software doesn't interact with more than a user's computer, you're losing valuable interactions.

Next Steps

Google acquires Nest

Strategies and best practices for SaaS app integration

Tips for making a mobile app strategy

Dig Deeper on IoT APIs, Applications and Software

Have a question for an expert?

Please add a title for your question

Get answers from a TechTarget expert on whatever's puzzling you.

You will be able to add details on the next page.

Start the conversation

Send me notifications when other members comment.

Please create a username to comment.