💻 Developer Week: Product Chat on Cloudflare Pages and Stream Connect
Presented by: Jen Vaccaro, Rita Kozlov, Zaid Farooqui
Originally aired on April 12, 2021 @ 2:30 PM - 3:30 PM EDT
Join the Cloudflare Product Team to discuss everything new that we announced today for Developer Week!
Read the blog posts:
English
Developer Week
JAMstack
Transcript (Beta)
Hi, everyone. Thank you so much for tuning in to our speaker series on Developer Week.
I'm really excited to talk today with Zaid and Rita, who are our PMs for Stream and for Pages.
So I'm quickly going to start off by introducing myself. I'm Jen Vaccaro.
I'm the product marketing manager for Cloudflare Workers and Pages and the products that fall underneath that.
I'll pass it off quickly to Zaid and Rita to introduce themselves, and then we'll get started with some questions for them regarding some of the announcements that we made today.
Zaid, do you want to get started?
I can go. So my name is Zaid. I'm the product manager for Stream. I've been at Cloudflare for about three years.
I'm excited to chat about some of the exciting things that we're working on and Stream, particularly the life aspect of it, and just in general, you know, the themes that we're working on and the use cases and the types of customers that we're looking to help.
I'll go next.
Hi, everyone. I'm Rita. I am the product manager for Cloudflare Pages and generally help drive a lot of developer experience related things for workers.
So yeah, we announced the GA for Cloudflare Pages today and some of the features that we worked on between beta and now as well.
So excited to talk about all of that.
Great, great. And so just tying the needle a little bit between both of your products, we want to make it this sort of exciting feature announcement regarding both these products is that Cloudflare is now really providing a one -stop shop for our front-end developers.
So if you're coming in and you need to deploy and host your sites and collaborate on them as you build them, Cloudflare Pages allows you to do that and to host your sites there.
And then if you're wanting to embed your images, we have Cloudflare Stream, which Zed's team represents.
And under Zed's team as well, we have image resizing to be able to add in your images on the fly as well.
And then we also have integrated web analytics to get that real-time data on your website.
So we're quickly evolving into being that central hub for developers to come and be able to build out their websites quickly and easily through Cloudflare.
So we're excited to talk about both of those aspects today.
I'm going to get started with talking about Cloudflare Pages, which as Rita mentioned, went into general availability today.
It's been very exciting.
We've had a lot of positive feedback there, and the product has been in beta since the end of last year.
So we've had a lot of new features that we are announcing today for the general availability that we want to talk through and get started.
So Rita, why don't we just start by telling people, if they don't know, what is Cloudflare Pages and give them a little overview on that?
Sure. That sounds great.
So Cloudflare Pages allows you to today really easily deploy your static site.
So the way that it works is to get started, you click on create a new project.
It asks you about your GitHub repo. So from that moment that you connect your GitHub repository, we'll ask you about what is the build step that you need to run, right?
So the build step is basically the step that converts your source code into your actual servable assets for your website.
And so from there, every single time that you make a commit and push it up, we're able to fully integrate with that and take care of building and deploying it for you.
But where Pages gets really interesting beyond kind of that, I'm a developer and this helps take care of my CICD needs because no one likes wrangling YAML files together to make that happen.
Where it gets really exciting is where it enables really great collaboration between people too, since you're rarely working on a website on your own.
Even for so many of these launches, when I think about the web properties that we have, like the Cloudflare docs or pages .Cloudflare.com, I ask for at least five different people's feedbacks on almost every change that we make, whether it's for someone to review my code or for you, Jen, to review my copy.
And so what Cloudflare Pages does is it enables that really nice collaboration through features like the preview links.
And then kind of the third big feature, so to say, of Cloudflare Pages is the network itself that it's built on.
So when you deploy your Cloudflare Pages sites, they get deployed to Cloudflare's network that we've been working on for the past 10 years, that gives you that performance and reliability straight out of the box.
So it's a bit of a lengthy answer for what the product is, but I'd be remiss not to highlight every single one of these things.
As you can tell, I'm very excited. Yes, no, I think that's a great answer. And just in the preview links, I don't think you said this, but something that we've talked about as being really exciting is that we don't charge for seats.
So we can have as many admins and collaborators to really help make that process as easy as possible to iterate and collaborate.
Yeah, I mean, we want you to be able to invite whoever you need to work together on things.
Certainly, what sometimes, actually, one thing that we learned from the early days of Cloudflare was before we had the ability to have multiple seats in your account, people would do things like sharing a password because we both need to be able to log in.
And so as a company that was founded around security, giving everyone the same logins and not having to scamp on seats is really something that's really key to this, and as you said, the collaboration aspect of it.
That's really great. I know a lot of our customers have been particularly excited around that collaboration and that need being something that's not filled today in the market.
So that's been an exciting piece. And speaking of that, we have even more announcements that have been made after the open beta, so today with GA.
So do you want to walk us through just high level, a couple of those what's new announcements with GA, and then maybe we can deep dive into some of them as well.
Yeah, absolutely.
So I'll start by saying there are four kind of bigger announcements, or five even, that we talked about in the blog post today.
But what we didn't talk about are the million smaller, but I think still really exciting features and kind of smaller polishes that we've added to the product over the course of the beta.
But the big ones are, first of all, support for redirect file.
That's something that actually came from our own needs.
And as folks watching probably know, we're really big believers in dogfooding here at Cloudflare.
And so with our docs, for example, one thing that constantly happens is we realize that there is a new, better way to structure our docs.
And all of a sudden, the URLs change, and then people are finding links that don't work anymore that are linked to from somewhere else.
And so being able to coordinate that redirect creation with the actual change of the content is something that we've needed for a long time.
And so yeah, the redirect file support is one of the features.
One of the other ones is the built-in analytics.
So something that's really, really critical to maintaining a production website, especially, is being able to get insights into it.
And even from a marketing standpoint, there are campaigns that we invest in or promotions that we want to spend time on.
And so at the end of the day, you want to know what's paying off.
And so one of the things that we launched is that one-click integration with that.
Another one-click integration that I think is really cool that we've seen a lot of users ask for throughout the beta is the URLs being protected behind access.
So Cloudflare access is Cloudflare's Zero Trust solution that can help protect a lot of your, especially things like internal apps instead of a VPN.
First of all, it's so much easier to configure. And secondly, it's much more secure because you're actually logging and auditing every action and determining whether or not someone should have access every single time rather than as a blanket rule.
So yeah, being able to protect your previews is really powerful.
One of the other things is the built-in GZIP support and some of the optimization around images.
Oh, and last but not least, the live preview integration with Cloudflare tunnels, which takes collaboration, again, that one step further and allows you to get that live feedback.
That's great. Those are so many new additions that I know our users have been asking about in the beta.
So what's exciting is that through the beta, we were able to get a lot of feedback and see where were those gaps that people were needing.
And it's exciting we can share those.
So a couple of these, Rita, you mentioned, there are one-click integration.
Can you talk through a little bit, particularly for web analytics or something like the Cloudflare access, which have been separate products?
Can you talk a little bit on how users, where they can go to actually integrate that one -click?
Absolutely. In fact, can I show you? Yes. Yes. Excellent. So let me share my screen here.
I'm going to assume that you're able to see it. Yep. Great. So this is my little Cloudflare account.
And so if I go into Pedras, which is where I maintain my projects, Charades UI is one of my favorite little projects that I maintain.
So if you go into settings here, you'll see two new buttons that have popped up.
One is to enable access policy. And in fact, why don't we just go through this now?
So I wasn't lying when I said it's literally one-click. And so what it does is if I go to any of my previews now, if I go to deployments, this one, for example, is a preview on.
So what you'll see is this Cloudflare access page. And what happens is if I check my email now, I'm going to get a one-time pin that I would type in here, and then it would let me through.
So that's the access integration part of it.
And then for the analytics piece, I enabled it just earlier today.
So it was very much a similar deal. Or I clicked on it, and then, yeah, if I click on view web analytics, unfortunately, my site is not super popular.
So I don't think it's been populated yet. But shout out to charades .pizza.
If you like playing charades with your friends. So yeah, what it does is when we click enable, it'll inject a bit of JavaScript into your page that allows us to collect a beacon of analytics.
But unlike other analytics, it doesn't collect any information about the user.
And so that way, you're able to get those insights around things like web core vitals and where your traffic is coming from, especially things like I find really useful.
Yeah, again, to kind of see what's working, what's not working.
Yeah, things like device types, I find really interesting.
So yeah, as promised, that's the one click that you'll need to know. And then for access to, what it does by default is it'll take the members of your existing Cloudflare organization and add them to your policy.
But we can go in the dashboard as well and customize it based on the members that I want to add in there.
Yeah. Nice. That's very exciting. When you say one click, it legitimately is one click as far as getting all of those features, which is part of why Cloudflare has become a one central hub for is we have all of these different pieces available today.
So we don't have to go and integrate with different third parties or having to look through all these other web analytics or whether it's similar providers to access.
We can have all of that right here. And you just turn it on and off based on what the user needs to do.
And I think that's something that we're definitely wanting to tell during this developer week is we can integrate all of these pieces.
And no longer are they just like siloed, but we have one central way to make all of them really at the fingertips of our users, which is exciting.
And you certainly showed that. Yeah. What I think is really powerful about it is that if you're starting a new company or you're working on a new application, just the number of things that you have to think about, there are so many.
My first company that I worked at was a startup. And I remember the founder spending a whole bunch of time configuring or reconfiguring things like VPN to manage access to our internal applications, for example.
And every single one of these things can be so time consuming that now if you're building an internal application for a company, you can literally maintain it in a private repo in GitHub, connected to Pages, and then deploy an access policy in front of it.
That's so many critical hours of your time saved by all of that being available in one place.
And the other cool thing is because Cloudflare already has all these pieces, what's remaining for us to do from the Pages team standpoint is integrate them and create those one-click experiences.
But what enables us to move really quickly is that Cloudflare has been doing this for so long.
Yeah. Yeah. And I think that's what allowed us to go from the beta to GA so quickly, is that we've had all of this and we can dogfood it.
And it's already been user tested out there in the market. It's just a matter of tying those pieces together.
One of the other things we didn't quite touch on, but I know some folks in our community have been talking about being really excited about with Cloudflare Pages, is our support for some of the latest web standards like HTTP3, QUIC, and things like that, which a lot of our competitors don't necessarily do.
So that's something else that is unique to what our offering is.
Yeah. I think it's easy, especially within Cloudflare, for us to take it for granted.
Because yeah, of course we've supported IPv6 for, I don't know, like seven, eight, nine years now.
And even things like TLS 1.3, when it came out, we started supporting it and it was still relatively experimental and not that many browsers supported it.
And now it's a widely adopted standard that you get out of the box with Pages.
And I think the really cool thing there is again, kind of the time that you save in not having to think about those things ever.
Like you should never have to ask yourself the question of like, okay, what do I need to do now to support HTTP3?
What do I need to do now? Like, do I need to meddle with TLS configurations to support 1.3?
You just have to log into the dashboard and see whether Cloudflare supports it, which 99, I would even say like a hundred percent of the time we do, right?
That's great. That's great. And so one thing I also wanted to make sure we touched on when you were getting up the demo that I'd like to go back to is you mentioned our integration with Cloudflare Tunnel and being able to have that as a new feature where we can have like live stream editing between users on the local house.
So that's a really cool feature. Do you want to get it up and kind of share, demo it?
Yes, absolutely. Let me present my screen here.
One of the ways that I've been, when I didn't have the demo, but to verbally say it is it's sort of like a Google Docs where you can kind of both be live editing and see the edits go without even having to commit your changes.
It really is. So here I have pulled up the Cloudflare pages website itself.
So what I'm going to do is I'm going to run Gatsby develop just to get it up and running first on my local host.
So we see some of this spinning up. And so now if I visit my local host, I get to see the pages website, but obviously if I send you to local host 8,000, you're just going to see a blank page.
That's not very useful.
So if you and I were working on some pages on some changes to the pages site now, what I would be able to do is instead share with you this Cloudflare Tunnel link.
So I'm going to let give that a second to spin up. Here we go. So I'm going to open that up and I can share that live with you and anyone who's watching us right now.
If you have it in you to type out electric routine, franchise tapes .Cloudflare.com you can follow along with us.
So now Jen, would you like to request any change to the Cloudflare pages page?
Let's see. Maybe we lowercase the J A M and jam stack for example.
Okay. That has been frequently requested. Let's see. So I'm going to D jam it.
And you can see that already it's live here. And again, if you're following along with us, if you visit this URL, you'll be able to see the exact same thing.
Yeah. It's really amazing because as long as I have my local host running, you're able to preview this and see it in action.
That's really exciting.
And I think, and that's one of the other pieces. So Cloudflare tunnel was, has traditionally been called Argo tunnel.
And so that's something that we're now labeling is Cloudflare tunnel.
And again, you don't even have to go through that sales motion or like do anything special to integrate that product.
We're enabling it directly with Cloudflare pages.
And so Rita, as far as how users start using that, do they have to enable anything on the dashboard, like you mentioned with page or with access?
You don't have to enable anything on the dashboard.
All you have to do is follow the developer docs for Cloudflare D. And so, yeah, you have to install Cloudflare D locally.
And then if you look for try Cloudflare, that's what I find easiest.
If you look for it in the docs, it'll give you the command to run.
So that way you can specify the exact port that you'll be running on and expose that publicly.
Great. That's definitely very, very exciting.
I know a lot of our users who had traditionally been using like worker sites, which was a bit of our precursor.
We're very excited about this, like this live collaboration piece, not even the Argo, the Cloudflare tunnel piece, but even before that with the sharing.
And then I think Cloudflare tunnel integration makes that all the easier to really have that advanced collaboration and get to market quickly.
I know between you, me, and some of our other developers on the team, this will be very useful when we're able to start just seeing it live instead of having to go through the pull requests every time.
Or like, hey, can you send me a screenshot of what it looks like?
There's nothing that quite compares to being able to click on it yourself.
Absolutely. So before we switch over to Cloudflare Stream, there's just a few last things I wanted to touch on.
I know you mentioned it quickly when we went through like all of the what's new in GA, but I just wanted to touch on again, maybe add a little bit of detail.
So you talked about the image compression with Polish, the GZIP, and then the device-based resizing.
Do you want to just give us a little bit more of a deep dive onto those three?
Sure.
So one of the benefits, as I mentioned in the beginning of Pages, is the performance that it's able to offer you out of the box.
So one way in which we give you that performance is by physically moving your site closer to the end user.
So yeah, the closer you are, the less time it takes to travel and the faster your website is.
But another really big lever that we have for reducing latency is by trying to send fewer bytes over the wire.
And so one way to do that is through compression.
So one type of compression that we're able to do is GZIP and Brotli compression, which are two web standards for it.
And we'll serve the one to the browser based on the type of compression that the browser supports.
And that gets sent in the generally accepted coding header.
The cool thing and really interesting thing about that is that we've been doing that type of compression for a really long time.
But this is the first time that we're actually serving as the origin ourselves.
And so rather than having to do it on the fly every single time, we're able to do that at build time.
And so we're really able to squeeze out maybe that additional couple milliseconds of performance out of doing it that way too.
And so that's the GZIP and Brotli compression. Compressing images is the other big thing.
There's two overall types of compression, lossy and lossless. By default, we enable the lossless one, which will strip things like metadata, as far as I recall, to, yeah, again, reduce the amount of data that we're sending over and make those images go faster.
And then the other big optimization that we've added is we'll generate two sizes of images for the images that you have.
One that's suitable for desktop and one that's suitable for mobile.
And with more and more of the web moving towards mobile now, you really want to make sure that you're optimizing your experience for users who are using their phones.
And not everyone might be on the best connection or using the iPhone 12.
When you think about it, actually, most of people who are coming online and using the Internet for the first time are on, yeah, less optimal connections and on much slower phones.
And so by having that enabled, you're able to not worry about, you know, am I sending unnecessary, you know, you don't need to send a massive image for it to be previewed on a tiny screen.
So that's another optimization that we've added out of the box. That's great.
I'm excited to start using it with some of these new features. I know I was testing it out early in the beta.
And these are all going to be some major game changers.
And we have a lot of customers on it already today. I think we've had about 100,000 deployments.
And then is it like 5,000 or so unique projects, something like that?
I think we have over 7,000 customers and now like well over 10 ,000 projects and websites.
Nice, nice. Yeah. And that's just been in the beta. So we'll be keen to see how all of that spikes hopefully today and throughout the next few quarters.
Yeah. All right. Oh, go ahead. I was just going to say what's exciting too is it's not just all and don't get me wrong.
I love the small projects like my Shreds game, but yeah, there are big customers using it too, like DoorDash is building their or built their new marketing site on pages.
So yeah, when we say it's production ready, we really do mean it.
Yes. Yep. Yep. DoorDash, Cambridge University Press are two of ours and Dig.
Dig in restaurants have also started using pages.
So and a lot of small people. Yeah. Dig just did the session an hour or so ago.
So if you're getting food delivered tonight, I can say we played a small part of that.
Yes, exactly. Exactly. Great. Thanks, Rita. So now I want to talk a little bit about Cloudflare Stream.
So I have some questions, Zed, for you on Cloudflare Stream.
And then I was thinking in the remaining bit of time, we can, you know, once we're going through those questions, if we have some leftover time, we might look like forward thinking on the future of Stream, the future of pages and what Cloudflare is developing or hoping to develop and bring to front end developers.
So let's get started a little bit talking about Stream.
Today, we announced the Stream Connect beta.
So do you want to just, Zed, get us started by telling us, first of all, what is Stream before we go into Stream Connect?
And then tell us a little bit about what we announced today.
Sure. So Stream is something that we announced the beta of in 2017.
And at the time, the idea was that we have a surge of founders and entrepreneurs with all these ideas all over the world, who have interesting ideas of, you know, what the next Snapchat could be or Instagram could be that could connect to people around them, right?
Like Instagram and Snapchat, if you look at these, came from like Silicon, these are like Silicon Valley apps.
And obviously, in the last decade, the role of the Internet has grown tremendously, right?
So there are all these people who previously didn't have access or access to building and deploying their own ideas, now have a computer, have really fast Internet, and are full of ideas.
So I think Cloudflare at a high level has for a long time been about helping these people unlock their ideas and ship these ideas.
We believe strongly that ideas are fragile, right? As you get more and more friction, they tend to die.
So I think Stream really came about where we wanted to make it super simple for people who have ideas around video or anything around sharing video, to be able to build that feature into their apps with a fraction of the effort as it would take if they were building all of that tech by themselves.
Because I think what really makes ideas stand apart is not necessarily the underlying tech, it's more like the flavor.
For example, how long do you want your users to be able to, do you want the videos to be, right?
There are apps that allow 15 seconds, there are apps that allow five minutes.
Those are the types of decisions that I think ultimately make the impact.
The underlying technology that powers it, that's where I think Cloudflare really shines at.
Those are problems that are somewhat well-solved.
However, if you were building it yourself, they tend to take a lot more time than you may imagine at the outset.
Great, thanks for that introduction.
So just on this point, particularly with Stream, so Stream itself is available today.
It's not in beta or anything like that.
So I can talk a little bit about what Stream is. So Stream is a set of APIs that let customers build video on-demand functionality into their product.
And this is something we've been working on over the last three years.
And now we have thousands of customers that have built really cool ideas on top of Stream without having to worry about, where am I storing the video?
How am I going to encode the video?
How am I going to deliver the video? Because all of that, you get out of the box.
And the final step is, you no longer have to think about gigabytes, megabytes, terabytes, when you're thinking about planning, both from the financial aspect and of like, how do my costs increase over time?
And from just infrastructure point of view.
So Stream builds based on usage that is measured in minutes of content viewed and streamed and consumed by our users.
So we've done that from video on-demand.
And a lot of what we are announcing today and going forward is around things applying that same mentality, that same mindset to the world of live video.
That's great. That's really exciting. So can you give us a little bit more of a deep dive on what we announced today?
A little bit of a background on what the Stream Connect is and what platforms are going to be supported with it and kind of talk through some of those details a bit?
Absolutely. So what Stream Connect helps you with is, currently, when someone is doing a live stream, especially if you're live streaming to lots of people who are consuming it, it typically happens using this super old protocol called RTMP, which was invented back in the day by Flash.
And it just tells you that how flexible and reliable it was. It continues to be used, even though Flash has long passed its lifetime.
So it essentially uses RTMP and enables you to push the RTMP feed from your camera or your local connection to the Cloudflare Edge.
And it lets you configure in your settings and tell Cloudflare that, hey, this one video feed or broadcast that I'm doing, I want you to send it to my fans and audiences on Twitch, on YouTube, on Facebook.
All of these platforms support RTMP or RTMPs, which is a secure version of RTMP.
And what we will do is, instead of your local connection needing to push the one version of the video to four different places on the Internet, which makes your Internet a bottleneck and your local device a bottleneck, to only needing to push one copy of the video.
And once we have that copy, what we do is we send it to all the different destinations that you've configured.
And along the way, we make a bunch of optimizations to it.
For example, we use Argo to do smart routing and things like that.
Ultimately, what does that result in? It results in more reliability, less latency, and things of that nature.
That's great. So basically, it'll be a one central spot where folks can point whatever their video is and have it live streamed, and it will be on the three platforms that you mentioned, whether it's Twitch, Facebook, or YouTube.
And really, I want to be super clear. It's platform agnostic.
So any platform that accepts RTMP or RTMP as feed will work with Stream Connect.
That's great. That's great. And so I know you talked a little bit on your blog, and you've obviously described it, I think, as you're telling through this process.
But in particular, I know you had an introduction in your blog talking about exactly what restreaming is.
Maybe you can just define that quickly, so some of my other questions, just so there's no confusion with folks.
Absolutely. Yeah. So restreaming is this idea of taking one feed and sending it to multiple places where your audiences are.
It's a fairly straightforward, simple concept. Its origins come from, in the last decade, we've seen the rise of more and more social networks, each serving a very different kind of audience and use case.
The users on Twitch are going there with a different mindset, looking for a different specific kind of content.
The users on Facebook might be slightly different. And then you have, on a Venn diagram, some overlap.
And that's perhaps the best way to imagine restreaming.
Restreaming helps you cover that overlap. So if you're an artist and you have 10,000 fans on Twitch and another few thousand on Facebook, how do you send your performance that you're doing to these different platforms?
And how do you do it in a reliable manner?
And let's even take this a step further. Let's say you're not just an artist, you're a platform that serves artists.
So now you have thousands of artists.
So how do you scale this so thousands of artists at the same time can have a performance going on, where they have audiences on these different platforms?
So that's where Stream Connect really comes in. It helps you not have to worry about that infrastructure, something that Cloudflare is really well-positioned, is really good at doing, and lets you focus on serving your artists and the fans who listen to the artists.
The underlying technology and the scaling of it and the whole minimizing cost, we handle that.
That's great. So as far as other solutions in market, are there a lot of similar ones out there?
How would you say this compares to what's out there today?
Yeah, I think what's out there today, there are obviously live streaming over the last couple of years, especially has really gone through the roof.
And there are lots of solutions out there.
You can get stuff to work. The challenge comes, how long does it take and to develop V1, V2 of your idea, and how well does it scale?
Both when it comes to infrastructure and when it comes to affordability and the unit cost around, if you go from, you might implement a solution that works with 100 customers, but what if you scale to 1,000?
What if you scale to 100,000? So every product that Cloudflare builds, we really think about scaling.
And I think that's where both scaling in terms of features, because as you get more customers, you add more features, the standard or the expectation of reliability, those things go up.
So that's really where I think Stream Connect shines compared to other solutions, I would say.
What might take hundreds or thousands of lines of code and stretching together lots of different products and then coming back and maintaining it week over week, month over month, that is really the set of problems that Stream Connect addresses.
We're eliminating the need for you to have to do that. Great. That's really great to know.
And so kind of speaking to that a little bit, and you touched on it, but I'd like to go in a little bit more because you had some interesting pieces in your blog post.
So there's some ways that Stream Connect, it really increases reliability and lowers latency for users.
Can you talk through a little bit about that piece in particular?
Yeah, absolutely. So there are, I think, three top pain points that as we talk to customers and just from our own experiences running Cloudflare TV over the past year or so that we learned.
The first one I kind of touched upon, right?
If you have a broadcast and you're trying to send it to three different or four different places from your own local Internet connection, just by nature it means you're using four times more upload bandwidth.
So when you are only sending it to the Cloudflare edge and letting the Cloudflare edge send it in an optimized manner to all the places you want it to be sent, you're using a fourth of the bandwidth.
So that's like upside number one, if you use Stream Connect.
Number two is when you are sending your feed to these other platforms like Twitch or YouTube, they often tend to have specific servers for different geo locations.
So I know that this is definitely true for Twitch, where they have a page that is linked in the blog post where you can go and you can pick the server that's closest to you.
Now, from our perspective, it's awesome, first of all, that Twitch has that page and they're listing the servers.
But what we think about is how do we eliminate that step, right?
What are the things that we can do so we can automatically detect that this user is connecting from, say, Mumbai?
And so what is the closest Twitch server to where this user is, right?
And that's something that we are able to figure out at the edge and automatically make sure that we're sending the feed from the Cloudflare edge to the local Twitch server in the most optimized way.
So we're eliminating that one manual step that, if you're only streaming to Twitch, may not be a huge deal.
But imagine if you're a platform that has tens of thousands of people broadcasting and each of them needing to go and find their local, the closest server.
And I imagine if you're changing, if your customers have their own customers where you don't even know where they're necessarily coming from, right?
So those are the set of problems that we're able to solve by automatically kind of doing our best and attempting to guess the most optimized server of the third party platform where you're looking to push the live feed to.
So that's upside number two. The final upside is generally when you're streaming, when you're pushing your video feed, like on this call that I'm on, it is traveling over the public Internet, which works really well.
We use the Internet all day and it's awesome.
However, when it comes to video, unlike when you're like loading a webpage, even if you're like delayed by half a second, let's say there's like some congestion, which happens all the time.
And for the most part, it isn't really something that we notice, but with video, you notice it really fast.
If this video freezes for even like half a second, you notice. So what we do is we have a product called Argo, right?
The Cloudflare has, where we optimize the routing.
So we pick the most optimized way to send your video feed from the Cloudflare Edge to these third party platforms that have massive audiences that want to consume your content.
That's great. And again, with seeing the parallels between your story with stream and pages, we're seeing how products like Argo or Cloudflare Tunnel are able to be dog fooded and really allow us to unlock even more possibilities for our users by integrating some of those products that we have with Cloudflare.
And so they don't even have to go through the process of using those.
We have that all integrated from day one for them. What I was going to say too, that really resonated with me as you were talking about kind of the second big benefits that is around not having to think about where your users are or look through a list of locations and then selecting that for your server.
As we've been building out serverless solutions, first with workers and then with pages, the thing that kind of, it took us a second to figure out how to impart upon users how globally this all works that I think now users that have used workers, for example, know is like region earth.
But yeah, it sounds like really the serverless version of video, whereas you said the thing that you really have to care about is the content or serving your end users or your user's end users rather than trying to figure out where in the world they are and trying to optimize for that yourself.
It's our job as an infrastructure provider to do that. Absolutely.
And I think both pages and the things we're doing with screen, what we're really saying is it's not about displaying the pixels on the screen.
That's a problem that Cloudflare is probably in a really good position to solve, whether it's HTML, video content, images.
What our customers want to spend most of their time worrying about is what is their unique perspective?
How fast is it coming to market?
How fast are they able to take the customer feedback, evolve their product?
And those types of feedbacks are decisions like, should our product have a light feature when we show an image or a video?
And those are things that increasingly, as we are working towards building healthier products, there are customers who want to spend more time thinking about and working on versus things like, how do I simply display an image or a live video feed really fast?
How do I implement that feature?
So our hope is as we build these products that simplify building and shipping apps, our customers can focus a lot more on the heart of the story and the vision that they have for their ideas.
Yeah. And Rita, I was about to say that as well.
That being the other parallels, you don't want your users to have to worry about which servers it's going on or have to even take care of those underlying details.
It's like you focus on, like you said, whether it's Cloudflare Workers or pages or stream, it's really abstracting away those underlying tactical, tedious tasks.
And so that they can really focus on like what makes their product unique and how do they collaborate on it and get it to market quickly.
So that's really interesting to see this thread. And it's one that Rita and I had talked a lot about for developer week in general, but that thread of like making the developer experience easier, no matter what you're doing or what phase you are in the development process.
So it is interesting to see how all of these different products are really marching to that direction.
Just kind of wrapping up here quickly on the stream side of things, and then I want to open this up to open discussion.
So as far as Stream Connect, I know it's in beta today.
Zed, can you tell us a little bit about how users can get access to it and like what some of the next steps that they might be needing to be aware of?
Absolutely.
So I think if you're watching Cloudflare TV on Cloudflare.tv, in the post, you'll see a link to the blog post.
The bottom of the blog post, you'll find the link where you can request an invite.
We're going to begin sending out invites in the order in which users are requesting them beginning mid-May.
So that's the expectation that I would set.
During the beta phase, we're mostly going to be looking at people who want to play around with it and share feedback.
Our ultimate goal with the product, Stream Connect is a really critical foundational piece for broader vision of supporting end-to-end live streaming and simplifying the heck out of it.
Great. So just in the remaining time I have here with both Rita and Zed, first of all, I'm going to invite anyone who's tuning in and has questions, feel free to drop them in.
There should be a spot or a link there if you're tuning in from Cloudflare.tv live.
So feel free to drop those in. We'll start trying to take those as well.
But now just kind of looking for the future of both of these products.
First, Rita, I know we've talked a lot about moving from the static piece of Pages to going into dynamic elements.
I know maybe we don't want to talk too much or to spoil things too much there, but it's a question that we've gotten a lot and just wondering what you can talk to about sort of the future we see in Pages.
Yeah.
I mean, I'm not worried about spoiling it for anyone. We, I think, made our intent there pretty clear from the original announcement of Pages.
The reason that we built the product out in the first place, we wanted to get something out there and get feedback.
And so today Pages serves static sites, but the goal has always been to enable people to build not just static sites, but rather dynamic applications.
And in a similar way to how with the access integration or analytics integration, it's really about putting together pieces that are already there.
It's very much the same for that, right?
Where we already have the ability for you to deploy a site directly from a GitHub repo and have it be integrated with previews and all of that.
We already have the piece for writing functions to go with your code or to go with your front-end code.
And what writing functions allows you to do, and we're already seeing this on the worker side, is to write things like your own API, since that's at the end of the day what it is, right?
It's an HTTP endpoint that someone can call, and now your UI can call into it as well.
And then the other piece that's important to integrate here, where we think we are going to be able to offer something really unique is the storage piece of that.
So it's one thing if your APIs are just functions that are stateless, that means that you're having to rely on, you know, or the maximum of what you can build is combinations of other APIs out there.
But now you throw storage into the mix with something like durable objects or KV.
Now you're able to store things like user data and session cookies and all of this stuff to really make your applications dynamic rather than one size fits all for everyone.
I think one thing that's really interesting about this too, that actually I really liked Jay Phelps, who was doing one of the sessions earlier, he was talking about how Jamstack kind of took everything and moved it to the build step to maximize the efficiency, right?
Where it's I'm going to build it all in a server one time and then serve everyone the same thing, and whenever to update things, it all kind of happens in that build step or server side somewhere in a single location.
And where I think we have a really unique opportunity is to bring that to the edge and make the Jamstack a lot more sophisticated in that way.
That's great. And yeah, Jay had a really interesting talk with Christian as well earlier today, which for anyone who's watching and does, want to hear more about that, all of those talks, including the one Rita mentioned with Jay will be replayed this evening from 5 to 8 PM Pacific Standard Time.
But Rita, no, that's a really great point. And so also, if people are using, which I know we have users today who are using both Pages and Cloudflare Workers, which is our serverless piece for some of the serverless functions part of it, what would be the process today that people might be able to use with Workers and Pages?
Yeah, so there's kind of two different ways to use Workers with Pages too.
One is to have the Workers sit in front of your Pages website.
So if you're trying to do anything that modifies the content on the page or uses HTML rewriter to update any elements on there or customize things like caching, headers, what you can do is you can write a Worker and then set a route on your custom domain on the zone effectively, right?
And deploy that in front.
So that's one way to use them in combination. The other thing that you can do is you can deploy, kind of as I was talking about APIs earlier, you can do that today by using Wrangler and Durable Objects and any other components of the ecosystem that you need and write your own.
You can make it API.yourcustomdomain endpoint or you can use workers.dev and from there you would just in your front end code call fetch to get that data from the API and display it.
So that's the way that you're able to use it today.
In the future what we want to do is allow you to simply put it in a directory and we might have a configuration file for you if you want to customize anything from there.
The idea is you would be able to deploy it in the exact same way just through get commands rather than having to learn all of the other pieces of the ecosystem.
Great, great. And for anyone who's tuning in and isn't familiar, Durable Objects is one of our newer products that's now in open beta and it's part of our distributed data offering for strongly consistent data at the edge.
So that one is a little bit different than KV, which is eventually consistent global data.
So if you're interested, we are having Durable Objects in open beta today as well.
And you can play around like Rita said with some of those integration with pages.
So question for both Rita and Zed here. We've talked about pages, we've talked about stream.
I know stream connect is still in beta. But what might be some things people have to look forward to as far as the integration between these two products?
I think we might get ourselves some competition with Cloudflare TV.
Right? Like you should be able to build your own TV channel effectively.
Like those are the two pieces, right?
You need a website to put it on as we do with Cloudflare.tv and then the ability to run a live stream.
Yeah, I mean, I think that Rita kind of like nailed it.
We think about if you wanted to build certain types of apps like Cloudflare TV, right?
Which we built Cloudflare TV in-house and there are a certain number of weeks and months it took.
As we build products like pages and stream connect and stream live, one, I think unofficial litmus test for us is if we're going in the right direction is how much are we simplifying?
So if we were to build Cloudflare TV today, how much less time and effort would it take?
Right? And there are many different components to it.
There's a component that could use pages and there's a component that could use stream on demand.
And there are components obviously that the heart of it, which is like live TV.
So I think what you're going to see is this vision come together over the coming quarters where you're going to be able to build things like Cloudflare TV, but the fraction of the effort than if you did the math on how much effort it would take if you were going to build it in-house by connecting a bunch of different vendors and products.
Yeah. So that's really interesting as well.
And again, I'm seeing sort of these different threads here.
One of them is being like Cloudflare, we've done this, right? Like we've built out our own Cloudflare TV app with stream and then stream has been dog fooded with workers.
Pages has also been dog fooded with workers. So we have real -time feedback from our own use cases and experiences to really be able to implement that for our users.
And we've done all the hard work. We know we've built the underlying infrastructure.
We know where kind of the real pain points lie and we're able to really use that and react to provide for our customers and even a better experience.
Yeah, exactly. And I think that as our vision for stream and pages come together, we should be in a place in coming quarters and it's something that's always in the back of my mind where we can build something like Cloudflare TV in a weekend, right?
Versus like many weeks and several months. Right. Yeah.
I mean, same way that we built pages and basically a few months, right? Because we were able to build it on top of workers and all of these features that we're able to announce today as we went from beta to GA, the reason we're able to launch them so quickly is because of the flexibility that workers gives us.
And so, yeah, like you can take it that next step further of if you were, I think building a product like pages should be much easier with workers.
And yeah, the next step is like if you're building something like Cloudflare TV or like, I mean, any conference site is basically like this could be the future of it, right?
It's the ability to stream something and put it on the website for people to watch.
Exactly. Especially now that conferences probably will be more remote than we ever saw them even post all the pandemic stuff.
So really quick here, we do have a question coming in from the audience.
So one of them is asking, do we have any plans to let the user broadcast a prerecorded video from their video on demand stream library using Stream Connect?
Yeah, I think that probably ranks very high in my personal list of like green features I'd love to see.
For people who have watched Cloudflare TV, you're probably wondering how Cloudflare TV does it because we rely heavily on that feature.
So I would be pretty confident that that's something we will support in the near medium future.
It's certainly something that we need. And when I say we, like in getting Cloudflare TV to become an internal like dock to it and customer of Stream Connect and Stream Live and to succeed with it.
So absolutely, I think that's something that we're thinking a lot about.
And that's something that I'm fairly confident we're going to support in the future.
That's great.
So sort of speaking of this forward looking roadmap perspective, Zed, is there anything more you want to share as far as what you see the future of Stream or the future of what people might be able to build with Stream and like integrating across the Cloudflare products?
Yeah, I mean, I think I would just say that we're building a set of products that revolve around creators and creator platforms.
That's something that has become abundantly clear in the last, especially in the last year.
And I don't think that's going to slow down. And a lot of this comes from this massive rise and the number of people just on the Internet from all over the world that have become customers, founders, right?
And they have these ideas that if you just only lived in America and California, you might not have had.
And so I think for us, our broader vision is people who have these ideas, do whatever we can and we need to help them bring them alive as fast as possible, as affordably as possible, and while giving them the peace of mind that this idea can scale with their growth and their vision.
That's great. That's certainly a vision that we're excited to see play out over the next few quarters and years as this gets built out.
Sort of similar question to you, Rita, I know we kind of touched on it with the workers integration and the durable objects and all of that.
But is there anything you sort of want to leave our audience with about what you're excited in Pages and Jamstack and in the future of what we're creating here?
Yeah, I mean, I think it's just to double down on Zed's point.
Someone is in their garage right now building the next billion dollar company, or it might not be a garage and it's probably not in California.
It can be anywhere in the world. And our goal is to equip them with all the tools that they need in order to be able to become successful and become that next billion dollar company.
And the way that you do that is by taking away any time that they have to spend on things that are not business critical and allowing them to focus on really their mission.
That's great and a great way to end.
Thank you both for your time and be sure to tune in to the rest of our announcements this week.