Why CDN provider should think seriously about Server-less Edge computation platform aka FAAS

Swarvanu Sengupta
7 min readMay 9, 2018

CDN is generally a large number of distributed systems of servers deployed in multiple data-centres located in multiple regions across the internet. The main aim of the technology is to deliver and accelerate delivery of the content to the audience of end-users. The content owners choose CDN technology for many reasons, including significant high-performance, high availability to end user. Bandwidth-intensive content, such as graphics, live streaming media, web stored files and social network databases, are made available to users anytime anywhere in a flexible, on-demand manner.

The most common services offered by current CDN providers are:

Web Acceleration:

Its a group of techniques that make the delivery of dynamic/static websites more efficient. Which includes: Caching large and static contents, Dynamic cache controls, TCP acceleration, Data compression and other

Load Balancing

Because of their position on the edge, CDN servers have better visibility into incoming traffic and the origin server state. This enables CDNs to employ application layer load balancing, that improve traffic distribution efficiency by precisely gauging the actual load on each of your origin servers.

Security:

CDN abstract the origin server by hiding the origin server identity which protects it from direct-to-IP attacks and also allow to manage the traffic. Many CDN provider comes with security solution that works well for DDOS’s mitigation, web application attack mitigation and spam/bot attacks.

Content Storage:

Many CDN providers allow the customer to store their content is the edge server, it could be large media files, db file or scripts, and intelligently distribute across edge servers based on there needs

How the CDN marketplace is changing

Rise of IOT

The rise of IOT has changed the landscape of internet. With more entities connected to the internet, the demand of bandwidth, the amount of data and the requirement of computation near the device is one of the biggest challenge to solve.

As estimated there will be 20,415.4 million* IOT device connected to the internet by 2020. With more device connected to the network data will be more dynamic in nature that ever. To deliver that vast amount of dynamic contents and with limited bandwidth Network acceleration to solve middle miles would be a solution of the past. IOT needs true edge computation/ fog computation to target these challenges

IOT requirements are vast. Even though modern devices capable to higher computation power, it often tricky to manage devices with business logic running in the devices.

Most of the IOT devices need father computation on data/information collected from the device, although as the business logic is independent and it requires more computation power, it is often suggested to put the logic in Edge rather than the device itself. It requires a highly available feedback loop for the IOT device to request edge for certain computation and use the result to father processing.

Having computation logic on the edge drastically cut off the middle mile increasing the performance with near real time response

At the same time industrial data or IOT home appliances data would be extremely valuable for the data analytics farm for delivering business strategies by creating a BtoB model. Although the vast amount of data collected from IOT devices could be overwhelming for the data farm to work upon. The data aggregation logic can be put on the edge to make the data more compact and reasonable before sending it to the cloud

Hadoop based batched service can be hosted in Edge and triggered to aggregate and compress the data before sending it towards the Cloud. It will drastically reduce the overhead of data collection and the increase performance of both Origin and IOT devices

More Dynamic Content and Distribution of Ownership

With time dynamic contents has been risen drastically, the amount of cacheable content will be much lesser in percentage. With the rise of internet users the variety of data would be much higher and static website will hold a very less percentage based on the total consumer ecosystems. Content will be more distributed on the internet, making the concept of true origin server invalid. More client side code will determine which content to fetch from which source.

At the same time web server are becoming more business logic centric by distributing the concerns. For example an Oath authentication model can authenticate a user completely in the client side and then securing the connection between origin server and client. It makes origin server completely independent although secure, while the authentication is done by some other Oauth server.

With the rising awareness and significance of serverless model, it will soon make the logic more distributed. Edge computation holds a significant role to host a tiny set of certain logic which requires to run near customer origin to provide reliable experience to the customer at the same time taking the load out of origin server. For example an bulky image/video uploaded by customer can be resized in smaller resolution in the Edge, before sending it to the cloud.

Edge computing/ FOG Computing and what it means to CDN provider

There have been different proposal on the Edge computing. In fact the term EDGE is more abstract than ever. Although the overall goal has been same, by bringing the computation more closer to the device, it can drastically improve the performance by avoiding the middle mile

CDN provides one of the definition of edge by making available its servers caching contents near the customer origin. The same fundaments can be used by considering the IOT devices as a point of data source. Although the business model is very different than CDN logic, CDN provider may come-up with a platform to run business logics near to IOT devices than running it in origin server. CDN comes with few establish concept of edge to edge connection, content hosting and storage. Which would allow the CDN provider the base for building a FOG computation model. It will make CDN provider open a new door towards customers coming from either from IOT ecosystem or next generation web applications

Edge computation doesn’t mean running origin server in Edge

It’s absolutely impossible to run heavy weight application server in the edge for CDN providers. It needs huge amount of computation power and infrastructure. At the same time it often holds many complexity to host a always running full fledged application server that CDN itself is not meant for. Although it is possible for CDN providers to host lightweight small set of the business logic in the Edge, which will drastically improve the reliability of the client, or improve the performance of the IOT devices

Evolution Of CDN

Considering the limitation in total computation power and the possible market for business, CDN providers should move towards Server-less platform for Certain Functions (Function as a Service model), to host dynamically managed, event driven and lightweight business logics that can be deployed with ease and can improve the end user / device experience.

SERVER-LESS why ?

Serverless computing is a cloud computing execution model in which the cloud provider dynamically manages the allocation of machine resources. Pricing is based on the actual amount of resources consumed by an application, rather than on pre-purchased units of capacity. It is a form of utility computing

Rapid Deployment Rapid Update

Serverless functions are stateless, with the proper separation and encapsulation its easy to roll in/out different version and deploy with ease. Docker based eco system allows to rapidly deploy and roll in changes

Scalability in its core

Function are not full fledged web application yet a small set of business logic encapsulated. Which allows only a certain functionalities to be scaled in large numbers rather than scaling the whole application

Event Driven

Which makes serves-less platform truly different is functionalities hosted in serverless platform are not always running but spawned and scale based on events. Which makes the pricing model completely different than of tradition web server hosting with pre-purchased units of capacity. Pricing could be based on request count and resource consumption. With no request made there is no existence of functions

PART 2: Steps to build a Server-less Edge computation platform for CDN providers

--

--

Swarvanu Sengupta

Senior Full Stack Engineer at GoJek, Love Creating Stuff, Extremely Curious, Anxious and Laborious. Into outdoor and Reading | He/Him | Views are my own