Cloudflare TV

Speed - What Goes Into Building a Better, Faster Internet

Presented by Derek Yee, Achiel van der Mandele
Originally aired on 

This segment will explore the various areas where Internet speed can be impacted and take a closer look at Cloudflare's new Speed test tool.Derek Yee will interview Achiel van der Mandele, Cloudflare's Product Manager for this new tool

English
Performance
Interviews

Transcript (Beta)

Okay, and we are live. Welcome to Speed. What goes into helping build a better, faster Internet?

My name is Derek Yee. I'm part of the product marketing team here at Cloudflare, and I am joined today by Achiel van der Mandele, who is one of our product managers based in, you are in Austin, right?

I am. Excellent. So I'm based here in San Francisco.

So we're crossing a couple of time zones here to bring this session to you today.

So we are going to talk to you a little bit about speed and everything that goes into helping build a faster Internet.

Before we get started, I'd love to kind of just break the ice a little bit with everyone and let you know a little bit about ourselves.

So like I said, again, my name is Derek Yee.

I am part of the product marketing team here at Cloudflare. I've been here probably going maybe two and a half years prior to Cloudflare.

I was at a company called Citrix, moved out to the West Coast in 2015.

And you know, when I first started Cloudflare, and I'll throw this on Achiel afterwards, they always ask this question about like, what's your fun fact that you will never find on your resume?

And this has kind of been anyone who knows me well enough, as long as I've been at Cloudflare.

My de facto fun fact is when I moved to San Francisco, I actually started our only Corgi meetup group that exists in the city.

So we have close to like 800 members that have joined our group.

So like once a month, back then when we couldn't meet in person, we'd actually have a bunch of Corgis that would just come out and meet in person.

And it would just be tons of fun. So I'm going to throw it on Achiel.

Achiel, would you like to? First, I need to know more about the Corgis.

So what do you do now? Do you have some virtual hangouts for the Corgis? We actually do.

So when we first went into lockdown, we were doing virtual Zooms, and everyone would be in the living rooms and show the Corgis.

And it was actually really cool for the time, because that was the part where a lot of people were really unsure about what's happening.

So honestly, when we went to Zooms, it was less about the Corgis and more about the owners actually talking to each other and actually helping each other for themselves.

So that was really good. Now we've kind of gotten as things have semi started to reopen, attendance hasn't been as much.

So we've done them like now we do like every other week, we'll do a Zoom for anyone that wants to log on and see one another and say hi to their Corgis.

Cool. So, hi, yeah, I'm Achiel.

I'm a product manager here at Calplayer, kind of focused on edge services.

I've been here for, I think, almost one and a half years. Before that, I was generally in platform as a service companies for chatbots and web apps.

My fun fact that I put up that you wouldn't really like, find in my recipe anything, it's I ferment my own kimchi.

And for anyone that doesn't know, kimchi is a Korean dish, where with comprising of various degrees, but generally Napa cabbage, and any other types of veggies that you want to put in.

The fun thing is, it sounds really like unique and smart and hard, but it's really super, super easy.

You just need the right ingredients to stick them in a jar and you're good.

But anyway, that's my fun fact.

Honestly, when I look at you, I think it's like, oh, you always thought you were gonna say like you're like microbrewer, like you brew your own beer, but you ferment kimchi, whatever got you into like starting fermenting kimchi.

But it's nice.

It's kind of like a Korean like a version of it tastes sometimes people are going to kill me if I tell you this, but it tastes a little bit like sauerkraut.

Like the sauerkraut is also fermented, right? But as a nice spicy zing to it.

Definitely recommend. Awesome. Well, next time I see you, let's make sure to bring some of your homemade kimchi with you.

Definitely do that. Awesome. Okay, so why don't we go ahead and start talking about what are we talking here?

We're here to talk about speed.

So before we actually get started, I'm curious, I'm going to throw a couple while I've got you online, I'm going to throw a couple of numbers at you and see if you can tell me why does this matter?

