Location-centric delivery apps like Uber Eats and DoorDash have skyrocketed in the last decade, with a massive increase in demand during the COVID-19 pandemic.
These services create unique challenges for technology and underlying infrastructure, as these need to be highly responsive and constantly updated. These applications have to matchmake in near real-time for a changing list of deliveries and a moving fleet of delivery vehicles around the clock. The information must include accurate street maps and real-time challenges for drivers, such as traffic conditions, public events and challenging weather conditions. Collectively, these factors are essential bits of data gathered and analyzed at the edge for route optimization.
If these factors aren’t considered when developing and maintaining a delivery application, then the application can’t be responsive to the needs of both the delivery driver and the customer purchasing the food.
Edge computing provides a powerful toolkit for developers looking to improve efficiency and remove bottlenecks for delivery apps. It’s all about bringing computing closer to the generation, consumption, and analysis of where data is created, consumed, and analyzed.
A working example: food delivery apps
A successful delivery app must give its users — both the purchaser and the delivery driver — an optimum experience. Excessive load time leads to end users abandoning an app for a competitor.
Centrally located cloud data is fine for a restaurants’ customer purchasing history and stock consumption. However, it is real-time data such as weather, local traffic conditions, and delivery location specific information that do the most to give customers their personalized suggestions and experiences.
Additionally, edge computing is critical for GPS and mapping so that the courier can deliver the ordered food at the user’s exact location, even if it’s a park, conference venue, or another crowded event, where cell tower reception may not be optimal.
Food delivery services like Uber Eats and DoorDash have also started offering grocery deliveries, introducing a new problem: customers being absent at the delivery time. This often leads to the cancellation or return of the order. Tracking is critical for these types of deliveries, as it gives the customer an accurate scheduled time of delivery. And, for regular take-out food deliveries, keeping up with the delivery status and estimated time of arrival is also crucial. Using push notifications for the order preparation and delivery status increases app engagement and customer satisfaction.
The challenge of localized delivery
Delivery apps tend to be highly localized. A service like DoorDash is primarily concerned with efficiently connecting the customer, the restaurant, and the driver. All of them are in relatively close physical proximity.
If a delivery app is being built that serves an entire country (or the entire world), geographically segmenting the back-end helps the app scale more easily. Nothing is lost by splitting the app into discrete geographic databases because we’re not going to allow a user in New York to order a pizza from Chicago, for example.
So, we end up with separate back-end instances for each region we serve, each with its high-speed datastore and in-memory cache. This lets us keep track of all delivery vehicle locations in real-time, perform instant matchmaking between orders and nearby vehicles, route deliveries efficiently, and give users frequent updates on the delivery status and ETA for all orders in a region.
But the work we do to partition our back-end goes to waste if we deploy our partitions in the cloud. Many users, delivery drivers, and vendors will have to connect to distant servers and endure high latency. When you’re dealing with tens of thousands of simultaneous users per city, 40ms of additional latency for each request adds up very quickly. Delivery couriers experience low-bandwidth connections, which contribute to lag and a poor user experience. Cloud regions help, but they’re a very blunt instrument. No cloud providers offer enough regions to deploy close to most of the areas served.
Why edge computing does local delivery better
Edge computing offers a compelling alternative to the cloud for delivery apps. We can leverage edge network locations strategically positioned in geographic hotspots to deploy our apps to users on fast servers with high bandwidth and low-latency network connections.
And even better, we can use standard technology like VMs and containers, so we don’t need to change how we build or deploy our applications. The net result is that our application performs better, makes users happier, and scales more easily. And we can still leverage the cloud where it makes sense! Parts of our application that aren’t performance and latency-sensitive, like billing and account management, can remain in the cloud.
By having parts of our application at the edge, it’s possible to implement personalization based on user context. For example, we can capture data on each customer and process it in real-time to deliver a contextually relevant ad or push notification. By pushing this processing out to the edge, we can analyze this personal data locally and generate real-time, relevant advertising. In this situation, it’s more cost-effective and flexible to use edge computing than sending data to the cloud for processing.
We can also leverage A/B testing close to our customers, creating a highly responsive user experience that offers real-time feedback. Edge computing can improve the computing experience by reducing latency and cost and improving the resiliency and quality of service.
Edge computing also helps food delivery services better understand consumer behaviors through the data collected while using the app. Developers can then use this information to create predictive models of future behavior while also considering what drives the decision-making process. And with help from either AI or automation technologies, we can even react accordingly. This is particularly true in apps that use chatbots and voice bots to engage with customers.
Computing at the edge enables devices to move away from the cloud and on-premises servers to collect and analyze massive amounts of information from different and diverse components in the food delivery chain. This leads to a better customer experience and improved business opportunities for food retail and restaurant operations.
Delivery apps are in a highly competitive market, with multiple players offering competing platforms selling the same products. Differentiation is critical to gaining customer loyalty. Edge computing helps developers improve data efficiency, reduce bottlenecks, and provide a real-time experience for delivery app users. This is critical to responding to food retailer needs and anticipating future opportunities for new business in delivery apps.
Are you looking to accelerate your app development? Give your app data and content the speed it requires — and the centralized cloud can’t deliver — by embracing edge computing. StackPath can help you get started and support your journey along the way with customer support, tutorials, blog posts, and other developer resources.
Learn more about edge containers, virtual machines or request a demo today.
The post Enhancing Delivery Apps with Edge Computing appeared first on Articles for Developers Building High Performance Systems.