🚀 Real Time Communications Platform & CFTV as a Service
Presented by: Apoorva Ravikrishnan, Matt Silverlock, Fallon Blossom, Jason Kincaid
Originally aired on September 30, 2021 @ 11:30 PM - 12:00 AM EDT
Join Jason, Fallon, Appoorva and Matt to learn how Cloudflare’s new Real Time Communication Platform will support the next generation of real-time audio and video applications — including Cloudflare TV 2.0!
Hear how Cloudflare thinks about the future of real-time communications, and why we’re excited to see what developers build on the new Real Time Communications platform. You’ll also learn about the just-announced CFTV as a Service, which will enable other businesses to launch their own 24x7 TV channels powered by Cloudflare’s network.
Read the blog posts:
Find all of our Birthday Week announcements and CFTV segments at the Birthday Week hub
English
Birthday Week
Transcript (Beta)
Hey everyone, welcome back to Cloudflare's birthday week. We're here to talk about some exciting new products that were just announced today.
So as you may know, birthday week is a time each year where Cloudflare announces all sorts of exciting new innovations.
And today we've got a few we're going to be talking about. We're going to be talking about Cloudflare's new real-time communications platform.
We're going to touch on stream live, which if you're interested in, you should check out.
There's another live session a bit later today you should tune in for. And we're also going to talk about Cloudflare TV as a service, which is going to let you actually use the platform, the same platform you're watching right now.
Other businesses will be able to run their own 24 seven streaming networks.
Before we get to that, why don't we introduce ourselves?
My name is Jason Kincaid. I'm the director on the strategic programs team.
I help keep the Cloudflare TV trained on the tracks.
Apoorva, if you wouldn't mind introducing yourself. Apoorva Ravikrishnan Hey everyone, I'm Apoorva Ravikrishnan from the product marketing team.
Matt, do you want to?
Matt Savlock Yes. Hi everyone, I'm Matt Savlock, director of products here at Cloudflare.
Fallon Blossom And I am Fallon Blossom, the senior strategic programs manager.
I work with Jason and fill the schedule of content.
Matt Savlock Indeed. All right. Well, let's get into it. Why don't we start with the real-time communications platform?
And I know we've got a bunch of questions there.
Apoorva Ravikrishnan Yeah. So Matt, I'll kick us off. So what did we announce today?
Matt Savlock Yeah. So great question. So we announced sort of two major parts.
We announced what we're sort of calling WebRTC components. So that allows folks with existing WebRTC infrastructure, and I'll talk a little bit more about WebRTC in a second, to use Cloudflare as a relay.
That's called sort of turn in WebRTC parlance to scale, defend from data attacks, improve reliability by using a network backbone rather than having things go over the public Internet between participants.
So it makes things like this, just like how we're talking right now, way more reliable, a lot more secure.
WebRTC underpins a lot of how we've all probably been talking for the last sort of 18, 24 months, most of the time.
It underpins things like Zoom, Google Meet, even things like FaceTime, WhatsApp, Discord, lots of other sort of social and sort of video conferencing applications use this.
So the landing, what we're calling WebRTC components today, which is just an infrastructure building block, really useful for folks, again, who are doing WebRTC today, but maybe having issues scaling, expensive operating infrastructure, making sure it's reliable, getting it distributed across the world, all those things are really hard problems to solve.
And it turns out, I think we've been pretty good over the last sort of 11 years, distributing things reliably across our network to sort of 250 locations now.
So a huge reason why we did that.
The second part, coming a little bit further down the road, we're building this out now, we're obviously looking for customers to work with.
So if you read the blog post right at the end, there's a sign up form, and we'd love for people to sort of click through there and enter their details.
But building is to develop a first set of APIs that let you create real-time communications applications.
So WebRTC is a really core part of that. We believe deeply in it.
It's supported in pretty much every browser for quite a long time, so it doesn't need custom clients or a ton of custom code for people to talk to each other.
If you want to build a great user interface and things like that, that's obviously the area that you can customize, but the underlying protocol is built into pretty much every browser for the last sort of five years.
And so if you think of the components part, that first part, as infrastructure as a service, think of our RTC platform as sort of a platform as a service, right?
So if you're going to use something like Heroku, where it takes a lot of that sort of those building blocks, the deep knowledge of how to set up a web server, this applies to what we're calling our RTC platform.
So we want to make it really easy for you to create rooms, connect participants, create policies about who can speak or share video, who can listen in in some cases if you want to run private rooms, and just abstract a lot of that.
So it's really easy. We're not talking in many cases about media tracks and data channels, all these sort of parts of the protocol.
Most of us are thinking, well, I'm connecting to a room or a channel with other participants, and maybe I want to connect a source from another video feed, maybe some live feed that I'm pulling in from or a recording sync that I'm pushing to, and abstracting a lot of that, really focusing on this API experience.
And the last part that ties into all this is really making sure this is an important part of Cloudflare as a platform.
So tying into what we call Cloudflare Workers, our serverless platform, real-time comms is not just video and audio, but it's chat, it's interactive video elements, it's in many cases even feedback between presenters and participants, so understanding who's online, their status, whether they've disconnected, all those sort of things are really, really important to building a robust application.
So you can imagine triggering a worker when someone joins or leaves a room or a channel, updates the presence in your application, sends someone a notification, calls a third -party API to send an SMS potentially, or log something somewhere else, record that as a query for later.
We want to make sure we're building all of those tools for users across all the things that we have at Cloudflare, not just the video and audio part, as important as they are.
Awesome.
So I feel like we've been hearing more about synchronous protocols, synchronous communication.
Is there a reason that real-time is like an inflection point?
Is it involving the technology? Is it consumer trends? Why are we hearing more about this, and why was it now the right time for Cloudflare to work on it?
Yeah, good question as well. So I think some of this is obviously, as unfortunate as it is, driven by the pandemic that we're still partially in today, some places more than others, we've become increasingly dependent on having really good communication tools.
I think we've all seen even some of the incumbent services in this space compete a lot more readily.
Think about all the features that, for example, Zoom and Google have shipped on their respective video conferencing platforms in the last 18 months alone.
If you go back to what these products look like in 2019, you barely recognize them right now.
I think there's that criticality of how real-time communications has sort of grown, our expectations for it, the number of people in the rooms together, because it's not just three or four of us chatting with a friend in a different time zone or a co -worker somewhere else.
It's 20 of us in a group meeting or 500 of us in a town hall meeting across our organization doing Q&A.
So it's become really, really important. I think we've just seen a lot more of that.
Part of that as well is, you know, improving capabilities of mobile devices, seeing obviously 4G and 5G rollout so that more than just people on desktops or, you know, cable connections or fiber connections here in the United States, for example, can participate in those things.
You know, the challenge with real-time is it is susceptible to network conditions.
It is more demanding on the network and on the device.
And so I would say over the last five years or window of five years, we've seen a little bit more of that become accessible, right?
You can have a co-worker or friend in India, in Brazil, in Sydney, and I can be in the United States, and we can all talk way more reliably than we could have five years ago, just because connectivity has gotten better as well.
And then, so, oh, sorry.
What are some of the technical challenges involved with this?
Because real-time, how real is real -time? Right. No, and that is a great question.
I just talked about that internally the other day of like getting real with real-time, right?
And it's a, it's definitely, I think, a word that gets used in very different contexts, to be clear.
You know, if you're used to doing sort of safety systems or if you've flown on a space shuttle, real-time means a very specific thing.
Traditionally in the kind of communications world, we're talking normally sort of below 500 milliseconds between participants, typically a little bit lower in practice.
So, in reality, right, just like a voice call, you know, if I was calling my grandmother in 1990, right, and they were in London and I'm in Australia, like, that's still what we would consider real-time.
In reality, it's about 250 milliseconds between those two locations, but we generally perceive that as real-time.
So, that's typically the benchmark, about 250, 500 milliseconds instead of the worst case.
Our brains, instead of the way we perceive it as humans, is real-time.
So, you can also imagine that doesn't really give you a lot of room for error.
It doesn't give you any real margin for doing anything to the communication either.
So, a good example would be what's called transcoding, which is, you know, potentially, in most cases, changing the resolution and the number of bits or the bit rate of a video.
So, I might be sending HD video because my camera is able to do so.
Maybe, maybe, Fallon, you're on a 3G connection sitting in a coffee shop where it's a little bit shaky, right?
That case is like, if you get 4 1080p feeds from all of us sitting in this chat, that's going to be a little bit harder for you, maybe, to keep up.
So, you could transcode that down, but now you've eaten into a bit of that budget because transcoding takes just a few seconds.
Like, it doesn't take seconds, it takes milliseconds, but you've just eaten into that budget just ever so slightly.
You can't cache anything, but you can sort of in a traditional video streaming use case.
Again, this has to be real-time. There's not a really ability to cache it.
You could put it in the cache, but you're not going to go get it again because it's past.
Like, we don't need that video again.
It's all in real time. And as a result, it just becomes susceptible to poor networks, right?
We just, we're sending this in real time. If we drop frames, if we lose video, if the network is as jitter, if we just don't have the ability to sort of wait or pause or buffer, all of those things are gone.
It's just really, very, very little time to keep it real time.
You can maybe do a little bit of buffering, but again, you know, in a 250 millisecond budget, there's not a lot you can really do there.
And just the act of trying to buffer that makes it really hard.
So, there's just a lot of those things really come together to just make communicating in real time very, very challenging, very hard, and certainly to scale back to say 1,000 people or 5,000 people in an audio room just increases that challenge.
Awesome. And, you know, as far as Cloudflare's real -time communications platform, like what gives Cloudflare a unique advantage when it comes to delivering these products and services?
Yeah. So, a lot of time we really like to start with the network, but I think it's also important for us at Cloudflare to not stop there as well.
I think it's like a superpower for us, but we have a lot of other superpowers as well.
So, having our network backbone, having all of our edge locations, sort of 250 cities these days, gets our network really, really close to users, right?
The closer we can get to those users, the less lossy that connection has to be, the less of the sort of the public Internet it needs to transit.
And then we can connect again. If I'm chatting just between coasts in the United States or with co-workers in Lisbon or in London, as we have at Cloudflare, or anywhere across the world, having some of that go across our backbone, using our reliability to avoid jitter, drop packets, which results in dropped frames in video, or I miss what...
Jason, I might miss what you said because I lose those packets.
I don't get replayed. Now, I don't understand what you said.
We're going to sort of talk over each other. So, that network is really, really important to making that reliable.
And we spend a lot of time and constantly improving on our network.
But as I was talking about before, you also have this other challenge, like, well, I'm not just doing the video part, but I'm building an application on top of this, right?
So, a core part of that is our DDoS protection, being able to make sure we can select DDoS attacks against video and media structure.
Some of these services, unfortunately, tend to be targets for DDoS attacks because they can just be the challenges of scaling means that it doesn't take a lot of attack horsepower to basically bring these services down.
You don't need a ton of packets per second in some cases to bring down a real-time streaming application.
A lot of broadcasters and other folks running those issues constantly.
On top of that, the security capability. So, if you've got APIs around the rest of your application for chat, for user authentication, for rich presence, for profile pages, if you're building more of a social application, right, you want to be securing those.
We have a lot of those capabilities with our WAF. And then, sort of, the last really important part, I think, comes back to workers, the serverless capability.
Again, if you want to build a rich application that can scale on top of the media, workers is a huge part of that.
It lets you trigger hooks. We're obviously thinking really deeply about how all of Cloudflare ties into this and not just the network.
Yeah. Thank you so much, Matt, for taking us through what RTC is and why Cloudflare is the best bet to, sort of, get that scale for organizations who are looking to build this out.
Let's change gears a bit and talk about our very own CFTV.
So, Jason, can you, sort of, give us an overview of how CFTV started?
Was this an experiment? How did it all start? Yeah, absolutely. So, Cloudflare TV was first conceived pretty early in 2020, basically as the pandemic was ramping up, unfortunately.
And it became clear that we were not going to be having in-person events anytime soon.
We didn't know what the time frame was going to be looking like, but it just didn't look great.
So, my understanding is that it first came about as a result of a conversation between Cloudflare's co -founder and CEO, Matthew Prince, and then Jake Anderson, who is the SVP of marketing.
And they basically started talking about, why don't we have a TV channel that's talking about helping build a better Internet and the people who are helping do that?
And that's, kind of, what we started with. And so, initially, we talked to a variety of existing video platforms, trying to see, is there something we can use that'll get us to 24 -7 live streaming?
And the short answer is, not really.
There are certainly other live streaming products out there, but they were really catering to people who had, you know, you've got a three-hour live event coming up.
They weren't designed for an ongoing, linear 24-7 stream.
And the ones that were the exception, that really came closer to supporting that, weren't designed with a distributed team in mind.
So, there might be one machine that people would either need to have access to, or they'd be connecting to this one machine sitting in someone's living room.
And that made us a little bit nervous.
It wasn't really designed for, you know, Cloudflare as a global team.
We need to be able to manage our systems from anywhere in the world at any time.
And so, at some point, Dane, who runs the emerging technologies and incubation team, said, let's just build it ourselves.
And off we went. And so, we started piecing together what we could find as far as, sort of, existing projects.
So, if you check out the blog posts that we published today on Cloudflare TV as a service, you'll see us take a dive into, sort of, the components behind the scenes.
And one of those is a project called Brave, for example. And that was built by the BBC.
And it acts as our switchboard that lets us jump between live segments and pre-recorded segments and commercials.
And it works pretty well, but it's a prototype.
And they haven't actually updated the project since 2018. So, we've been making all sorts of improvements to it.
And this is jumping ahead a little bit, but we've, sort of, reached a point where it's like, you know what?
We've got all this amazing technology between StreamLive and the real -time communications platform and StreamConnect.
Like, we're gonna, let's re -architect it.
And so, we're in the midst of doing that today. But yeah, it was essentially an experiment.
It was something that, when we launched it, we didn't really know what was going to happen.
We didn't know, is this something people are going to be interested in doing as presenters?
Are people going to be interested in tuning in?
And thankfully, the response has been super positive. We've had really great reactions from pretty much everyone involved.
And so, it's something we've doubled down on and are continuing to develop.
It's incredible how far CFTV has come, you know, from when we started and where it is today.
Thank you for sharing that.
What sort of content have you featured? I know I have my own favorites.
But then, Fallon, do you want to tell us what sort of content we usually feature?
Oh, I want to hear more about your favorites. I will, as you tell me. Yeah, I'll answer first, but I want to hear more about what you like.
So, at this point, we have featured roughly 1,200 original live segments produced by Cloudflare, folks who work here, folks who love us.
And almost 700 employees have participated and about 550 external presenters all throughout the tech industry and other industries.
Because, you know, we do innovation weeks like this, but we also host cultural events.
We also host recruiting events. We also host Cloudflare Connect, a Cloudflare event.
Cloudflare TV pretty much is, hopefully, the first thing that folks think about when they want to tell a story about how we work, our culture, the people, our hobbies.
We have things like Home Office TV, where people just talk about how they've been working at home.
We have game shows, right?
Silicon Valley Squares is one of my personal favorites. Fireside Chats, just like the one we had yesterday with Joe Sullivan.
Knowledge Shares, where people get up and talk and geek out, nerd out about all of these very technical things that make Cloudflare Cloudflare.
Panels, kind of like this one. And product demos, where we showcase our products in action.
The hope here is to tell the full story of Cloudflare and show the breadth and depth of all the things that we do as a company and as all the people who make up this company and build our products.
It's awesome.
Incredible, isn't it? My favorite is actually cooking with Cloudflare.
I love that. It's real fun. And I love how we sort of capture the individual elements of everyone whilst under the Cloudflare bucket.
I love that, how we're all authentically ourselves in this.
And of course, I think it's a good segue to talk about how Cloudflare TV has been helping with some of the innovation weeks we've had.
And for those folks who are listening in for the first time, Innovation Week is something which happens very frequently at Cloudflare, where we release a series of products.
And CFTV is a huge enabler to help us do this effectively.
So do you want to talk more about that? Sure. So yeah, we're in Birthday Week.
Two weeks ago, we had Speed Week. There may be more in Q4. Stay tuned. And basically, you should expect Cloudflare TV to also mirror our blog.
Like, I like to think about it now as like the video companion to the blog.
We'll have daily segments just like this one, talking about the products that we've built, the services that we're shipping with folks from the product team, from our team sometimes, from marketing, discussing the why, and really importantly, the how.
I think that your average Cloudflare fan and customer doesn't mind getting technical, is excited to kind of nerd out and geek out on all the things that we're making.
And I think that level of transparency that Cloudflare kind of infuses in everything we do is what makes us awesome, right?
Like, we will sit here and talk to you specifically about all the protocols and all the pitfalls and all of the things that make our products awesome.
So Fireside chats as well with leaders in the tech industry.
And we also have our regular segments, right? Like Michelle hosted Yes, We Came yesterday, just like she does every week.
And we'll have other shows on, you know, that might align with the theme, but maybe might not, because, you know, 24 seven, something's always on, we have the potential to always talk about something.
And if we can align it with, you know, the specific innovation, we will, but this is basically a TV station.
So we're always going to tell stories, and you know, share what Cloudflare can offer to whoever wants to tune in.
Thank you for sharing that, Alan.
I feel like the amount of content we produce and the things that we have to manage, it sounds really fun that everyone who tunes in always enjoys it.
But then what goes on behind the scenes? What are some of the features we've built so far to sort of help run this effectively, like a well-oiled machine it does today?
Yeah, great question. So, you know, Cloudflare TV, as you mentioned, lots of content, and we do have a couple, a small handful of folks who work on it more or less full time, but it's not a big team.
And so we needed to find a way to help us scale this platform.
And in the early days, I'm comfortable saying it was not sustainable because I remember the first couple of weeks we were scheduling the schedule.
And if you look at the Cloudflare TV schedule, you should see a little link up there.
You'll see an awful lot of segments every week. And we were doing each of those by hand.
And that was a lot of clicks. At one point, I did the math and the number of clicks per week, and it was taking a small toll on my sanity.
So we quickly realized, all right, what are we going to do to make this better?
So one of the tools we developed is called the AutoScheduler and what this lets us do.
And again, if you check out the blog post, you'll see a cool demo of this where we can select any arbitrary window of time, and it will populate that drawing from existing assets in our library.
This is what we use to fill any space between live segments.
We can also drag and drop things, delete things, add manual things if we want to.
And that has been just a night and day difference in terms of what it was like in the early days and what it's like day to day.
Another thing that we developed was the AutoSwitcher.
So I mentioned Brave earlier, which lets us select between inputs.
But we needed to find a way, how are we switching between live videos and recordings and so on over a weekend?
Or over the holidays or any time where we don't want someone necessarily having to sit at the driver wheel running this thing.
And so the engineers built an AutoSwitcher.
And it's not just as simple as a playlist because we have the ability to dynamically change things.
And in fact, the program, it runs on workers and it has to do stuff like add various inputs, remove ones that have already been used and so on.
And so that was a big part of what makes the platform feasible. And another really important piece is the Broadcasting Center.
So we basically had to find a way to make it easy for presenters.
And also we've got this amazing team of Cloudflare TV producers.
And these are folks who mostly have had their, on the admin team, on the office team, who have had their roles shift a little bit as a result of the pandemic.
Some of the things that they were working on before the pandemic kind of went away.
And they did an amazing job helping us. Every single live session on Cloudflare TV has a producer who's helping out with it, but it's not their full-time job.
It's something that they do maybe for a couple hours, a couple times a week sort of thing.
And so we had to find a way to give them an easy way to serve as the admin for a given session.
And we also had to find a way to make it so that presenters could more or less find their way.
So what we did is we developed this Broadcasting Center.
And it's essentially one single control plane, one webpage, where it shows you your timer.
It counts you in. It tells you how long until your session starts.
It tells you when you're on air. Like right now, we can see how long we've got until we're no longer on air.
And then on the admin side of things, they have some additional controls.
They have a preview window so they can make sure the stream is coming through loud and clear before a session actually goes live.
And together, those things have made the Broadcasting Center, they've offered this sort of intuitive control interface that has really allowed us to run the platform.
Because if it were something that was like a really Byzantine control panel, no one would have been able to fly this shit.
And now we've got all sorts of people who can do that.
It doesn't take a lot of training.
So if you're interested in checking these things out, again, check out the blog post because you'll see some screenshots showing them off.
Thank you for sharing that.
I think it's all the things that happens behind the scene and the different components of the platform.
I think you covered that wonderfully. So thank you for taking us through that.
So we have a lot of content now and we keep it's all live stream, but it's all recorded as well.
So I'm wondering how is there a way for people to explore this content now that the library is so large?
How do people do that, Fallon?
Oh, I think Fallon may have gotten briefly disconnected.
So I'll jump in briefly until she comes back.
So we've got all sorts of ways for people to find content. For one, there's the show pages, which now you can see all the episodes of a given series.
So if you wanted to catch up on every episode of Silicon Valley Squares or Hacker Time or latest in product and engineering, you can now do that and you'll see a full list of episodes.
There's a whole lot of content there. So once you find a show you like, watch the broadcast, just kind of dabble, see what interests you.
And then you can kind of zoom in and watch the full library of that show.
We also just today introduced the Discover page. So again, you should see that in the nav bar, and that'll let you check out all these different shows.
I see, Fallon, you just came back.
I'm sorry. Looks like we had an issue. Oh, yeah.
My Internet wouldn't let me be great. Sorry about that.
I'll just finish talking briefly about the Discover page. So yeah, it lets people kind of explore, find new shows.
So again, do check that out. And also don't miss the search feature because that'll let you type in, you know, let's say you want to learn more about the Cloudflare WAF or Cloudflare Access, just type in that word.
It'll take you to the sessions that are about that topic. All right.
So I think we probably want to talk a little bit also about Cloudflare TV as a service.
So just very quickly, for those who are interested, if you're liking what you're watching, don't miss the blog post.
If you go to the bottom, you'll see a form where you can let us know that you're interested.
Essentially, what we're doing is we're taking all these technologies that we were just talking about and making them available to other businesses who are interested in running their own 24-7 streaming network.
So don't miss it. And I guess I'd like to get a little more from you, Matt.
Yeah. You know, it sounds like we've got some really exciting stuff going on with real-time communications.
Like where do you see things going from here as you look out?
Because you've got this great vantage point. So where do you see things going on the horizon?
Yeah. I think one of the things we think is really interesting is we think WebRTC as an underlying protocol today is really important.
As I mentioned before, it's pervasive in browsers and clients. It doesn't require tons of special software or custom integrations, which is great.
If you can build a streaming platform, it doesn't require you to install mountains of custom client software.
It just improves your reach dramatically. But what's also interesting is sort of beyond just video and audio, we also sort of see use cases for real-time data.
Today, a lot of folks do it in WebSockets, but there's a lot of changes happening in the space.
The web channel protocol for those at home is worth looking up.
And so what we want to make sure is that we allow sort of the adoption and plugging in of new protocols as they come.
So whether that's something like web channels or server transport, whether that's something like what's called WIP, which is a WebRTC ingestion protocol to replace a traditional RTMP protocol that some may be familiar with.
So there's a lot there, and we're really excited about making sure that customers can adopt those as well.
In fact, the team and I were just talking about WIP as a protocol the other day, of like it just removes latency on that ingestion.
It means I could say, you know, run an esports stream or something like Twitch, but without that latency, I have way better viewer interaction, make sure that can scale to, you know, 10,000 viewers or more concurrently, right?
So those are really sort of interesting spaces that we want to continue to move into just so people can build really interesting applications.
Again, we don't want to be too prescriptive in this case. We want to make sure we take all of the effort of turning together things and being an expert in WebRTC.
Like we think we can help people with that and obviously share our expertise, but at the same time, you shouldn't have to be an expert in Internet protocols to ideally build real-time applications, media applications, audio chat applications at scale.
Otherwise it just becomes hard and it just reduces the number of people that can build these things.
Awesome. I should say on the Cloudflare TV side, we're really excited to be using these new technologies because they're really helping us level up the system between StreamLive, StreamConnect, the real-time communications platform.
And again, anyone who's using Cloudflare TV as a service is going to benefit from all of this.
So we're just in the last 10 seconds or so.
So just to wrap things up, thank you everyone. If you're interested in the real-time communications platform, check out the blog, fill out the form, and also Cloudflare TV as a service, check out the blog, fill out the form.
Thanks everyone.