Real-Time Application Development and Deployment

real-time application development

I’ve been an analyst following the application development and deployment (AD&D) space for an embarrassingly long time. One benefit of this lengthy tenure has been the ability to put trends into context. Over the last five years or so, the buzz has been mostly about cloud, mobility, Big Data and social. More recently, the Internet of Things (IoT) is getting its due. All of these technologies have the ability to change your life and, generally speaking, the changes will be for the better. One significant difference in the applications driving these changes will be their ability to operate in real-time.

My domain is AD&D, which generally puts me on the custom application development side of the fence as opposed to packaged applications. Although this bifurcation has existed since the beginning of packaged applications, even this segmentation is beginning to blur as Platform-as-a-Service (PaaS) becomes part of the run-time infrastructure for both custom and packaged applications. Because I live in the AD&D space where development tools, frameworks, and environments are king, this is also the domain where industry change can often be seen first. These days, any time you talk about data, events, decisioning and process – all of which are the building blocks of modern applications – the conversation is inevitably either about AD&D or quickly turns to AD&D. This is one of the reasons why AD&D has relevance when it comes to talking about real-time topics.

However, if we step back and simply think about AD&D at large, let’s see how the conversation evolves. Since technology deals with engineering, applied science and machines, a useful place to start is with the relationships that exist between humans and machines. When evaluating the intersection between humans and machines, there are four possible interaction patterns:

Human-to-Human (H2H)

This interaction pattern is highly complex semantically, multichannel, flexible and extensive in the scope of interactions that are supported. Human civilization has had thousands of years to fine-tune and improve this interaction pattern and this is the interaction pattern of choice for complex issues.

Human-to-Machine (H2M)

In this interaction pattern, the human leverages a machine which, in turn, provides a service. Query and response is a classic example of H2M. This interaction pattern, in which a machine functions in a reactive mode, currently accounts for the majority of all IT-based interactions.

Machine-to-Human (M2H)

This interaction pattern describes situations in which a machine senses an opportunity or a concern and responds by alerting a human. In order for this interaction pattern to be useful, the machine must either be “always on,” event-driven or leverage sense-and-respond control theory.

Machine-to-Machine (M2M)

This interaction pattern is simplistic from a semantic perspective because of machine limitations but immensely powerful from a utility standpoint. This interaction pattern is often used to describe the IoT and is heavily focused on data, decisioning and process. The characteristics of the M2H interaction pattern also carry over. Some of the excitement around M2M is the potential for high-value second and third-order effects.

What’s useful about this model is that the number of pattern permutations is just four so it’s an easy model to get your head around and remember. A somewhat more subtle characteristic of this model is how these interaction patterns can be grouped. The H2H and H2M patterns are both examples of human-centric interactions. Technology currently plays a useful supporting role in the H2H pattern, supporting voice and text communications.

It is interesting to note that batch processing doesn’t have much relevance when it comes to human-centric interaction patterns. This is because humans are the focus of the patterns, and the technology simply plays a supporting role in providing the human with a new or more efficient way to accomplish a task. Human-centric patterns have existed since tools were invented. This means that humans have had a long time to develop beliefs about the role and operation of machines.

Now that we have classified the H2H and H2M interaction patterns as human-centric, where does this leave the remaining two patterns? It’s pretty easy to deduce the answer: the M2H and M2M interaction patterns are both examples of machine-centric interactions. Until the start of the new millennium, we lived in an “information economy.” This was an important initial phase in the evolution of IT because it’s pretty hard to be data-driven without data.

While data was critical in support of the H2M pattern, data is mission-critical in support of machine-centric patterns. Once we have enough of a data backplane, we will be in a position to understand what manifests a significant change in a data stream. Change of state may need to be inferred or represented more explicitly as an event. In either case, we will want to apply filters to help recognize state changes that represent opportunities or concerns. Either way, the M2H interaction pattern is one in which we have a chance to derive a significant utility from systems that reach out to us in real-time to improve our life.

The M2M interaction pattern is, in some ways, the least well understood. Not surprisingly, it’s also the pattern that is most closely aligned with IoT. While much of what characterizes the M2H pattern carries over to M2M, the evolution of the M2M pattern will be frustratingly slow. The reason for this is that the M2M pattern is the only one that does not directly involve humans. Humans have a tremendous depth of experience and context that they apply to arrive at understanding and knowledge. Machines are primitive by comparison despite being far faster at many tasks. Therefore, the semantics of M2M interactions will initially need to be simple. But there is tremendous greenfield utility to be harvested in M2M when you consider how data, events, decisioning and process can come together from an application perspective. Much of this will be in real-time because time is money.

The next instalment of this column will look more specifically at data, event, decisioning and process, and will define a reference model for what is known as “decision analytics” so that it is possible to better appreciate the value of machine-centric interaction patterns.

Stephen Hendrick

About Stephen Hendrick

Steve Hendrick specializes in application development and management research including DevOps, application management, application platforms, decision analytics, middleware, and the broad spectrum of tools and technologies that support professional developers and IT managers. Steve has over 25 years of experience as an industry analyst and 10 years of experience across a variety of application development roles. Steve brings advanced quantitative and qualitative research techniques to bear as an industry analyst providing vendors with deep insight into markets and has developed research across the entire application development and deployment family of markets. Areas where Steve has pioneered research and thought leadership include DevOps, Platform-as-a-Service (PaaS), Decision Analytics, and Vendor/Buyer Journey research.

Leave a Reply

Your email address will not be published. Required fields are marked *