Welcome!

@CloudExpo Authors: Elizabeth White, Pat Romanski, Ferhat Hatay, William Schmarzo, David Bermingham

Related Topics: Agile Computing, Java IoT, Microsoft Cloud, Linux Containers, @CloudExpo, @BigDataExpo, @ThingsExpo

Agile Computing: Article

The Rise of Things, Internet of Things

The screens in our lives will slowly start to take a back seat to a model of computing that operates off the context we generate

End-user computing devices have followed a trajectory of faster, smaller, and cheaper for several decades: adding better connectivity, more natural interfaces, but largely remaining a device with a screen and human input device. This model is breaking down as computation and connectivity collide with ordinary real-world things. These things often have existing physical methods of interacting with them that we culturally don't want to change or no interface at all.

I've been involved with devices for much of my professional career, starting with television set top boxes at Microsoft for the better part of a decade, then working in mobile as part of the Android team at Google, and most recently in the Internet of Things at Nest Labs before rejoining Microsoft as part of our platform strategy team. In my current role, one of my focus areas has been to think about so called Internet of Things and what that means for the industry, for Microsoft, and for enterprises and consumers.

It's clear to me that the future of computing lies in these things. The screens in our lives will slowly start to take a back seat to a model of computing that operates off of the context that we generate. In this sense, computing will take a much more active role in our lives but at the same time much more invisible. That said there are substantial challenges in getting from where we are today to this future, and I thought I'd survey those problems and potential solutions.


Connectivity

In the broader Internet, we've started to think about connectivity as a given. The pervasiveness of networks and the consolidation of the industry around cellular standards like LTE and wireless standards like 802.11 mean that, for our computing devices, we are almost always connected and the design of applications has shifted from primarily offline to primarily online to match this.

One of the key challenges in the Internet of Things is that it doesn't fit cleanly into this. The existing set of wireless and cellular standards are wholly unsuited for long longevity battery use - they are designed for devices, like our computer or phone, that are always or frequently connected to a power plug.

A door lock is a good example of a real-world device. It isn't connected to a power plug. While one solution could be to change or charge the batteries in your door lock once a month so that it can use Wi-Fi, when you step back and realize that there are hundreds of these devices in the home, it's clear that this would quickly limit our desire to manage more than a handful of these in our houses.

Rethinking then how we connect these devices is one of the key challenges facing the industry. There are a number of efforts to solve this, including new protocols like Zigbee, but the most promising of these are the efforts to create highly efficient variants of existing protocols like 802.11 with 802.11ah or Bluetooth with Bluetooth Low Energy (now branded Bluetooth Smart). These technologies hold the promise to overcome rapid power consumption in these devices.

In many ways, Bluetooth Smart is already here. As part of the Bluetooth 4.0 spec, it has piggybacked its way into many of the latest Bluetooth chipsets and from a software platform perspective (Windows 8, iOS, and Android platforms all include support for it). Given this, it is starting to become prevalent with the latest wave of devices. It also promises multi-year battery life levels of efficiency and provides an abstraction mechanism for exposing data and control through its characteristics and services. I wouldn't be surprised to see Bluetooth Smart move front and center in 2014 as it gains critical mass as a key way of bridging to these real-world things.

Applications
The simplicity of these devices implies that what it means to be an application will also change. In this world, applications shift from being something with a user interface that runs on our devices and backed by the cloud to a model where an application analyzes the context provided by potentially a large number of these devices. The application will begin to present itself less on a screen and more in the state changes in the real world. These applications will not run on any one of these devices but between them.

Message Based
One potential model for this that we are experimenting with at Microsoft is a messaging-based approach. You can conceptually think about this as "Twitter for devices" where devices and applications communicate using messages through a message broker. The schema for these messages is well known among the principals in the system, enabling applications and devices to communicate that otherwise have no knowledge of each other.