What's the significance of three seconds?

Any guesses? The amount of time before you bounce from a website if it doesn't load fast enough?

So you know, that's very close.

So you might have actually jumped the gun on me for that.

So three seconds. So if you look at say, like Google AdWords, what they've actually posted through analytics, and they look at for like anyone consuming a web page or content from a mobile device, it's got to be at least you know, three seconds is probably the most time someone's going to tolerate in terms of waiting before they choose to do something else.

So that's kind of their tolerance. And honestly, I think three seconds is actually still kind of a lot in this day where we want like pretty immediate gratification.

But that's a number. So that's one thing to keep in mind.

And then so the second piece of that is like, what do you think 53% means?

You kind of had the answer before, but I'll throw it back up again.

That's the bounce rate based off those three seconds? So yeah, if you look at that, so 53% is like more than half, right?

So if you look at think of how much money companies are spending on advertising to drive traffic to their site that if your site's actually taking more than three seconds to load, Google Analytics is actually able to sort of measure and show that 53% of those visits actually bounce and they go somewhere else.

So that's a lot. Crazy high. Yeah, right?

I mean, there's a lot. If you had asked me to guess this number, I would have said maybe 10, 20%.

Yeah, I mean, just right. You just think it's like half the money that you spent was wasted because if it's not fast enough, then you're really, you know, you're doing yourself a huge disservice and just not being very efficient on like how and where you're sort of spending your resources.

So basically the takeaway for this and hence today's session for most of you that are logged on today is, you know, speed matters.

And it's probably, we're probably preaching to the choir because that's why most folks logged on today to join today's session.

So what I want to kind of take a step back and, you know, we're going to talk to a little things on Akil.

I know you've been working on some stuff specifically to sort of measure sort of speed for many users, but I want to kind of take a step back and set the stage as to what are we looking at in terms of speed and the Internet and what that experience, what are the things that actually impact performance and the speed of your content pages on your websites?

So let's take the building blocks, right?

So you're obviously going to be hosting your pages.

You've got a host server either sitting on-prem or more likely in an instance in cloud.

Beyond that, you've got your client sitting on the left-hand side. Someone's connecting, say, from a browser and they want to be able to connect to your website.

So in between all that, you've got the network and this is the big, vast network that's connecting.

It's a lot of things that can happen in the way here.

And for the sake of today's discussion, honestly, that's really the brunt of what we talk about, you know, what is going to impact sort of the speed and performance that one's expecting to be able to get from their sites.

So let's talk about the network.

There's probably two variables I think that's worth talking about in the context of speed for today's discussion.

First thing is going to be latency.

So when I think latency, you know, you think about anyone that's overseas connecting to, you know, a host origin that's somewhere on the other side of the continent.

There's going to be some just lag time that's going to happen. And network latency typically, you know, measured in milliseconds is the time it's going to take to get from point A to point B across the network.

And there's a lot of things that happen along the way in that network that's going to actually interfere with the efficiency and performance that gives you that measure for network latency.

The other factor that would be part of sort of today's discussion when I get to Akil is going to be on bandwidth.

So when you think about bandwidth, bandwidth is really just the maximum transfer rate of data that can be parsed on your network.

And a lot of this stuff, honestly, we, you and I don't have too much control over that aside from the fact that, you know, your Internet service provider is going to call shots and you contract with them for certain plans that's going to be able to show, okay, this is how much speed you're going to get and this is what you're paying for it.

So those are the two things I want us to kind of think about today in terms of bandwidth and latency, which as we start looking at, you know, right at the beginning of this call, we were actually kind of talking about what's going on now, how we're all working from home.

Where are we now in terms of 2020?

So 2020 has really kind of gotten off to a bang with all of us. I'm willing to bet that anyone that's logging onto this show today is probably connecting from home.

I know many people are probably sort of exhausted over Zooms and Hangouts.

I mean, that you actually are craving sort of in-person engagements with real people again.

