Web applications are increasingly complex by nature and rapidly evolving in a landscape of increased consumer demand for higher quality experience, faster interaction and a low tolerance for security breaches of personal data.
While cloud computing and the emergence of the large cloud hosts has caused a centralization of compute resource, the next wave of compute innovation is happening at “the edge”.
Many applications stand to benefit from the scalability, reliability, performance and regulatory compliance options that computing at the edge can offer. The global surge in data use, the continued rise of innovative technologies such as VR and AR that require high bandwidth and low latency, the explosion of the Internet of Things (IoT) and the growth of 5G networks are all fueling the need for, and enabling the rise of edge computing. Change at the infrastructure level is essential to support these new forces; not to mention the increasing adoption of distributed computing architecture and an increasingly diverse and specialized hardware ecosystem.
Unsurprisingly, a robust community is growing around edge computing and new resources are becoming available as such, including the recently released State of the Edge Report and Open Glossary, which are a great foray into creating a common language and understanding of the edge.
Matt Trifiro (Vapor IO) and Jacob Smith (Packet) are the Co-Chairs behind the two ventures. They worked with colleagues at Ericsson (UDN), Arm and Rafay to create the inaugural Report to “cut through the noise, bring some order to the discussion, and build a community that cares deeply about edge computing and the innovations that will be required to bring its promise to fruition”.
The 93-page Report covers a lot of ground both in terms of what edge computing is in its theoretical sense and the pragmatic details of what a real-world edge computing architecture is comprised of. Key findings include:
- Cloud computing as it currently exists cannot alone support the demands placed on it by emerging applications and business needs;
- Edge computing and cloud computing are not mutually exclusive. There are current and future opportunities for hybrid architectures that can simultaneously make use of both infrastructures efficiently;
- Edge computing resources can be situated on either the operator side or the user side of the last mile network. Operator-side resources are referred to as belonging to the “infrastructure edge”, whereas operators on the user side are known as “the device edge”;
- Device edge resources are often limited by power and connectivity issues; the infrastructure edge has more potential for scalable resources to parallel a centralized cloud data center (albeit at a reduced scale);
- The mainstream adoption of cloud native technologies in recent years is a significant enabler for a healthy edge computing ecosystem.
One of the most interesting sections of the Report is that on ‘Pushing Applications to the Edge’. The potential for “new and previously impractical classes of applications” is rich - from the possibility of unthought of applications that process huge amounts of data to new use cases like autonomous vehicles. There is also a discussion of future developers building edge native applications, as well as existing applications being rewritten to be edge enhanced to optimize their performance and reduce their impact on the network.
Some of the applications discussed include large-scale Industrial IoT (IIoT) systems, IoT, autonomous cars, AR/VR, smart cities, video games, AI, machine learning and edge content delivery.
User demand for real time data interactions, the requirement for complex application logic execution in real or near real time to facilitate user experience, in addition to the increasing compute power becoming available at the edge, all adds up to mean that application engineers will increasingly need control and transparency over that Edge Compute Platform.
While there is no theoretical edge to the Internet (it being an interconnected mesh of compute), an Edge Compute Platform can be defined as the last place application logic is executed before the application reaches beyond the control of the application provider. Typically, this has historically occurred as the application moved behind a security perimeter that is not managed by the application provider, such as a browser or phone application. Traditionally, the Edge Compute Platform would be an Application Delivery Controller (such as a load balancer) or a Content Delivery Network. However, the IoT wave is changing this view of edge. We are now considering the Telcos and the IoT devices themselves as elements of the edge itself.
By 2020, Gartner predicts that there will be 20.4 billion ‘connected things’ in use worldwide - up from 8.4 billion things in 2017. These devices will increasingly be located in rural and remote areas as well as in cities close to large data centers as they tend to be today. There are multiple reasons for why the IoT benefits from edge computing over traditional cloud data centers, ranging from the potential for remote geographies to access their power to the necessity for latency in systems like autonomous vehicles to the challenges of meeting compliance requirements (particularly in the era of GDPR) when data is not processed locally.
IoT devices like smart home cameras or connected control systems can benefit from localized data processing as much of the data they create is local in scope. Single IoT devices will typically be fairly low bandwidth, but millions in aggregate have the potential to bring down networks. Sending large volumes of data to a centralized data center instead of processing it at the infrastructure edge with only certain results being extracted to be sent upstream will become increasingly impractical. In its end of 2017 forecast, IDC predicted that by 2019, 15% of manufacturers that manage supply chain processes and data-intensive production will be utilizing cloud-based execution models that rely on edge analytics to enable real-time visibility and improve operational flexibility.
Logic being executed at the edge is becoming increasingly complex as we have moved from simple image and static object caching (the problem CDNs initially set out to solve) on to application logic functions responding to real time data ingestion, such as:
- Full page caching based on cookies set or type of user interaction
- Image manipulation and optimization based on browser type
- Request blocking or tracking based on real time behavioural analysis
- Content composition or rewriting in response to analysis of user interaction and external data feeds
- More complex data consumption and logic execution activities are undoubtedly on the way.
The Edge is Not Ready
Innovation at the Edge Compute Platform has been hampered by the “network-first” approach of traditional Content Delivery Networks. The legacy CDNs have limited software flexibility, hard capital expenditure requirements and fail to provide sufficient transparency and/or control over the edge for application development and operations engineers.
Increasingly, edge delivery networks are emerging that rely on highly specific connectivity to ISPs at a regional level or between application facilities. In other places, specialized hardware specifically tuned to certain needs of the application is being developed. Edge networks are also operating application specific software and relying on highly customized configurations.
Most applications still rely to some extent upon executing code in relation to a dataset that is proximal to the user making the request. This further limits the potential for CDNs to deliver the next-gen content users are increasingly requesting.
As distributed infrastructure has become more possible and more a part of the mainstream, the approaches towards managing widely dispersed infrastructure have also evolved. The emergence of DevOps is in part driven by increasingly complicated infrastructure deployments. Configuration management has become a key part of the infrastructure ecosystem offering a powerful toolset for managing global systems. Furthermore, infrastructure as code is a necessity for managing these global edge delivery networks.
We believe that web software engineers and operations teams should be empowered to build, control, test and manage their own Edge Compute Platform. As the edge is executing application logic, the level of control and transparency should be the same as it would be if edge compute were part of the core application.
How Our Platform Enables You to Innovate at the Edge Compute Platform
Cloud computing has helped development and operations teams innovate and change without worrying about the underlying infrastructure. We are enabling developers and operations teams to build and innovate at the Edge Compute Platform by providing a level of flexibility, transparency and control, which to date has been unavailable in any other edge solution.
We provide developers and operations engineers with a platform consisting of three things:
A flexible library of edge logic software. We provide developers with a range of software from which they can choose the right solution for their application. We continually update and expand the available software in our library so that developers are not caught out with outdated software or prevented from accessing the Edge Compute Platform features they need. Developers and Operations engineers have the control and flexibility to upgrade and update when they are ready.
A flexible edge compute fabric. We provide developers and operations engineers with the choice of where they would like their edge to run. Developers and operations engineers can run the edge close to their infrastructure, at specific locations they specify or take advantage of the federation of edge compute infrastructure that we have created.
A DevOps centric control layer. Our platform includes a DevOps centric control layer, which has been built API and GIT first. Our control layer adheres to the principles of fast change and fast feedback with audit and transparency. Our control layer provides full integration with modern software development processes to allow development teams to move quickly and confidently and leverage the full capabilities of their Edge Compute Platform.
We do not:
- Build the edge proxy software itself, but rely on industry leading software; both open source projects and proprietary.
- Build edge compute, but instead rely on the vast array of deployed compute available - from the large cloud providers to the localised or boutique hosting providers and beyond - to compute available within transit providers and at the locations of end users and content creators.
- Remove or otherwise inhibit users from having full access to and control of the edge compute software. By offering greater levels of transparency and control, we expect our customers to be able to extract far more from their Edge Compute Platform than has ever previously been possible.
Our mission is to improve the Internet by providing developers and operations engineers with superior access to and control over a more powerful Edge Compute Platform.
We believe that every web application can be enhanced by a more effective use of a more powerful Edge Compute Platform. The Section platform makes this possible for modern developers and operations engineers.
The Section platform should be a pleasure for developers and operations engineers to use. It should solve the problems they face with respect to transparency and control of their Edge Compute Platform.
Developers and operations engineers should feel in control and empowered when they drive the Section platform to achieve superior application outcomes.
The Section Platform is:
- A flexible library of edge logic software
- A flexible edge compute fabric
- A DevOps centric control layer
We will continue to invest in our platform by:
- Adding additional software that users are interested in using at their edge
- Adding the means for providers of software to make their software available on Section’s Edge Compute Platform
- Adding additional compute capacity and locations to our Compute Fabric
- Providing more granular compute selection options to users so that they can tailor an edge compute solution for their application
- Providing a means for users to join compute capacity to the Section compute fabric
- Consistently improving the user experience as they interact with, drive and manage their Edge Compute Platform
- Maintaining and optimizing the performance and security of the core platform
- Simplifying quality control, compliance, and governance.