IN THIS ARTICLE
Subscribe to Our Newsletter
We rely on global networks everyday (and now realtime networks), but do we even know what they are and how they came to be? Maybe you don’t!
I recently stumbled upon a RadioShack advertisement from the 1990s that advertised a number of different products including a desktop computer, a music system, a camcorder, a phone, a CD player, and a calculator. What makes this ad significant today is 20 years later, these different pieces of technology now exist entirely in a single smartphone.
As technology advances, its getting smaller, faster, and more efficient. It’s easy to see technological innovation when it comes to hardware, and this Radio Shack ad is a perfect example of that. But when we look at networking, and global networks in particular, sometimes it’s not so clear. For most of us, we simply connect to the Internet, and that’s it. But how we’re actually connected, and how our connection is getting faster, more efficient, and more reliable is a whole other story.
PubNub is a globally redundant, realtime data stream network. We exist to allow app developers to build and scale realtime applications, all built on our realtime data stream network. To put it simply, we get data from point A to point B really, really fast, and have developed a number of other realtime features around data streams.
To better understand what a realtime network is, we have to go back in time to the early 90s once again, a year after the aforementioned Radio Shack ad was printed. We’ll progress through time and the history of global networks, starting with backbone networks, then CDNs, and finally realtime data stream networks.
The Architecture of Global Networks and Birth of Realtime Networks
The Internet has evolved significantly over the last 21 years. To understand the evolution of global networks, and how they led to the birth of the realtime network, we need to go back in time to take a look at the major players in the game, the services they offer, and the protocols and languages they speak.
Layers have continuously been added as the web gets more complex and distributed. Below we’ll walk you through the last 21 years, beginning with internet backbone networks, moving to CDNs, and finishing with Realtime Data Stream Networks, and how Realtime Data Stream Networks have taken global networks to a whole new level.
Internet Backbone Networks
If we go back 21 years, we saw the birth of global Internet networks, starting with companies like Cogent and Level 3 Communications, and now Comcast, Verizon, and AT&T, connecting people and businesses to the internet. These network providers speak the core protocols of the Internet: TCP, UDP, and IP, and offer services like peering, routing, and POPs. These networks laid the foundation for the Internet.
When you say “I need to get Comcast Internet,” you’re actually saying “I need to get connected to a POP to speak TCP/IP.” The fact that nobody speaks that way illustrates the ubiquitous nature of these protocols and their use.
Fast forward about 10 years…
HTTP/Content Delivery Networks
As the Internet became more popular and accessible, we started seeing “spikes” in internet traffic. The popularity and broad usage of the Internet drove its use for “events”; whether news related, ecommerce (i.e. a big sale or product launch), sports, etc. These traffic surges exposed a core weakness with websites: they weren’t very good at handling large audiences simultaneously.
Thus, content delivery networks (CDNs), like Akamai and EdgeCast began to emerge. Most consumers have no clue what a CDN is, yet Akamai claims to serve about 25% of all Internet traffic.
CDNs solved the “spike” problem by establishing data centers around the world, replicating content, and pointing site visitors to their geographically closest data center. Today, small scale companies through Apple and Google all use CDNs to server local and global audiences.
CDNs speak protocols like HTTP, HTTPS and SPDY, and offer services like caching, security and redundancy. If say a website is running too slow in a certain geographical location, or continuously crashing, CDNs will make sure that users can have a consistent experience no matter where they are in the world.
Fast forward 12 years to 2014.
Realtime Data Stream Networks
Today, users expect to interact in realtime, and realtime has become a standard for web and mobile app development. As a result, protocols, frameworks, and networks have all been created and improved to make realtime functionality a possibility. This has added another layer on top of the internet the same way CDNs did 12 years prior: realtime networks (RTN).
To put it simply, realtime is just establishing a grammar between two systems, and creating an open and persistent connection between a server and a client. There are numerous ways to add realtime functionality to a web application, including WebSockets, push/pull and long polling. These open source and commercial packages, frameworks, and libraries make an app realtime, but only solve a piece of developing a realtime application.
As a result, realtime network service providers were born. These realtime networks provide building blocks for realtime applications, taking advantage of the persistent connection made possible by the realtime protocols (WebSockets, BOSH). Realtime networks take this persistent, open socket connection to the next level, offering a number of different services to help a realtime application scale, including data replication, storage/playback, and security.
So as a result of the growth of realtime networks, scaling and deploying realtime apps has never been easier. Specifically with PubNub, we offer a wide variety of features and services that make up the core building blocks for developing, scaling, and deploying your realtime app globally. These include: redundancy, geographic server distribution, geo-routing, latency monitoring, and high reliability.
Realtime networks continue to push the web forward. Information and data can reach millions of users, simultaneously, in a under a second. And that’s powerful for any realtime application.