But here's what we look at, you know, if you think about what's happening on the Internet and any of you who've sort of attended any of our webinars have probably seen this chart before.

When you look at, say, coming here at the end of 2019, moving up into where we are into like right at the cusp of the pandemic when it hits, I mean, the charts are, it's off the charts.

When you look across the world in certain regions on the Cloud for Network, we look at what the spike and increase of traffic has been, you know, by some measures we're seeing anywhere between 30 to 50 percent increases.

So when I'm talking bandwidth and I'm talking latency, this kind of leads us into the question like, okay, so we know there's a lot of people that's spending more time online connecting through video conferences and calls, and then we get to the point now where what is that going to mean when I'm connecting from home?

How is my sort of day-to-day work experience on my laptop going to be affected by all this?

And this is where, I don't know if any of you guys have read Akil's blog prior to today's session, but definitely recommend take a look at it, and we'll probably talk a little bit more about it in our conversation today, but it talks about like what are you going to find are some of the conditions that will sort of impact what's your experience of the Internet is going to be like at home, because we're not at work anymore, and you would think when you're connecting from your office, you know, they've got like dedicated lines for Internet support, and like it's certainly different from like an apartment building.

So Akil, I want to maybe tee this up to you. Let's talk about measuring home network performance, and in particular, and I threw the URL down there, if anybody wants to look at it now while you're logged on, speed.Cloudflare .com.

Tell me about it. Yeah, for sure. So we wanted to, there are a bunch of tools out there that offer speed tests, and I think a lot of them are great.

We kind of wanted to offer an alternative, one just because alternatives are nice, so you can get like better, more measurements, and thus more objective view, but also more importantly, we wanted to give a lot more information about how your Internet connection is performing.

So if you look at a lot of the other speed tests, they just give you one number, right?

It's like, okay, you're hitting 50 megabits a second, right?

We wanted to kind of give you insights about like how are we even measuring this, but also like how is your performance operating for small versus larger files.

And lastly, we kind of wanted to give you insights in how we calculate this.

We offer you the capability of downloading your own measurements, so you can do your own analysis and see how things are doing.

I think the last thing that we also really care about is privacy.

It's a huge thing for us at Cloudflare.

A lot of these other tools collect your data for reasons. I think for us, it's very important to be completely transparent about how we use your data and explicitly say, we're not here to sell your data.

We collect it for aggregation purposes, but we anonymize it, and we definitely will never sell your data to anyone else.

So before you get too far out, so there's a couple of things I want to kind of touch on.

I'm going to go back to one. I'd love to kind of hear behind the scenes exactly how are we measuring, say, like I know you mentioned there's like different size packets, like smaller, larger, et cetera.

How exactly are we doing that to be able to get those numbers?

Can you give any sort of insight into like, were we doing it through an edge or what's sort of the background details on that?

Yeah, for sure. So this entire tool, for starters, it all runs entirely on Cloudflare.

The other really, really cool thing that I like about it is it was built entirely using workers.

So you could have built your own speed test tool and run on our network, no problem.

There's nothing special that we did behind the scenes on this.

And the way the speed test generally works is we want to get an accurate measurement for how many bits per second you can download, right?

That gets you your download speed.

If you start off with small files, you don't always get, and you download it like within a second, you don't always get super accurate measurements.

So we kind of scale up until we get to a larger file size so we can give you an accurate measurement and also to allow you to kind of scale up your congestion windows for TCP.

The way it works on the backend is actually relatively straightforward.

We have a very straightforward worker that generally just uncompressed pumps out a whole bunch of zeros.

And because we don't have compression, all those bits have to cross the network.

And that cuts like very, very precise measurements for how long each file took.

All of this is open source, by the way.

So if you want to run the same worker, you can clone us on GitHub and run your own speed test tool.

Got it. Okay. You mentioned something about privacy. So is it really true that like when you think about like these other third party tools that are out there, I mean, do they actually really sell our information?

I mean, is that like, I mean, that's vital data.

