APIs explained: A connected future

If you’ve done so much as opened your smartphone today, you have indirectly come in contact with a number of APIs. Opened the Twitter app, shopped online, or checked prices for a flight? By now likely hundreds of unique APIs. 

APIs have changed the way we conduct business, and they are here to stay. Over the next few years we’ll start to see them shift even more from the technical talks to the business conversation. Here we are explaining APIs and how they work. 

What is an API?

API stands for Application Programming Interface. Helpful, right?

In concrete terms, an API is an exposed function, or piece of code, that allows access to data for the consumers of a product or service. Some may describe it as a messaging tool for sharing data, which is an accurate way to depict it. APIs allow lightweight, fast sharing of data for B2B or to consumers. 

Think of an API as a pre-built query for important information you may want to know. When you request the information for your specific data requirements, it returns a response with what you need. Let’s take a look at a few examples used in business today.

Examples of APIs that exist today

Think of a product or a service that contains information you need. Maybe it’s an online store, your banking app, or a restaurant reservation system. When you enter a specific search parameter (Women’s shoes, Size 6, Sandals), it displays the shoes they have in stock.

Now let’s take it a step further for some of the business uses. To offer a service or product, businesses may have to rely on the data of other businesses. Take for example Mint, the budgeting application. It’s imperative for Mint to have integration and API access to credit card companies, banks, and lenders. Without it, the budgeting process would be much more arduous for the end-user.

Back in college, I developed a simple program for an IT services company. This program would calculate and display a coverage map. The objective was to find, given a list of addresses for service operators and a list of addresses for the retail locations, what percentage of retail locations of the 14,000 in the list would fall within a 90-mile serviceable range from the operators. But for the application to work, I had to be able to calculate driving distance for each of these. Enter the Google Maps Drive Distance API. 

By passing the two addresses from my program as parameters, this specific Google Maps API would return drive distance between the two. Because of the data from the Google Maps API, I was able to provide value with my program to determine how many locations would fit within the 90-mile range of the operators.

APIs exist for more than just retrieving data. Let’s use a reservation system for example. When you check availability for a hotel online you may be using the “Check Availability” API to query for the selected dates and location. And when you book a reservation you’re using the “Reserve Room” API to insert a new reservation record in the system.

Now we’ve seen some examples. Let’s dive into more of the details.

How APIs actually work

Think about how you interact with a website. When you load a page or click a button, you are sending a request, via HTTP (HyperText Transfer Protocol). That little delay between clicking a button and having the page fully loaded is the server working to process your request and return a response. There is information on the response message containing the information queried. That data is paired with HTML, JavaScript and CSS to make up the page and graphics you see. 

Most APIs today are actually built on the exact same HTTP protocol. An API is hosted on a server endpoint, similar to a website, which will be a specific URL. For security, APIs leverage “API Keys”, also referred to as “auth tokens” included in a request payload. These are used validate that a request is coming from a trusted user. 

An API call to an endpoint includes information in the request, including the parameters, auth token, request method, and more. The server logic processes this combination of information to determine which logic to invoke. An example is below.

Good APIs are specific, well-documented, and don’t change often

APIs should be very specific in the technical and business functions they perform. This makes the process more efficient for the server that the API is hosted on, leading to faster response times that benefit both the producer and consumer of the data. APIs should also be well-documented in order for the end-user to understand what function is actually being performed. 

Businesses write API calls to other services into their code. For this to work, is crucial for the producer of the API maintain the same “contracts”, or messaging payloads. One small change in the text required could cause an error and render an entire application useless if it relies on data from the API. 

APIs will only become more important over the next few years

As we process more and more data, the need for flexibility in how we process and manage this data will increase. We have already begun to see some companies emerge that are “API-first”, meaning they prioritize their API development over a user interface and do most of their business through this. 

How 5G is Transforming Cloud Computing

By now, you are likely at least vaguely aware of cloud computing. Everything is in the cloud. Want to store your pictures from your iPhone so you’ll have them forever? Sync to the cloud. The ability to share a trip itinerary with five of your friends and all edit the document at once? Edit on the cloud.

Cloud computing has come to play an integral part in our daily lives, whether we realize it or not. Much like how the internet changed the way we communicate and share information, cloud has taken that to the next level of connectivity. The ability to collect and process aggregate information from millions of devices and rapidly deploy software changes only scratch the surface. 

As 5G is introduced, it’s promising to bring changes across seemingly every industry. We’ve heard the basics: transportation, healthcare, video conferencing, etc. but how will it serve as a catalyst for other technology changes? 5G will affect and maybe transform cloud computing, not only from the perspective of use-cases and applications for the technology, but the architecture and data flows of cloud as we know it.