This is a key advantage because devices in this new world are shifting from being consumption and creation devices to devices that provide context and control. A messaging-based approach allows you to leverage the message stream from one of these devices for multiple applications without correspondingly taxing this device with multiple requests for state. For example, a proximity sensor in your office hallway provides very interesting context for a security application for the building but is equally interesting to an application that uses them to make dynamic climate control decisions. A messaging model enables this with one set of state. It also provides a clean archiving and auditing model, enabling you to look back over this data two years later, for instance, when you want to build an occupancy model for your building across all of its proximity sensors.

Management
The quantity and sensitivity of these devices will also mean that we need to rethink how we manage them and their data streams.

We currently manage an increasingly large number of computing devices in our lives, and while application stores have made it easier for us to install and upgrade applications and operating systems, we still spend a significant amount of time managing our devices.

As we increase the number of devices by an order of magnitude, we won't be able to provide this same level of love and care for every device in our lives. These devices are going to need to be largely autonomous. One of the core challenges of Internet of Things will be building the infrastructure to enable this level of autonomy.

Highly Distributed
Our current conception of devices working with services is largely a two-tier model. For many applications that require precise control, the 200ms latency involved in doing a round-trip from a home in Oklahoma to a data center in Virginia where multiple devices' message streams are combined may be too much. This means that applications that require this level of low latency will need to execute much closer to the edge. That said, there are many applications that will require the computational capacity and flexibility that only a larger public or private cloud data center can provide. One of the key challenges we face is providing a single abstraction for developers such that both these classes of application use the same interfaces and the infrastructure is smart enough to satisfy them transparently.

The data streams involved in the Internet of Things are also typically highly sensitive, either in the context that they provide on us or the sensitivity of the equipment that they control. One of the things we must demand as individuals and enterprises is control on what set of data we send to a centralized public cloud versus retain within systems under our control.

I believe these factors will drive a distributed approach to the Internet of Things, where applications move to the data instead the current direction of all of our data moving to the applications in the public cloud. At Microsoft we are currently experimenting with this hybrid approach, where there are several hierarchical tiers of increasing computation and storage as you go toward the cloud. Applications and data in this model flow between these tiers to the appropriate level that balances computational, latency, and privacy concerns. This distributed approach is also another key reason that an immutable messaging-based approach makes sense - it enables you to replicate these message streams between these tiers in the system while applying permission-based controls to filter them down to the messages you are comfortable sharing with another application or computational tier.

Big Data
One thing that is clear is that the volume of data that is generated from these much more numerous devices will be staggering. For example, capturing all of the data from a single car's lifetime in an enterprise fleet requires upwards of 100GB on a relatively spacious once-a-second resolution. For an enterprise like Avis, which has on the order of 150,000 cars, this means managing nearly 15PB of information over the lifetime of one generation of cars.

As an industry we have established batch algorithms and platforms like map/reduce and Hadoop and newer near real-time platforms like Storm to process these large streams of information - but these still require substantial data science and DevOps investments to operate, which put them out of the reach of smaller organizations. A key challenge is making it easier to run data pipelines that operate on the context these devices generate and building abstractions that make them easier to develop for and to use with existing information worker tools.

First Steps
We are at the very beginning of this transformation and are all still trying to get our heads around the right model that solves the problems in this space. Although I've posed a number of potential solutions in this post, you should take these more as strawmen to start a discussion than any concrete recommendation. I'd love to talk with you if working on any problems in this space - feel free to reach out to me at [email protected] or @timpark on Twitter.

More Stories By Tim Park

Tim Park is Director, Platform Strategy at Microsoft. He helps to set the direction of Microsoft platforms internally with a focus on the startup and open source communities. He has over 15 years of application development experience across client and server from work at Microsoft and two startups (WebTV Networks and Nest Labs).

As global advocate for the startup and open source community within Microsoft, Park evangelizes the product needs of startups and open source communities within Microsoft across client and cloud and help these communities understand what Microsoft has to offer them in terms of platforms, programs, and partnerships

Comments (0)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.