I mean, it's like, it's kind of a black hole as far as like what happens to what we're doing through those tools, isn't there?

I don't want to really get into exactly what these things do, but I do urge, I honestly do urge people like look at these tools and look at their privacy statements and look at like the companies behind them and make up your own mind about what you kind of think about what they do with that data.

You know, so speaking of data now is the last question I promise I'll have on the data front is what exactly are we doing with like, why would we even build a tool like this?

Like what's in it for Kotler?

That's a great question. I think ultimately it allows us to improve our network and help everyone in a better way, right?

If we can pick up that certain areas are not performing kind of to what we're expecting, that allows us to either build out more data centers or it allows us to go over to ISPs and say, hey, we would really love to get better peering arrangements with you so we can help you better.

And that benefits everyone ultimately, because it allows you to, when you're at home to visit every website that's on Kotler even faster than you could before.

Sure. Yeah. It's just basically, yes, I guess it gives us even like a further sort of touch point as far as the end to end and like what the experience and performance speeds are going to be like across your network.

Yeah.

You know, when we first, when you were first launching this tool, I remember one of the things you had me do is like, hey, can you like go run this task and upload the charts and some of these numbers?

And you asked me one question, like, you know, and make sure to include like, what is the speed that your ISP promised you?

And honestly, I had no clues. Like, geez, I have no idea. You know, it's like nobody really pays attention to that unless it's like suddenly things are really slow and you're wondering, wait a minute, I'm paying for this?

Like how much am I paying? You know, so it's like I actually had to go look and I was actually surprised the numbers that I ended up getting on the tool compared to what I was contracted to getting was probably, I want to say at least 50% less in terms of speed.

I'm curious, what do you, what are some of the things you think that could potentially be causing?

Is that just inherent? Like, is it just that my building has just like really crappy network speed?

So, I mean, we do web pass. So, I'm not saying anything bad about web pass, but the fact that, you know, it's like, I don't really do anything else.

I had no control over anything else beyond what the provider is doing.

So, any hints or clues as to what could be causing or things that somebody could do to maybe get better performance of their home networks?

Yeah, for sure.

So, for starters, it's definitely not always the ISP's fault. There's actually a whole lot of factors that go into the score you ultimately get.

I mean, an easy one is if you're on Wi-Fi, a lot of Wi-Fi base stations are just not good at high throughput.

They might get you 50 or 100 megabits, but if you want to get like higher, higher, higher, you'll really have to probably invest in a better Wi-Fi base station.

So, that's an easy one why you might see lower scores. I mean, if you can't transmit your base station, then your ISP doesn't matter.

And usually, that's actually kind of okay because maybe you have multiple devices and one uplink running multiple at the same time.

It might be fine for you. So, switching to an Ethernet cable is a way to eliminate that.

Another is just Wi-Fi base station placement.

So, the point I guess I'm trying to make is there's a lot of factors even within your house that will affect how fast you can up and download.

And there are great resources out on the Internet.

I think we linked one or two from our FAQs on the speed test tool that will allow you to kind of diagnose that and figure out what's going on.

Yeah, funny you bring that up because I think about all the things I have connected in my home right now, and I don't think I have the most sophisticated connected home.

But you've got an Alexa. You've got all these different devices that are sharing off that one wireless router.

So, I guess if I'd actually run this test and actually get an Ethernet cable, plugged it to my laptop, plugged it directly into the modem, then I'd probably get higher speed numbers in terms of what true performance would be versus over the wireless connection, right?

Yeah, we've also talked about doing more things such as, I don't know what router you're running, but a lot of people do happen to have routers that give you a shell so you can actually run the commands there.

So, we've actually talked about creating a CLI version of our speed test tool that you could just run from a command prompt from your router to kind of eliminate this problem.

Because that gives you like a very true sense of literally from the router how fast can you access the Internet.

Do you think getting a new router is even something, I mean, like I've seen, I think I remember looking at some posts like, oh yeah, you know, last time I actually bought a router was like years ago and now it's like Internet speeds are getting so much higher.

