Thursday, September 5, 2019

The cloud and the network edge

There is so much talk about edge computing these days that it is easy to feel confused. There seem to be as many definitions as to what and where is Edge Computing as there are vendors and service providers.

While the amount and type of computing and its location are debatable, there is an element that I feel is missing in the discussion. For me, the edge of a cloud or a network is the closest point to the user / developer to provide a continuous and consistent experience. This notion of continuity is key, in my mind, to the definition of Edge Computing. After all, deploying a compute or storage capability at a remote location to provide local or decentralized service is not a novelty and can hardly qualify as edge computing.

The clouds' edges

Beyond compute and storage, connectivity is an equally important and often ignored component of edge computing. To provide a consistent and continuous experience, a provider has to control not only the routing but also the connectivity performance associated with its services. A cloud's performance is function not only of the raw compute capabilities, but also its geographic scale and the capability of the provider to deliver an homogeneous service across a variety of regions. This is why large cloud providers routinely flaunt not only the size and number of their data centers but also the dedicated network that physically connects them and guarantees cross-regional performance. Deploying data centers in a nearby location where you consume cloud services can have a radical impact on your user experience, as a consumer or a developper. This is why cloud providers tend to emphasize proximity.

Performance is not strictly related to physical distance though, or rather, it is more related to your physical distance to the peering point (where your internet service provider's backbone terminates and your cloud provider's starts) and the number of hops and devices your traffic has to go through. The distance might be relatively short, but if the traffic has to go through several peering points, or if the peering is unprioritized with the rest of the internet traffic, performance might vary dramatically.

A cloud provider is only able to measure and guarantee the performance of its "inner" network, up to where the traffic enters or exits its network to the internet. If we accept that an edge is the point at which a provider can deliver continuous and consistent experience, then the cloud's edge is certainly somewhere between these centralized data centers and the peering points. Beyond, as traffic enters the internet, performance is no longer guaranteed or controlled.

This is why we have seen Amazon, Google and Microsoft, lately, start discussing with network operators the possibility to deploy their edge in fixed and mobile networks. The value proposition is simple: let us deploy our mini data centers in your networks, so that we can provide the same cloud services your customers consume, with an enhanced performance due to the reduction of traffic transiting through unmanaged internet.

Each provider is looking at a slightly different positioning, ranging from Space as a Service, a fully managed infrastructure by the cloud provider, deployed in a telco data center, with a nominal revenue share on traffic and resource utilization, to a IaaS or PaaS do-it-yourself edge compute environment based on open source cloud computing tools. The business model is underpinned by the size of each provider's developer's community and their ability to monetize the investment through differential user experience. From their perspective, deploying their infrastructure in a telco data center is a natural organic expansion of their growth and they have trouble understanding the telco's resistance in accepting essentially free infrastructure that will generate new revenue streams quasi immediately.

The telco network's edge

While most telco providers have dabbled in cloud services, they have not been really successful at providing a convincing cloud offering, incapable of matching the geographical scale or the lifecycle development services of the traditional cloud providers.

Many see edge computing as a chance to re enter the cloud value chain, by providing a valuable performance enhancement based on an asset that is expensive and difficult to rival: their network capillarity. As 5G investments business case are being examined, it is clear that consumer retail market will be unlikely to justify alone the investment. Wholesale, IoT and B2B2x might be the key to sustainable growth. If 5G's promise is to deliver a substantially different user experience (not just more speed / volume, but different services with guaranteed performance), edge computing is going to be an important part of the deployment options.

Some bet that edge computing will be a market opportunity large enough that a new ecosystem can develop, with developers, providers and clients that can be distincts from the traditional cloud value chain. Their bet is that they can control that ecosystem if they define the infrastructure, the services lifecycle management and develop a platform for developers to deploy and consume edge services.

Burned to some degree by their experience with video caching - where telcos were too slow to identify the opportunity and accepted video providers' proprietary caches in their network in exchange for a revenue share that never materialized - Telcos resist the idea of deploying dark infrastructure in their networks that they won't be able to monitor, control or monetize.

