This was the summer Pokémon GO became the most successful mobile game ever. But the game is only the first of many applications that will blend the physical, the virtual, the mobile, the social and the commercial to deliver a unique and personalised experience for users.
For developers this raises a really important question: how is that achieved? How do you build an infrastructure that supports that mix of location data, social data, personal data… and deliver a consistent, high quality experience to millions of mobile users? How do you connect it all together? How do you manage massive peaks in usage?
The first key challenge is complexity. These virtual-real world experiences aren’t standalone applications but instead rely on a mesh of various elements that need to be interconnected. They are complex because they are built on various different types of infrastructure.
Pokémon GO, for example, is a blend of mobile analytics, Unity’s Technology’s game engine, social data and two public clouds. Some of these applications deal with private user data and so have to sit on private infrastructure for security and data privacy compliance. Others operate on proprietary compute platforms, while other infrastructure is needed for storage of catalogues, or the private compute of analytics data. The greater the number of different architectures needed, the more complex the network can become. The solution is to simplify and optimise that network to get the best quality of experience for the end user.
Another key challenge is uncertainty of demand and the issue of large audiences that scale up and down as the sun moves east to west across the globe. The aim here is to have the compute power necessary to meet massive peaks in demand without over-investing in your own private infrastructure. The only way to do this is to leverage a hyperscale public cloud platform like the Google Cloud, AWS or Microsoft Azure and burst into the cloud during peak hours.
How you interconnect with the public cloud infrastructure is once again crucial. Unfortunately, connecting the private infrastructure to the cloud over the public Internet is simply not good enough. This is because the Internet is a best-effort system, and delivers a very unpredictable and unreliable bandwidth. Further, because it’s public, and therefore unsafe, encryption is required which only adds further latency. You may find that by using the Internet you actually cancel out a lot of the advantages of using the cloud in the first place – flexibility, cost etc.
And finally, a great challenge is the global nature of these applications. They need to be available everywhere and at all times so it’s not enough to deliver a VR application from a central data centre and fan out from there across a continent. The quality of experience will simply not be there as the further users are from that central, single location, the worse their experience will be.
Interconnection Hub Architecture
The best way to meet these challenges is to adopt what we call an ‘interconnection hub architecture’ model. In other words – a corporate network which is centred around regional interconnection hubs. By placing private infrastructure within ‘interconnection hubs’ you connect directly with partners, suppliers, public cloud platforms, network providers. And by establishing a mesh of these hubs, you serve key continents – US, Europe, APAC etc
Taking Europe as an example, the best way to achieve all this is to establish edge nodes/ data centres in all the key regions being served – say, London for UK&I, Madrid for Spain and Portugal, Stockholm for Nordics and Russia, Frankfurt for mainland Western Europe etc. These edge nodes would be placed in colocation centres which also house your national network providers, Internet exchanges, CDNs, gaming platforms and cloud service providers.
That way the edge nodes would sit next to the major cloud platforms that you use and would be interconnected directly and privately to those platforms, meaning you get the optimum connectivity into and out of the cloud. Further, as your network service providers are present in the same facility, you can directly cross connect to their network equipment, again optimising that connection, to take the application out to end users. Then, by interconnecting all those data centres up, you create a mesh network.
Often these games or ‘experiences’ are reliant on a number of different applications that need to interact with each other: the core game or software engine, GPS maps, mobile analytics, social media via API, public clouds etc all being interconnected by mobile and fixed line connectivity.
This way you blend the ability to deliver the quality of experience while there being uncertain, global and peaky use.
It’s only by adopting this model that mobile AR applications can overcome the challenges posed by blending all of these different architectures. In short, you can only optimise a mobile AR application if you first optimise your IT and your corporate network.