Is there a disconnect or is there a worthwhile considering even looking at getting like the newest, baddest router that's out there that actually give you a boost or not?

Yeah, for sure. So, again, there's two kind of two components here, right?

There's the Wi-Fi base station and there's a router.

Most ISPs give you like a combo box that might do both. Yeah, but both of those components can definitely affect the speed that you're getting, especially Wi-Fi.

Yeah, you know, and the other thing too, so it's like I was trying to look at this like what is actually considered like high-speed Internet.

So, I think, you know, you look at, I believe it's like 50 or more, 50 megabits per second or more is considered high, but then the big question comes up.

It just depends on what you're doing.

If all you're doing is email, high-speed Internet is completely wasted on you versus if you're streaming or playing video games.

So, I think a lot of that kind of factors into like how you're experiencing.

I would probably guess, especially most people watching this segment today, they're probably having a relatively fine experience.

I mean, unless, you know, things are stalling or stopping, then, you know, they're not really too concerned about any sort of speed issues at home, right?

No, that's actually an interesting thing.

It's kind of, to be completely honest, it's a little bit of a pet peeve of mine, personally, that we're getting to these things where we have like these super hyper fast Internet connections where people have like hundreds of megabits or up to a gigabit.

When you look at like what you and I are generally doing at home, you said that the stream will probably generally run fine for everyone.

Even a Netflix stream is maybe a couple of tens of megabits per second, maybe 20, 40, I don't know.

But like at that order of magnitudes. So, you're never even going to hit 100 megabits a second.

You got 24k TVs that you're streaming onto at the same time at home.

Sure, if you have eight family members and they're all watching a 4k stream.

You know, so speaking of video, also in your blog, you mentioned something about not just latency, but jitter.

Can you elaborate a little bit more of that on the tool and like what is, how does jitter sort of play into this and why should we care about that?

Yeah, for sure. So, you did a great job of explaining like what latency is, which is just like if you're pinging back and forth a piece of information between two parties on the Internet, let's say your laptop and a web server, the latency is the amount of time that it takes to come back.

And a lot of time that can kind of go up and down.

It's not always stable. But for a lot of applications, that's fine.

There are a few applications that really, really care about like how stable that jitter is.

And a really big one is video conferencing. Because in general, those things that you send bits through the pipe, they arrive, as long as they kind of arrive evenly spaced out, your video transcoder is pretty good at like reassembling that.

And the quality might be good or bad or whatever, but it's fine.

You get into problems when some of the bits arrive super fast and others really slow.

Because that introduces like stuttering or like jumps between video quality, which is very, very annoying in video conferencing.

In general, it's actually kind of funny to think about.

But a lot of the time, you would very much rather have a stable, crappy video conference, because you know what you're getting and your brain is kind of tuned to it, than having good, bad, good, bad, good, bad, good, bad.

Because that's impossible to reason about. You also like when you and I are talking, we're intuitively kind of getting a feel for how much delay there is in talking between each other.

And we don't realize it's happening, but you intuitively get that.

You get real problems when the latency goes up or down, and you need to constantly readjust.

And that's when you get these video conferences where all of a sudden two people start talking at the same time.

And it's like, no, no, go on. Or you just say, let me turn off my video so that we can actually have like a proper conversation.

Yeah, yeah. So anyway, so jitter is a number that kind of represents how much your latency changes over time.

And it's something that we calculate and track on speed.Cloudflare.com.

So that gives you an overview for how well your connection will be performing for those types of applications.

Got it. Okay, so here's the other question I got for you now.

I don't know if you've given any thought to this one. So you're the product manager for rolling this thing out.

So what's your favorite part of the speed tool?

And what do you find most useful about it? I think two things. One, I really like that it's so transparent, and you can kind of click into how all these things are measured.

The other thing I really like is what we just touched on, like showing latency and how it goes over time and calculating jitter, which is something that you actually should be caring about.