This is why they tend to wait or actively work on a "standards" based edge computing ecosystem to develop; where they can buy and deploy cloud technology in their edge and offer PaaS or SaaS to developers.

The battle at the edge

It is understandable at this stage of market maturity that the different actors in the value chain try to capture as much control until a consensus is reached. I suspect that whether edge computing is more about cloud or more about connectivity could dictate the position of the actors in the resulting ecosystem.

Beyond adversarial positioning, there is certainly a hybrid approach that would merit investigation. While telcos are certainly struggling to create an edge computing infrastructure and platform that would offer a homogeneous experience to developers irrespective of the network or country at the same level as a cloud providers for years to come, it is also unlikely that cloud providers will have the appetite to operate and manage not few but thousands of data centers worldwide, if latency becomes a real competitive advantage.

From that perspective, there is surely an opportunity for collaboration, where cloud providers could contribute their cloud infrastructure, development and management tools and platforms as a a service to telcos that could assemble and operate them in their network, controlling access and utilization for their internal and own brand services, while allowing the cloud provider to sell their services in the same environment. An additional benefit would be in a deeper integration, allowing cloud providers to consume, operate and resell slices or QoE packages of their cloud services in the edge environment.

This scenario requires a little more openness on both side, and the understanding that it is unlikely that the edge battle can be won by a (category of) player alone.

I have been playing around over the last few years with telco edge computing, Amazon Outpost, Google Anthos and Microsoft Azure stack. There is a path to create a lot of value, but it requires a level of integration that goes beyond today's level of comfort of cloud and telcos. I bet the first collaboration of that sort will create a de facto standard in the industry and have a strong first mover advantage.

Wednesday, April 3, 2019

Gaming in the edge of cloud

As i just wrap up a couple of weeks immersed in the world of cloud gaming, I thought I would share some of what I have learned and a few opinions on the subject while it is still fresh in my mind.
First, a short confession - I have been a gamer since my first Atari Pong and Activision consoles - I don't play enough to my taste, since I haven't been able to reach my lifelong ambition of being paid to play video games.
An opinion has formed and has imposed itself as an evidence through my various meetings at the Game Developers Conference last week:
Gaming is like video streaming a few years ago: we used to look at a fraction of mobile users as "bandwidth hogs" as 5-10% of them used 70-80% of data capacity as video streaming appeared. Within a few years, as LTE was implemented at scale and higher capacity became available, we found out that we were all bandwidth hogs, we were all willing to stream video, if the networks were fast and reliable and if the costs were reasonable.
I feel that gaming will go through a similar aha moment once we make every game available on any device, at reasonable price, without having to buy or build expensive PCs or consoles. We are all gamers, we just don't know it yet.
As I turn my attention to this market, I find that much of my gaming experience still has a lot of frictions:
  • Buying a console game requires going to a store or a long download (if I have enough storage left)
  • Buying a PC game requires the same, with the added effort of ensuring that I have enough graphic capacity, computing to run it well. If you're hardcore, you start chasing latency by buying specialized keyboards and mouse for fast twitch response.
  • Once I put the disk on my system, I usually have to wait to download updates, patches, installation...
  • Once I start playing, my community is usually linked to my console or service, the Venn diagram of my physical and digital friends has overlaps that are artificial
  • I would like to think i would get better results if i had better connectivity, as lag affects my performance, particularly in First Player Shooters.
  • I still cant play my favourite games (well) on my phone or tablet.
All in all, gaming is already great, but there are many things we could do as an industry to make it better. As I look at the market and the games that are the most popular, there are a number of clear trends:
  • Game studios are starting to enforce real multiplatform play, thanks to Fortnite
  • There is interest in extending the life cycle of a game from one shot, to downloadable content, to subscription
  • To satisfy players, and keep them engaged, MMO (Massive Multiplayer Online) is key
  • Freemium can work (thanks Fortnite, Apex...)
  • Cloud streaming works OK for single player but struggles for MMO, particularly looking forward to 1080p, 2k, 4k, VR / AR...
  • Gaming is still a large screen first experience
Online Gaming requires cloud. Cloud Gaming requires excellent connectivity. Gaming streaming requires a better cloud and better telco. Edge computing might be able to help there.