Brief explanation of cloud today

Cloud computing, in the simplest form, is an infrastructure that gives the ability to store data on remote servers and transmit that data across the internet. The concept for cloud computing actually dates back to the ARPANET days in the 1960s, but the first application hosted in the cloud wasn’t live until 1999. 

Cloud computing is what enables “Software as a Service” (SaaS), and other “as a service” models, which have become the most widely used methods for businesses to connect to consumers and other businesses. Cloud computing allows companies that want to host a website or application to move away from “on-prem” hosting. This means they’re able to forego the need to invest in data center equipment and provides much more flexibility in the amount of data that can be collected and stored. 

A cloud provider such as Microsoft, Google, Amazon, etc. typically has data center “farms” in a few locations around the world. Traffic from customer applications and websites are routed there, sometimes thousands of miles from the laptop or smartphone of an end-user.

This is a mile-high-level overview of cloud computing that skips the intricacies of the protocols, hardware, scaling and other details (we’ll cover more on that in another post). The pertinent information here is the scalability and flexibility of cloud in that it enables companies to rapidly expand the amount of data they are processing without the needed hardware infrastructure.

Cloud meets 5G

5G is bringing sweeping changes to how we connect, interact, and live our daily lives. Thanks to increased bandwidth and low latency, 5G will provide the infrastructure to share more data than ever before, at almost real-time speeds. With this will come transformational changes to cloud use and infrastructure.

In today’s world, we have smartphones. We may interact with, say, twenty five applications on our smartphones on a weekly basis, and those apps transmit data to the cloud (as well as sharing to other apps). In addition, we use tools for work, speak with a voice-assistant at home, and perhaps use a smart-watch or fitness tracker. Needless to say, we are connected in numerous ways and are directly responsible for quite a lot of data transmitted.

You haven’t seen anything yet. The first change resulting from 5G will be the sheer amount of data processed by the cloud. Thanks to the increased bandwidth and reliability of 5G, more devices will be connected to the cloud than ever before. This is the IoT revolution that you’ve likely heard about.

More devices on the cloud leads to a different world

When you think IoT today, you likely think of household items. Thermostats, refrigerators and cameras are some of the common ones. With 5G, the realm for these connected devices will no longer be constrained to a WiFi connection. This means that we’ll begin to see new devices emerging, quite literally, everywhere.

Sensors will account for a large portion of the new technology. Small devices that detect and record basic information. But as these sensors will be able to be housed essentially anywhere and connected to the cloud, the possibilities will be endless.

This is where it can be fun to think creatively. Farmers and agriculture companies are already rolling out sensors for measuring soil moisture levels. Robotic automation in manufacturing and logistics will be much more enabled. Navigation apps can become much more effective by utilizing sensors in street parking spots to provide real-time visibility of the best place to park your vehicle. (Or simply directs your vehicle autonomously.) 

In order to interact and serve their purpose, these devices will have to connect to some form of the cloud. 5G makes this widespread connectivity possible. This means that billions of new devices will be connected to the cloud across the globe, transmitting more data than the world has ever seen. But it doesn’t end here.

The real-time revolution

One of the primary cornerstones of 5G is ultra low latency. Thanks to new technology allowing this enhanced processing time, 5G will be able to support what is essentially real-time communication. This is what paves the way for the technologies like autonomous vehicles, AR/VR, and enhanced gaming. 

In the simplest sense, faster processing will mean more data transmitted to the cloud. The need for cloud computing will expand, not only from an increase in data, but an increase in applications leveraging real-time processing. 

Let’s back up and shift our focus back over to the fundamentals of cloud computing. We know that it involves connecting to data centers and that these data centers may be all over the world. Typically CDNs route web traffic from an application to data centers as close as possible to the client (end user). However, sometimes this server may still be thousands of miles away.

Radio frequency travels at the speed of light (almost.. slight delay due to atmospheric interference). This means that an autonomous vehicle sensing an object in the road and sending a signal to a server 900 miles away will have it there within a few milliseconds. But when dealing with real-time processing such as an autonomous vehicle, for example, these milliseconds can make a difference.

Cloud computing, but closer to the user?

Remember all the times you’ve heard how 5G was going to bring disruptive changes? Surprise!

Cloud technology will undoubtedly be critical in a 5G future, but it may look a bit different. This is what most are now referring to as “fog computing”, or more commonly, edge computing. The fundamental concept of edge computing is that it lies at “the edge of the cloud”. In another words – closer to the user. With a vastly higher number of devices connected and the increased need for real-time data processing, proximity will make all of the difference. 

