PubNub, a company that offers a development platform for real-time apps through an API, launched a serverless access control feature this week. The PubNub Access Manager (PAM) relieves your server of the burden of controlling who has access to your data streams.
If you still have not heard of PubNub, the San Francisco startup offers a set of cloud-based building blocks (push, presence, storage and feedback, mobile, analytics and security) for those who want to build apps requiring real-time data push, where data is pushed out to the user as opposed to the software periodically checking for updates. Think chat rooms, call signalling and set up for VoIP services, and real-time collaboration.
Why is PAM so important? Because it gives developers a lot more control over who subscribes to a channel—and it does so on a very granular level. For example, PAM allows you to set up precise rules by user, by channel or key, and even for a set period of time. It also works with any existing ID or token system, whether it is Facebook, OAuth, LDAP or homegrown.
In an interview with ProgrammableWeb, PubNub CEO Todd Greene explained:
"Imagine you are publishing data, social, or financial streams, but let’s say you want to control who accesses the data at any time and be able to immediately revoke access. This gives you a more fine grained control. If you want to turn off a data stream for certain people that have stopped paying a subscription, you can now revoke subscribe access or tokens. You can even set a time limit, say give this device or user 30 days and then revoke access.”
In the past, this type of access control on PubNub was done on a server level. One popular technique was channel cycling. Say you had 100 users in a chat room and you wanted to revoke access to five of them. You would issue a channel change notice. Each user would send a request to the new channel and unsubscribe from the old. Your server would then authenticate each request and control who to grant or revoke access to.
In the case of non-real-time apps, this sort of server-level access control is not a problem. But when you are working with high performance apps where you have to control access for many, many users who are interacting several times a second, your server starts to slow things down.
“When you are using a non-real-time app, you may only need to access a server every few seconds, and that makes it relatively easy to do security checks every time you have access to a server,” said Greene. “But with a real-time app, you may be receiving data 30 times a second and every single one of those transactions needs security around it.”
By automating access control, PAM lets your server take on the more passive role of traffic cop, monitoring traffic for reporting and analytic purposes and intervening only when necessary. Your server no longer takes on the job of granting permissions every time a request comes through and it no longer becomes a performance bottleneck.
But the really good news about PAM is that developers can it to create new types of services. You can use it for subscription services to real-time financial, traffic or social data streams, where you need to control access on a per-subscriber basis. PAM can enable point-to-point apps, such as home automation where data streams bi-directionally between devices. It also works for peer-to-peer social apps, giving your server the option to monitor and intervene where needed.
PubNub launches PAM after three months of intensive beta testing. Revolv, a home automation solution that lets you control your home with your smartphone, currently uses the feature for one-to-one device communication between phones and its Revolv in-home hub.
In September PubNub scored $11 million in Series B funding. Launched in 2010, the startup was initially bootstrapped by its founders. In 2011, the company released a PubNub video with a annoying but unforgettable song describing what it did. The campaign got the attention of some VCs and PubNub got its Series A funding for $4.5 million in early 2012. The platform now delivers three million messages per second over its global network.