Eggplant’s CEO, Dr John Bates, explains edge computing and its benefits in a smart city context.
The world is becoming smarter, with seven out of ten people likely to live in a smart city by 2050. Cities are already introducing smart traffic lights, buildings, transport, waste collection – the list goes on. But when it comes to vital aspects of a city’s infrastructure, it’s imperative that they work as expected, 24/7.
Typically, these smart traffic lights and buildings operate via the cloud. However, if their cloud network connection were to be interrupted, all ‘smart’ things in the city would rapidly become quite ‘stupid’ and stop working. This would be disastrous for a city; you can imagine the chaos on the roads, or the frustration of citizens as their uncollected rubbish piles up.
How can city planners combat the problems of cloud-hosted smart city technology? One answer is edge computing.
Instead of hosting ‘smart’ infrastructure on one cloud, intelligence is moved to ‘the edge’: a set of smaller clouds that collaborate locally to drive intelligence with shorter communication time.
This reduces risk significantly and speeds up decision-making time, as the intelligence is hosted closer to the technology.
Testing at the edge
As technology advances, so must testing. Modern applications are no longer monolithic applications with one piece of code that runs on a computer; they’re now much more complex.
Now, applications have a user interface and a ‘layer of logic’ on a tablet, for example, that communicates with microservices —whether in the cloud, on the edge, or a combination of both.
So, how do you test smart technology that uses edge computing? Here’s an example: fleet management applications typically track their vehicles and gather information. This information can be data from smart tyres, letting management know how well the vehicle is being driven, how far it has gone, and the state of the tyres. This information is gathered through the edge – a small computer (telematics box) on board the vehicle, gathering data wirelessly from the tyre sensors.
This data then goes up to the cloud via GSM, where it is analysed and the resulting analytic insights distributed to various tablets. Insights could be that truck A could save 10p per mile by inflating tyres, truck B is in danger of crashing based on the driving style of the temp driver and truck C needs 8 new tyres in 1,000 miles – let’s book an appointment.
To test this complex application process, the company must test a ‘slice’ through the architecture and infrastructure of the IoT stack. This can involve triggering APIs at the edge and cloud, inspecting that the right behaviour is being exhibited by microservices, as well as taking control of mobile devices and driving them as a user would, seeing the information flow as the APIs are triggered and ensuring the analytic outputs are correct.
It may also involve simulating different network conditions to test under – e.g. if a truck is going through a tunnel or has patchy coverage, what happens? To achieve this requires an approach that can fuse together API testing, human-centric testing, and code-centric testing, combined with network simulation and the ability to take control of heterogeneous devices to drive a range of test scenarios. These requirements are driving a new generation of IoT enabled test automation platforms.
A performance edge
In smart cities, application performance has never been more important to the user experience because, simply put, citizens act as customers. A citizen can’t have a traffic light experiencing connectivity issues – the ramifications are too serious. Similarly, workers can’t afford to lose access to their place of work. Smart infrastructure needs to be ‘always up.’
Even with complex applications, there is a universal expectation that information will arrive reliably and quickly. Moving from the cloud to the edge could be a solution for companies to keep their UX in good shape for the smart cities of today and tomorrow.