Edge computing: the new cloud or simply an extension?

The concepts to cloud computing are extremely similar. However, the jury is still out on exactly what this technology will look like. Currently, the cloud computing market is mostly dominated by a few large players. With the need for smaller “data centers” that are scattered around, will control remain with the current providers? 

Many speculate that edge computing will not necessarily replace the need for cloud. After all, not every transaction has to be real-time. Therefore, a mechanism will likely arise that defines data movement priorities and what’s transferred where. Edge computing will handle the transactions that need to be processed quickly, while larger or lower priority transactions can be processed by a larger [more scalable] data center. 

This brings an entire realm of new possibilities and changes. From security, to information tracking (enter blockchain?) and even real estate (where do all of the micro data centers go?). With cloud, and the newer “edge” computing, we’ll see data transfer completely differently.

Final thoughts

Cloud technology has been the backbone for the majority of the information sharing we have today. With the introduction of 5G, this infrastructure will evolve. The cloud, as we know it today, will no longer exist. 

How Low Latency Enables Real-Time Connectivity with 5G

The world is becoming increasingly aware of 5G as it is rolled out across the globe in 2020. As the fifth generation of cellular technology, 5G touts increased speed and connectivity, promising to connect people and devices to each other more than ever before. One of the key components that is consistently quoted regarding the availability of 5G is “low latency”. But what does that actually mean? We’re going to cover the meaning of latency, technologies responsible for improved latency in 5G, and what industries actually rely on low latency.

What is latency?

Latency is a measurement of time between an action and a response. In computing, latency is usually described as the amount of time between making a request (clicking something on a website) and receiving a response (seeing the page fully loaded). You usually see latency mentioned regarding gaming, websites, and business applications. 

Companies invest considerable sums of money to achieve lower latency. High latency can negatively affect their bottom line if a website loads too slowly or a streaming application isn’t smooth. This usually comes in the form of CDNs, caching, or other various methods that physically route the request to a server closer to the requestor (client) or make copies of the data available that reduce the querying time. 

Latency and 5G

Regarding 5G, latency is the amount of time it takes for information to travel from the cell tower to a receiver, such as a cell phone or vehicle. This is not to be confused with bandwidth. Bandwidth is the maximum amount of data that can be transferred over a network at a given time. Latency is a function of only time. 

Earlier cellular technologies, such as 4G, are physically constrained at how fast they can transfer data. One of the primary reasons 5G is an enhancement from the previous generations is the ability to support lower latency. This comes via technological improvements in how fast the data is physically transferred. This singular piece is what ultimately allows many of the improvements to industry that 5G promises, such as mission critical services and autonomous vehicles. More on that below.

Technological improvements that support lower latency

Cellular communication, like WiFi, FM radio, and other technologies, are carried over radio frequency waves. Waves are measured by their frequency and length, with frequency measured in hertz (cycles per second) and wavelength measured in meters. Radio waves travel at the speed of light in a vacuum, and close to that on Earth after considering interference. But since radio waves all travel at [almost] the speed of light, how can 5G claim to support 1 millisecond latency while existing technologies such as 4G LTE average 40ms?

The difference is in the scheduling unit of the waves while waves are not traveling. Consider a subway that is on a one-minute schedule. Every minute, a train with ten cars arrives, picks up passengers, and carries them to the next destination. But, what if you’re ready after only three seconds, and could hop in just one freestanding subway car on an adjacent track? Same speed, but more flexible scheduling. 

With radio waves, a frame has a 10ms length and is divided into 10 subframes, all with 1ms length. 4G LTE is limited to communication via one subframe. This means that a duration of 1ms is consumed solely for transmitting the block via air interface. This is also excluding device processing time. 5G leverages a new technology, referred to as “mini-slotting” which allows signals to be sent in six separate slot configurations within the standard 1ms subframe. This means that the size of a transport block could be as small as 0.03125ms. Like taking a single subway car rather than waiting for the entire train, 5G leverages these smaller slot configurations.

What this means for industry

Now that we understand latency, let’s take a look at the real world application. While lower latency may mean a faster rendering of a YouTube video, that only scratches the surface of what becomes available with 1ms latency.

For the first time ever, the world will be connected at almost real-time. This means that technologies that could not physically exist before will now become the new norm. Response times will be fast enough for autonomous vehicles to be functional. Mission critical services such as energy grids and first responder aid as well as VR and remote surgeries will become practical. 

Summary

Lower latency is one of the key contributors to the speed and availability of 5G. With a new framework that supports more flexible scheduling, latency will be reduced significantly. This opens the world to an entirely new level of connectivity.