Most people can't really map to what it means in real life, but a lot of people do care about that.

And I think it's cool that we're tracking and showing them.

I think there's even an option you can download the data, couldn't you?

Like everything that it gets out. Yeah, sure. Everything is all downloadable, and you can grab everything and do your own analysis.

Go wild.

That's crazy. Okay, so I actually just got a question from Sherry. She just popped over.

So there is a question that came through. Will there be a CLI application created for non-GUI-based systems?

I think you might have touched on, I think, one of the things Yeah, it's definitely something that we're talking about.

I don't know if and when we'll do it, but we know there's a whole bunch of interest there for offering a CLI.

I mean, there's a lot of people that want to be able to run this.

I was talking to one of our customers, and they run basically a huge network with like, I think, a couple hundred routers over various locations.

Those routers obviously don't run browsers, but they wanted like a CLI version so that they can run it on those routers and kind of continually monitor how well those They would just automate it into their existing process just by having it all script-based versus having to go into a GUI to be able to do it.

Yeah, so definitely something we're interested in supporting.

So that was my other question.

Maybe they kind of jumped the gun. I don't know if there's anything else.

So it's like, do you know what's next for the Speed Tool? Anything else you might be willing to share publicly?

There's one thing that I think we can touch on.

I thought it was a little bit interesting. So when we launched, we did a whole bunch of testing, and for us, at least internally for the people that we tested with, it was pretty good.

When we launched, a lot of people noticed that our upload speed was not great.

I noticed it's not there in the tool right now.

It's not there now, and I can't tell you why. We noticed that at least for certain cases, for certain people using the test, it's not for everyone, that upload is really bad due to the buffering that we do at our edge.

We use, I think it's 64 kbit buffer for accepting HTTP traffic, and it wasn't going up fast enough to, or that wasn't large enough to be able to hit large upload speeds.

So that's something that was actually great because we were able to fix that, and we'll be rolling out a fix soon and then re-enable upload.

Got it. And from my recollection, I think most, and just in terms of bandwidth and speed, it's like download speeds are usually going to be a lot higher than your upload speeds.

Is that fair? Most service providers are going to sort of throttle your ability to upload stuff versus downloads is what most people are going to be doing.

Do you think that's fair? Yeah, generally. I think it's interesting how Internet speeds have kind of evolved over time in the sense that due to just the way technology works, like with the DSL connections, what is it, the 90s and 2000s, you would traditionally have this eight to one, eight megabit down, one megabit up style connection.

But now with fiber, I think it's becoming more common to offer symmetrical connections.

Really? Because I think last time I was shopping around looking for Internet services, they always advertise the download speeds, and in the fine print, you'll see what the actual upload speed would be, and it'll be a lot smaller than what you typically would expect.

You see 100 megabits per second, that's in big bold, and then you have to read the fine print to find what your upload speeds are.

Great. Okay. I think those were all the questions I had for you in the speed tool.

So it sounds like there's a lot more stuff we have to look forward to.

This is something we're going to continue to iterate on. I mean, I don't see if Sherry's got any more questions coming through.

Sounds like we're potentially considering doing some stuff around CLI, and then the upload portion should be available soon, right?

Yeah, for sure. We should be able to roll that in the upcoming next couple of weeks.

Right. Okay. Well, I think we are running right to the bottom of the hour.

So I think we used our time fairly well. I'm hoping everybody found the session today useful.

Feel free to send comments, ask questions, give us raves, whatever.

Just I'm going to tee up. So following right after our session is style guide, and some of my favorite designers at Cloudflare are going to be on there, Eladie Elhenson, Fallon Blossom, and Nayaba San.

So I'm going to give them all a shout out.

So stay tuned. Don't go anywhere. Their session's going to be up next.

And thanks for joining us today. Definitely all fun people that you should definitely stay tuned in for.

A lot more fun than us anyway.

All right. Thanks, Akil. Stay safe. Cool. Thanks, Eric. Yep, yep. Bye.