What is Edge Cloud Computing?
Two of the most significant technological advances in technology are edge computing and cloud computing. These two technologies are starting to converge, creating a hybrid model that is transforming everything we know about how to build effective applications for use in an always-on world. By combining the strengths of edge and cloud computing, you can process data on devices and then send that data to the cloud. Edge cloud computing allows for data to be processed, analyzed, and saved using less processing power and reduced latency.
Edge Computing vs Cloud Computing
Edge computing is the concept of processing data near to where it is being used (i.e., the edge) rather than at a centrally-located processing center (think: data center). What is "the edge"? Precisely what constitutes the edge is both arguable and situational. For instance, if a process has limited security requirements—like applying a filter to a photograph for social media—the edge may be the device in the user's hand. A process that requires more security—such as validating a money transfer—may need to be completed on the nearest secure device, such as a network-resident logic node or the nearest cloud cluster. In both situations, the goal is to reduce the delay between the request and reply. We do this by implementing edge computing and eliminating the need to ferry information across the Internet.
By contrast, cloud computing is the concept of virtualizing server capability and capacity. This concept means that servers are, at the same time, everywhere and nowhere. Instead of keeping data and business logic on a physical machine, organizations utilizing cloud computing use virtual machines that are typically provided by a third-party cloud provider. Like edge computing, the goal of cloud computing is to reduce the delay between requests and replies. The advantage of cloud computing is that it increases the availability of systems way beyond what would be possible were they singularly resident in a self-managed data center.
There is, to a degree, a central dichotomy in imagining a combination of these two concepts to create the amalgamated edge cloud computing concept: edge computing decentralizes computation and processing. In contrast, cloud computing, almost by its very nature, assumes substantial centralization.
However, cloud computing's centralization is almost entirely virtual. With cloud computing, the user must connect to a backend that is farther away than it might be if they were to process data right at the edge. Nonetheless, the ability to replicate and synchronize both data and business logic means that that 'centralized' service can be virtually nearby, housed in a regional hub that cuts out thousands of miles of distance between user and service provider.
Both edge and cloud computing deliver on the promise of decentralization: providing a service level that is unaffected by geographical distance, random network degradation, or periodic scheduled maintenance—because the ability to process information is pushed closer to the user. That information processing might happen on the user's device, on an intelligent network, on a virtual server in-region, or even through the provider's self-managed data center (if it is the closest, most economical source of computation). Still, ultimately the challenge of time wasted by forcing information and logic to traverse physical distance is optimized, if not eliminated.
Edge Cloud Computing Infrastructure and Application
To combine the two approaches into edge cloud computing requires an altogether new way of thinking about both infrastructure and application architecture and design:
Infrastructure: to make edge cloud computing a viable approach, network architects must consider where in the world they want to provide computational power, as well as where they can do so securely. Maintaining a hybrid of edge and cloud computing will require new processes, updated tools, and regular re-training of teams. For instance, UI-level activity can be driven by a user device. More secure, yet frequent, events, like logging in to a system, can be offloaded to an intelligent network or a local regional replicated instance of the core system. Deep searches and pattern matching may be retained at a centralized location to protect intellectual property and to provide genuinely unique and custom-built hardware to the challenge.
Application: edge cloud computing requires an extraordinary amount of pre-planning, as developers must decide where the various sub-routines of their system will reside. For modern processing, there is an increasing need to move as far away from the legacy "monolithic system" approach as possible, building out the majority of the logic of the application in self-contained modules with extensive and flexible APIs. Everything non-local should be called via lightweight APIs, regardless of whether the logic underlying is kept on an intelligent network, a globally-replicated cloud, or a centralized data center. Moreover, data architecture will need to be established early, so that the data required for computation at any location (edge or cloud) is present in the same place.
The Future of Edge Cloud Computing
This sort of planning marks good news for a class of business tools that are just starting to become major players in the development industry: API planning, testing, and documentation tools like Swagger, Apigee, and Postman.
The development space has veered away from waterfall-style projects that start by building out an extensive and detailed design plan. Agile projects tend to begin with narratives of what is to be built, then build small pieces, and iterate against the outcome in short sprints. In this project model, plans are more flexible and are accomplished at a higher velocity without sacrificing results. The addition of API tools, crucial to the successful execution of an application relying on edge cloud computing, represents the best opportunity to split the difference, making iterative and creative development line up with a process that delivers the project as planned.
While edge computing and cloud computing may initially appear to be mutually exclusive, emerging understanding of how to merge their strengths suggests that the amalgamation of the two into edge cloud computing is inevitable. Tomorrow's developers will be puzzled at the idea that any system would be centralized. Project development will commence with a clear sense of where data will be stored, where business logic will reside and execute, and how the various API elements that comprise the total solution seamlessly interact with one another.