In our quest for knowledge and insight, we’re going to start posting key videos that highlight important challenges in our industry – the industry being CDN, Cloud Security and Infrastructure. This presentation is from our friends over at Fastly. Tyler McMullen gave one of the best, if not the best presentations on the Future of the Edge. (“Edge Compute”)
Basically, Tyler said that “Edge Compute” is doomed in its current form. Thus, CDNs have reached a fundamental limit when it comes to dealing with personalization / interactive applications – think Pokeman or social media. Instead, its about data at the edge, which he described as “Edge Data.” Being able to read it, write it and replicate it at the edge on global scale is the next big thing. Below, we summarize the important talking points by the minute.
Summary of Key Points
- 1:48 Interaction changed the industry, we started building apps differently. More dynamic content, more user interaction, much more complex interactions than the past. Started building different types of apps – Rest API’s, single page apps, mobile apps, social networks, etc.
- 2:26 Pokeman Go went from 0 to Twitter in 5 days and “Bigger than Tinder” on one day
- 2:57 – Event-driven content is content that was once viewed as dynamic, however, it isn’t always dynamic. Example, Wikia is static until someone changes it
- 3:30 – Fastly built an instant purging system that cached event-driven content
- 4:15 – What is the next thing at the edge? There isn’t a big thing at the edge
- 4:40 – Under current CDN model, event-driven content is the best thing they can do. “CDN’s are stuck” – the current model is passing rights and pulling them from origin. CDNs don’t do anything with rights right now – they always go to origin and then get pulled by origin
- 5:18 – The content that can’t be cached is content that changes on every request. Also, it includes responses that are different for every different user
- 5:30: CDNs can’t do anything with request that modify state at the origin. Request just have to go straight thru to the origin. Bottom line – CDNs can’t do anything with rights
- 5:50: Is what is being done good enough. Everything now is personalization. Example, Google news is different for each person. Go to any homepage on Amazon, or other ecommerce stores, and the pages people see are different for everyone. CDN’s can’t do anything with that.
- 6:50: CDN’s cannot solve the problems associated with interactive apps like Pokemon Go. Every time a user is trying to catch a Pikachu character, the user is modifying state. So what we have is tens of millions of users modifying state, all the time, constantly. Everything modifies state, which means it must go back to origin. Scaling the apps is a big challenge
- 8:13: Edge Compute is supposed to be the answer to the challenges suffered by Pokeman and similar apps. Edge compute is the idea of doing some sort of computation at the edge in response to a request or response, modifying it and doing something with it, and responding with something different
- 8:30: Previous attempts in doing computation at the edge have failed. Although industry and academia differ in how they approach edge compute, the one thing they agree is that current edge compute is stateless, whether it be in a cell tower or other edge location
- 9:20: Current edge compute is stateless, and stateless means no data there. No consistent state from one request to the next.
- 9:40: Edge Compute is doomed, at least in its current form. What is required is data. The missing part is data
- 10:00: Logic without data and without state is not going to work at the edge.
- 10:15: Infrastructure logic like routing request and load balancing can live at the edge but business logic cannot live at the edge
- 10:33: Personalization requires data. Being able to give every user a personal touch requires data about the user
- 10:51: Interactivity like Pokeman requires data and being able to modify data. Edge compute is good for video streaming but not business logic
- 12:00: Edge Data is the next big thing. Need to be able to read it, write it and replicate it at the edge. Logic plus data means you can build real apps and real interactions. However, this is a very hard problem to solve and folks have been working on it for long time.
- 12:30: Engineers working in large scale distributed systems understand the difficulty of solving that problem
- 13:00: Critical pieces to solving this problem include Global Replication – need to get data that’s changed from one place to all over the world as fast as possible. Next piece is Storage – to be able to store data, partition it and query the as quickly as possible. And next is the API and is Consistency – which is concurrent updates happening in multiple locations to the same data structure at the same time
- 14:23: The purging feature is really a fast global broadcast system.
- 14:45: SSD storage is really a fast scalable distributed storage system
- 15:02: Edge dictionaries is actually an API for using arbitrary data in edge logic
- 15:25: Synchronization is not reasonable on a global scale. For example, make a write in London and it replicate it around the world – then expect another location like New Zealand to respond to the write in London is not reasonable
- 15:40: However, sometimes global synchronization is sometimes not required. Example, like when playing Pokeman, a user is just responsible for his inventory and no on else.
- 16:10: There are more complex sync issues with other applications. Paper called “Conflict-free Replicated Data Types“ discusses this topic – how to build data types that always converge back to a central value – sort of like Google Docs. You can have users in two different countries working on the same doc. However, this would have to apply to all data types which currently doesn’t
- 18:21: CDNs have reached a fundamental limit. Edge compute is not going to save CDNs. The next big thing is data at the edge