14 Factors of Adaptive Edge: Pt. 2
Posted on Jun 21st, 2022
The evolving and demanding nature of edge systems requires a new set of characteristics.
In the last post, we talked about the requirements we see emerging for applications as we move from a Cloud Economy to a Connection Economy where smart connectivity is the primary challenge rather than compute and storage. To handle the requirements of modern distributed applications, Adaptive Edge Systems should offer the following capabilities:
Adaptive Edge systems should be at least as performant as incumbent systems and ideally considerably more performant on a per compute basis. This can be measured in various metrics including latency, message or stream throughput, or compute required per million messages, to name a few. This also usually indicates lower energy consumption, a critical component of IoT and remote environment requirements.
2. Easy to deploy and maintain
One of the key problems with incumbent messaging and streaming platforms is the challenges in deployment and the heavy infrastructure requirements. Because Adaptive Edge systems must be dynamic and will likely encourage experimentation, these systems must be simple and fast to deploy and easy to maintain. A good rule of thumb is that, if a team or dedicated engineer is required to maintain a solution, then it is not suitable for Adaptive Edge use cases.
3. Lightweight and works in any environment
Incumbent messaging and streaming systems generally require considerable compute capacity as well as supporting systems. For example, Apache Kafka requires not only a large compute instance but also a JVM; this usually means Kafka installations require multiple instances and are not suitable to install in resource constrained environments common in IoT or other Adaptive Edge applications. For an Adaptive Edge connection fabric to be effective, it must be able to run on all types of edge devices from small sensors and RaspberryPIs to standard physical servers and cloud infrastructure. The connection fabric must also maintain all features at any scale; the fabric must be environment agnostic.
4. Resilient and self-healing
While this may be a requirement for any enterprise software system, connection fabrics are the backbone of SLAs and the glue that binds multi-cloud applications to reduce downtime and improve latency. For this reason, Adaptive Edge connection solutions must boast higher-than average reliability and durability — more akin to what is expected with telecommunications systems and other regulated technologies judged to be mission critical to society. If portions of a connection fabric crash or slow down, then other nodes in the cluster should instantly absorb any traffic and workloads.
5. Client / language agnostic
Modern applications may be composed of dozens or hundreds of smaller applications and microservices. Those smaller applications and microservices may use different languages. It is not uncommon to see a half-dozen languages represented in different functions of a distributed application. Adaptive Edge connection solutions must support a wide range of languages and also have a straightforward integration schema using a well-structured API.
6. Multi-cloud and cloud-agnostic
Most Adaptive Edge applications do need to connect to the cloud. To future proof those applications and enable better SLAs for their services as well as reducing single point of failure, connection fabrics should be able to bridge clouds and provide multi-cloud capability. This will include moving workloads from one cloud to another and load balancing across clouds. The same capability is also useful within clouds.
7. Location independent
This describes both geography and application or system topology. Admins and users should be able to add and remove clients on Adaptive Technology connection fabrics without requiring configuration changes. Similarly, clients should be recognized by the fabric no matter their location.
8. Tolerates connectivity disruptions
The adaptive part of Adaptive Edge includes the ability to handle disruptions in connectivity and then resume connections while sharing data asynchronously and when possible with centralized application servers. This also implies that Adaptive Edge systems must be able to deliver both batch and stream processing, and switch between the two depending on circumstances and conditions.
9. Persists data intelligently
Data persistence is essential for giving Adaptive Edge applications the ability to run backend processes or make business logic decisions without having to call back to a cloud data center. More advanced connection fabrics integrate a key/value and object store with data persistence, to simplify the application architecture and remove the need to deploy a distributed database alongside the connection fabric.
10. Aggregates and distributes data intelligently
Adaptive Edge systems must support data aggregation at the edge. Data that is salient to the cloud gets to the cloud. Data that is only salient at the edge stays at the edge. This minimizes unnecessary data tromboning, saving on bandwidth and infrastructure costs and allowing application architects to better optimize data handling and business logic.
11. Secure by default
Adaptive Edge applications are dynamic in ways that break old security paradigms tied to IP addresses. Securing more complex topologies with dynamic client and node structures requires security to be a part of the connection fabric and not applied as a secondary or tertiary layer, or as a mix of different integrated technologies. One solution is to assign clients to accounts and limit accounts to namespaces. This makes segregation default and delivers true multi-tenancy as part of the architecture. Of critical importance - the connection fabric never stores or accesses private keys.Security is bifurcated from connectivity.
12. Supports multi-tenancy
Related to security, multi-tenancy for connection fabrics enables the use of the fabric as a global utility traversing applications or clouds. For example, a true Adaptive Edge solution can silo message and streaming data for a microservice limiting reception or subscription to a specific namespace, even as other microservices in the same fabric are limited to communicating with a different namespace.
13. Scales quickly, horizontally and vertically
Part of any connection fabric’s ability to adapt must be rapid scalability to handle bursts in demand or topology shifts when part of a cluster shuts down or moves traffic from one fabric server to another. Quick scaling should translate into end users never noticing that their connection fabric has had to scale up or add capacity. This scaling should be equally viable horizontally (adding more servers) or vertically (adding capacity to existing servers).
14. Client simplicity and naivete
Adaptive Edge connection fabric clients should remain simple and stateless, focused on connecting, publishing or receiving data. Because no server or state data is maintained, new clients can be added to a connection fabric without topology changes. This future proofs the connection fabric and allows for easy adds and modifications to client configurations.
Conclusion: A New Age of Adaptive Edge
From autonomous vehicles to the new energy grid to Industry 4.0, applications increasingly require proximity to activity. Next generation distributed, multi-cloud and edge-autonomous systems need more than what legacy message brokers and streaming data systems can offer. This is growing the demand for adaptive connection fabrics that are lightweight, secure, distributed and environment-agnostic. These fabrics can fit multiple deployment paradigms and adapt and grow with edge applications, often replacing both messaging and streaming systems. These systems save infrastructure costs while increasing security and simplicity. With the adaptive edge, apps become the center of the universe rather than the clouds that or servers that run them. By applying the 14 factors, architects can ensure the messaging and streaming capabilities of their infrastructure meets the needs of adaptive edge applications, today and tomorrow.