How to Build a High Performing and Reliable Mobile API Ecosystem
September 11, 2017

Shlomi Gian
PacketZoom

Application Program Interfaces (API’s) represent an effective way to build and manage mobile services. By using APIs — a set of routines, protocols and tools for building software applications — application developers no longer have to buy technology software or hardware. Instead, they can simply plug into a growing open ecosystem of API-driven services. It is simple to integrate, and saves time and money for new developers.

There are countless mobile API-based services. From authentication, ads and payment APIs to price comparison and reporting API based services. The availability of these APIs made mobile app development much simpler, but this simplicity comes with a price.

Unlike images, game assets, videos and other type of static content, APIs are dynamic in nature and their content cannot be cached at the edge of the internet to increase download speed. Often times the result of an API call is customized per user profile, its location and the activity he/she is trying to accomplish. A user searching for a Mexican restaurant in downtown San Francisco will get a unique (non cacheable) search result.

There are three main challenges with existing API configurations that directly impact any mobile app performance:

Response Time
Since API responses are usually personalized, its content cannot be cached by the CDN. Some of the responses could be sizeable and include dozens of images that will have to be downloaded on a slow mobile connection. This impacts the API response time and eventually the mobile app.

Reliability
Mobile networks are less reliable than wired networks with Packet Loss and error rates that are 10-20 times higher. This affects not only the app API response time but most importantly its failure rates. Mobile developers have to factor into their code fail conditions and a proper way to handle each one of them, which can complicate things.

Server Load
There are two sources for high server load: (A) Failed transactions due to network error will usually follow by API call retry, keeping the server busier than it should be; and (B) API calls over slow connections means that the server has to keep connections open longer, consuming more resources than needed.

How could mobile developers mitigate the risk when using APIs?

While caching is not possible, one could accelerate an API call using a few techniques:

■ Protocol Optimization: By avoiding slow starts, backoffs and other TCP hiccups, downloading a sizeable API response could become faster. Traditional CDNs offer such an optimization in the middle mile for a premium price.

■ Routing Optimization: Speeding up access to the origin server API can be achieved through better routing of the request/response in the first and middle miles. Traditional CDNs can offer this for a premium price.

■ Persistent Connections: To avoid the “TCP handshake” overhead one could keep the connection open/warm and save a few round trips for each new request. This technique should be used carefully since overusing it will once again increase server load.

Unfortunately, since all the above techniques take place in a wired network (as opposed to the wireless link) the performance impact is marginally low while the cost (to various vendors) is not.

Most importantly, none of these techniques can be technically integrated with 3rd party APIs, unless the vendor operating the service is cooperating.

Shlomi Gian is CEO of PacketZoom

The Latest

February 15, 2018

Organizations are focusing investments on security and analytics, while actively researching emerging technologies such as machine learning and artificial intelligence, according to the 2018 CIO Tech Poll: Tech Priorities survey ...

February 14, 2018

With so many other initiatives to manage, DevOps isn't a top priority for all companies now. Many organizations believe it's wiser to wait. But in fact, the business case to integrate now is very strong — in fact, it's "do or die" territory. This infographic outlines some key reasons why organizations should integrate their software delivery value stream immediately ...

February 12, 2018

Accelerating multi-cloud deployments are enabling organizations to select the cloud platform that best meets the requirements of a specific application, according to the 2018 State of Application Delivery report from F5 Networks. However, this also increases the challenges many companies face in managing operations and security across multiple clouds as they transform their application portfolio to compete in the digital economy ...

February 08, 2018

The slowness of enterprise IT departments to embrace automated, cloud-native solutions for the cloud infrastructure challenges they face has resulted in IT infrastructure that is often ungoverned and insecure. And this is despite the fact that the cloud can be more secure as traditional data centers ...

February 06, 2018

Bank IT teams must embrace that their DevOps capabilities will determine their agile capability. Agile breaks down the barrier between the business and IT, and operations must be treated as a critical element of an agile program. In modern software delivery, the business, development and operations must execute as a unified team. To achieve this, banks are increasingly turning to Continuous Integration (CI) practices as part of the solution ...

February 05, 2018

IT professionals show a heightened concern for cybersecurity risk related to API use, according to a new survey conducted by Imperva. Specifically, 63 percent of respondents are most worried about DDoS threats, bot attacks, and authentication enforcement for APIs ...

February 01, 2018

DevOps are pretty clear for application development, those same applications often have a database back-end. If DevOps is increasing the frequency and reliability of new features for applications, a slower pace of database development can slow down and hinder those same releases ...

January 30, 2018

Without a doubt, DevOps is becoming the go-to strategy for organizations of all industries and sizes looking to master digital transformation and provide the fastest value to customers through software delivery. It is becoming clear that organizations adopting DevOps need a true leader (or engineer) to keep the transformation on track. The following are some tips when hiring for DevOps ...

January 29, 2018

When was the last time your company experienced a significant database error? If it happened in the last 3 months, you’re in good company. In a recent study, 60% of respondents reported a crash or significant database error occurring in the last 6 months. Roughly one in ten respondents reported a serious database problem in the past week ...

January 25, 2018

You've already recognized that business transformation requires digital transformation. Your organization is staffed with the best and brightest developers ready to implement the innovative, business-differentiating technologies you need to attract, engage, and retain customers. And you've invested in scaling Agile, driving DevOps adoption, automating the Continuous Delivery pipeline, and all the other components involved in moving from ideation to delivery as rapidly as possible. So what could possibly go wrong? Testing ...

Share this