@CloudExpo Stories
SYS-CON Events announced today that Catchpoint Systems, Inc., a provider of innovative web and infrastructure monitoring solutions, has been named “Silver Sponsor” of SYS-CON's DevOps Summit at 18th Cloud Expo New York, which will take place June 7-9, 2016, at the Javits Center in New York City, NY. Catchpoint is a leading Digital Performance Analytics company that provides unparalleled insight into customer-critical services to help consistently deliver an amazing customer experience. Designed...
With the proliferation of both SQL and NoSQL databases, organizations can now target specific fit-for-purpose database tools for their different application needs regarding scalability, ease of use, ACID support, etc. Platform as a Service offerings make this even easier now, enabling developers to roll out their own database infrastructure in minutes with minimal management overhead. However, this same amount of flexibility also comes with the challenges of picking the right tool, on the right ...
SYS-CON Events announced today that Alert Logic, Inc., the leading provider of Security-as-a-Service solutions for the cloud, will exhibit at SYS-CON's 18th International Cloud Expo®, which will take place on June 7-9, 2016, at the Javits Center in New York City, NY. Alert Logic, Inc., provides Security-as-a-Service for on-premises, cloud, and hybrid infrastructures, delivering deep security insight and continuous protection for customers at a lower cost than traditional security solutions. Ful...
SYS-CON Events announced today that Interoute, owner-operator of one of Europe's largest networks and a global cloud services platform, has been named “Bronze Sponsor” of SYS-CON's 18th Cloud Expo, which will take place on June 7-9, 2015 at the Javits Center in New York, New York. Interoute is the owner-operator of one of Europe's largest networks and a global cloud services platform which encompasses 12 data centers, 14 virtual data centers and 31 colocation centers, with connections to 195 ad...
Recognizing the need to identify and validate information security professionals’ competency in securing cloud services, the two leading membership organizations focused on cloud and information security, the Cloud Security Alliance (CSA) and (ISC)^2, joined together to develop an international cloud security credential that reflects the most current and comprehensive best practices for securing and optimizing cloud computing environments.
Companies can harness IoT and predictive analytics to sustain business continuity; predict and manage site performance during emergencies; minimize expensive reactive maintenance; and forecast equipment and maintenance budgets and expenditures. Providing cost-effective, uninterrupted service is challenging, particularly for organizations with geographically dispersed operations.
Sensors and effectors of IoT are solving problems in new ways, but small businesses have been slow to join the quantified world. They’ll need information from IoT using applications as varied as the businesses themselves. In his session at @ThingsExpo, Roger Meike, Distinguished Engineer, Director of Technology Innovation at Intuit, showed how IoT manufacturers can use open standards, public APIs and custom apps to enable the Quantified Small Business. He used a Raspberry Pi to connect sensors...
SYS-CON Events announced today that Avere Systems, a leading provider of enterprise storage for the hybrid cloud, will exhibit at SYS-CON's 18th International Cloud Expo®, which will take place on June 7-9, 2016, at the Javits Center in New York City, NY. Avere delivers a more modern architectural approach to storage that doesn’t require the overprovisioning of storage capacity to achieve performance, overspending on expensive storage media for inactive data or the overbuilding of data centers ...
SYS-CON Events announced today that Commvault, a global leader in enterprise data protection and information management, has been named “Bronze Sponsor” of SYS-CON's 18th International Cloud Expo, which will take place on June 7–9, 2016, at the Javits Center in New York City, NY, and the 19th International Cloud Expo, which will take place on November 1–3, 2016, at the Santa Clara Convention Center in Santa Clara, CA. Commvault is a leading provider of data protection and information management...
SYS-CON Events announced today that VAI, a leading ERP software provider, will exhibit at SYS-CON's 18th International Cloud Expo®, which will take place on June 7-9, 2016, at the Javits Center in New York City, NY. VAI (Vormittag Associates, Inc.) is a leading independent mid-market ERP software developer renowned for its flexible solutions and ability to automate critical business functions for the distribution, manufacturing, specialty retail and service sectors. An IBM Premier Business Part...
In most cases, it is convenient to have some human interaction with a web (micro-)service, no matter how small it is. A traditional approach would be to create an HTTP interface, where user requests will be dispatched and HTML/CSS pages must be served. This approach is indeed very traditional for a web site, but not really convenient for a web service, which is not intended to be good looking, 24x7 up and running and UX-optimized. Instead, talking to a web service in a chat-bot mode would be muc...
It's easy to assume that your app will run on a fast and reliable network. The reality for your app's users, though, is often a slow, unreliable network with spotty coverage. What happens when the network doesn't work, or when the device is in airplane mode? You get unhappy, frustrated users. An offline-first app is an app that works, without error, when there is no network connection.
With an estimated 50 billion devices connected to the Internet by 2020, several industries will begin to expand their capabilities for retaining end point data at the edge to better utilize the range of data types and sheer volume of M2M data generated by the Internet of Things. In his session at @ThingsExpo, Don DeLoach, CEO and President of Infobright, will discuss the infrastructures businesses will need to implement to handle this explosion of data by providing specific use cases for filte...
More and more companies are looking to microservices as an architectural pattern for breaking apart applications into more manageable pieces so that agile teams can deliver new features quicker and more effectively. What this pattern has done more than anything to date is spark organizational transformations, setting the foundation for future application development. In practice, however, there are a number of considerations to make that go beyond simply “build, ship, and run,” which changes ho...
SYS-CON Events announced today that AppNeta, the leader in performance insight for business-critical web applications, will exhibit and present at SYS-CON's @DevOpsSummit at Cloud Expo New York, which will take place on June 7-9, 2016, at the Javits Center in New York City, NY. AppNeta is the only application performance monitoring (APM) company to provide solutions for all applications – applications you develop internally, business-critical SaaS applications you use and the networks that deli...
Fortunately, meaningful and tangible business cases for IoT are plentiful in a broad array of industries and vertical markets. These range from simple warranty cost reduction for capital intensive assets, to minimizing downtime for vital business tools, to creating feedback loops improving product design, to improving and enhancing enterprise customer experiences. All of these business cases, which will be briefly explored in this session, hinge on cost effectively extracting relevant data from ...
Cognitive Computing is becoming the foundation for a new generation of solutions that have the potential to transform business. Unlike traditional approaches to building solutions, a cognitive computing approach allows the data to help determine the way applications are designed. This contrasts with conventional software development that begins with defining logic based on the current way a business operates. In her session at 18th Cloud Expo, Judith S. Hurwitz, President and CEO of Hurwitz & ...
SYS-CON Events announced today that Pythian, a global IT services company specializing in helping companies adopt disruptive technologies to optimize revenue-generating systems, has been named “Bronze Sponsor” of SYS-CON's 18th Cloud Expo, which will take place on June 7-9, 2015 at the Javits Center in New York, New York. Founded in 1997, Pythian is a global IT services company that helps companies compete by adopting disruptive technologies such as cloud, Big Data, advanced analytics, and DevO...
As someone who has been dedicated to automation and Application Release Automation (ARA) technology for almost six years now, one of the most common questions I get asked regards Platform-as-a-Service (PaaS). Specifically, people want to know whether release automation is still needed when a PaaS is in place, and why. Isn't that what a PaaS provides? A solution to the deployment and runtime challenges of an application? Why would anyone using a PaaS then need an automation engine with workflow ...
As enterprises work to take advantage of Big Data technologies, they frequently become distracted by product-level decisions. In most new Big Data builds this approach is completely counter-productive: it presupposes tools that may not be a fit for development teams, forces IT to take on the burden of evaluating and maintaining unfamiliar technology, and represents a major up-front expense. In his session at @BigDataExpo at @ThingsExpo, Andrew Warfield, CTO and Co-Founder of Coho Data, will dis...