-
-
-
-
URL copied!
Current software trends, such as Microservices, are trending in a very interesting direction: that of collaborating autonomous systems.
This paradigm is very familiar to us from the natural world. Swarms of bees, colonies of ants, schools of fish, even planets in motion “collaborate†through the exchange of information (or forces) while remaining “autonomous†(capable of independent action) in isolation.
One manifestation of this pattern in software is the “containerized Microservices†paradigm that is transforming many large-scale systems. In this paradigm, the individual Microservices are designed to be as autonomous as possible. In particular, each microservice instance should have all the data and other information it requires to continue to work locally in isolation. Even if every other microservice in its system were to crash, an individual microservice instance should be able to continue functioning on its own (though perhaps with data that gets more “stale†over time as it stops receiving updates, for example).
A key concept in coordinating these autonomously operating microservices into a coherent system is that of “choreographyâ€. The word choreography is borrowed, oddly enough for a software concept, from the world of dance. When dancers perform, there is no person, no director, who tells them what to do. Instead, each dancer learns his or her part in advance. The individual dancers then perform their part as learned, coordinating their actions by the exchange of non-verbal cues with other dancers and from the music. Microservices systems are similar, but in this case the “cues†and information sharing are propagated through the system as broadcast, published events.
This type of choreography has a lot in common with physical systems like a swarm of bees, or an ant colony. While each insect is capable of independent actions, they co-ordinate among themselves through an exchange of signals—chemical, behavioral and even dance. Our information systems are headed in this direction—because it scales, and it works. What we are beginning to see is this same programming paradigm emerging at a “macro†scale in the physical world, due to connected devices.
More and more information handling capability is available at the “edge†of our connected systems. This trend will continue as the cost of compute power and related resources continues to decline. We can see this effect in our personal mobile devices already: The aggregate processing power of Apple’s iPhone X was comparable to that of Apple’s “Pro†line of laptops when it was launched in 2017[1] (though used for different purposes). This same “smart†phenomenon is clearly happening to all types of connected devices, including cars, smoke alarms, thermostats, and even light bulbs[2]. There is no doubt, at least in my mind, that the trend of smart edge devices will continue, even as network connectivity grows increasingly capable (as it will).
As the “edges†get smarter, collaboration between them gets more powerful. The more an edge node computes, or senses about its environment, the more it can share. Whether this sharing takes place in the form of peer-to-peer interaction, or through a central mediator such as a network, remains to be seen. But certainly, our smart edges will collaborate with each other one way or another.
Self-driving or “autonomous†cars will certainly be a dramatic manifestation of the phenomena of collaborating autonomous systems, but there are many others such as warehouse robots, home automation systems, and systems of smart devices generally that we are seeing now or will in the near future. By combining autonomous operation with the notion of signaling and “choreographyâ€, we will see the emergence of robust, scalable and powerful systems whose behavior is astonishingly nuanced.
Why am I so confident this will happen? Just take a look at the bees…
[1] http://bgr.com/2017/09/14/iphone-x-vs-iphone-8-a11-bionic-benchmarks-macbook-pro/
[2] Phillips Hue light bulbs contain a microcontroller; see http://colinoflynn.com/wp-content/uploads/2016/08/us-16-OFlynn-A-Lightbulb-Worm-wp.pdf
Top Insights
Best practices for selecting a software engineering partner
SecurityDigital TransformationDevOpsCloudMediaMy Intro to the Amazing Partnership Between the...
Experience DesignPerspectiveCommunicationsMediaTechnologyAdaptive and Intuitive Design: Disrupting Sports Broadcasting
Experience DesignSecurityMobilityDigital TransformationCloudBig Data & AnalyticsMediaLet’s Work Together
Related Content
Edge-Computing Paradigm: Survey and Analysis on Security Threats
The commencement of extensive applications of IoT devices in the world of information technology are generating massive amount of data. The deployment of various IoT devices/sensors within the complex interconnected networks give rise to raw data from sensors, processed and controlled data, decision making data providing intelligent solution etc. IoT provide a common platform (called IoT cloud) for all the networks and devices connected to those networks so that the analytics can be performed on data and valuable information can be extracted.
Learn More
Automation of Mobile Application Stress Scenarios for Performance Engineering
In the healthcare industry where medical insurance providers are competing with each other to acquire more and more customers, evaluating customers' application to assign a risk level is of prime importance. This helps in formulating the policies and the premium that a customer needs to pay. In order to work on this the insurance companies must share their data which is highly susceptible of being stolen and misused against them by their corporate rivals.
Learn More
Enterprise GenAI: The Time to Focus on High-ROI Use Cases is Now
In the relentless pursuit of digital transformation, enterprises are constantly seeking innovative avenues to maintain a competitive edge. Generative Artificial Intelligence (GenAI) stands out as one of the most promising frontiers in this quest. Unlike traditional AI, which primarily focuses on data analysis and interpretation, GenAI has the unique ability to generate new, original content, ideas, and solutions, making it an indispensable tool for businesses across various sectors.
Learn More
DevOps for Customer First Strategy
In the healthcare industry where medical insurance providers are competing with each other to acquire more and more customers, evaluating customers' application to assign a risk level is of prime importance. This helps in formulating the policies and the premium that a customer needs to pay. In order to work on this the insurance companies must share their data which is highly susceptible of being stolen and misused against them by their corporate rivals.
Learn More
Master the skills of QAOps
Recently, the IT world has been experiencing an explosion of different terms related to operations. The good old days—when the global order was defined around a rule of thumb and IT as separate from business—are gone, never to return. Dozens of ‘Ops’ crowded the sphere of software testing: starting with trendy DevOps.
Learn More
The rise of digital cognitive behavioral therapy
In today’s world, more and more people are struggling with depression, anxiety, addiction and a whole range of similar mental health problems. In most of the cases, people are not even aware of the fact that they are fighting with some kind of mental illness. Managing these problems is not an easy task and ignoring these problems calls for unwanted actions and severe consequences, but fortunately we have Cognitive behavioral therapy (CBT) to help people manage their problems by making simple changes in the way they think and behave.
Learn More
Share this page:
-
-
-
-
URL copied!