💻 What Launched Today - Tuesday, May 16
Welcome to Cloudflare Developer Week 2023!
Cloudflare Developer Week May 15-19, our week-long series of new product announcements and events dedicated to enhancing the developer experience to fuel productivity!
Tune in all week for more news, announcements, and thought-provoking discussions!
Read the blog post:
- Announcing database integrations: a few clicks to connect to Neon, PlanetScale and Supabase on Workers
- Smart Placement speeds up applications by moving code close to your backend — no config needed
- Announcing connect() — a new API for creating TCP sockets from Cloudflare Workers
- Goodbye, section 2.8 and hello to Cloudflare’s new terms of service
Visit the Developer Week Hub for every announcement and CFTV episode — check back all week for more!
Hello, hello, hello and welcome everyone to day two. That's right, day two of Developer Week 2023.
Today, I have an esteemed panel of amazing people from our product management team with Matt, Director of Product Management, Brendan and Tanushree, our product managers for Developer Week.
Say hello, guys. Hey, everybody.
All right. Now today we have some amazing announcements, some product announcements to share with you guys.
I'm going to share everything that we're launching today.
And with that, we'll start with Tanushree. Tanushree, can you share what we started, what we launched today?
Yeah. Hi, everyone. My name is Tanushree.
As Leroy mentioned, I'm a product manager at Cloudflare. So one of the big things, really exciting announcements today that I want to share with you all is database integrations.
So as PMs at Cloudflare, and I'm sure Leroy, you get this too all the time, developers often ask, like, what can you build with Cloudflare Workers?
And truly, possibilities are endless. And so it's hard to get that elevator pitch down.
But what we really want to build out with integrations is a spot for you as a developer to see what tools you can connect to Cloudflare with, and then also make it really, really easy to do so.
So to start, we're starting off with database integrations.
Data is super duper important when building full stack applications, applications that have state that are able to be responsive.
And we also have announcements coming out later today about making that fast too.
So really what database integrations is, it's a spot where you can see which integrations, which databases Cloudflare supports connections with, how you can get started with them.
We have tutorials that we've published as well, since we know that every runtime has their own specific work.
So we want to make that really, really easy to get started with. And then also a spot so that you as a developer never have to copy and paste your database credentials.
We have an OAuth flow that's been designed to make that really easy to do straight from the Cloudflare dashboard.
So that's one of the announcements for today.
The other one kind of goes hand in hand with this theme of data that we're really pushing today is smart placement for Cloudflare Workers and pages functions.
So when you think about how workers works, traditionally, your user, you send a request to a worker and then that worker gets invoked in the data center that's closest to the user.
And this works really, really well for some use cases, like if you're trying to render frontends very fast, serve assets globally, but in cases where your worker is talking to backend services, like databases, like APIs that are centrally located, you can see your worker pay penalties in terms of latency because of that round trip time.
And so with smart placement, what we do is we're able to analyze requests from your workers and make it And sort of, we have a placement solver algorithm that runs and is able to analyze where your users are located, where your worker is and where it's making backends to, and then find the optimal placement for your worker in order to minimize total application latency.
And all of this is behind the scenes from a user's perspective.
It's a click of a button, it's a config in your Wrangler toml, and then we handle all of the complexity behind the scenes for you.
And part of the reason is we really believe that developers should never have to think about things like regions, never have to worry about infrastructure, it should all be handled by the network.
We have a very unique vantage point. We have lots of data that we collect about that and we're able to aggregate that and make the best decisions for users' applications.
So those are the two announcements in a nutshell.
Okay. Well, Felicia, could you talk more, or you all can talk more about the database integrations, like which databases can you connect to now and how does it work for the developers and how does it help enhance the developer experience?
Yeah, great question. So, we have launched with three databases to start off with, Neon, PlanetScale, and Superbase, and these all have connections already over HTTP.
So, in the past you were able to get started using the library for Neon, for example, on workers.
But we wanted to make that really easy to do and build seamless integration directly from the dashboard, which is what database integrations provides you as a developer.
So, you'll see if you log into the Cloudflare dashboard and use this experience, you're able to kind of select your database, give us credentials so that we can add secrets to your Tomo file.
It takes you through the OAuth flow for Neon, for example, so you're able to select which project, select the databases that have different things like branches or different permissions like rules that you can select, so give Cloudflare access to that.
Whether you want us to just be able to read from your database or both read and write or admin, you kind of have flexibility to pick there as a developer depending on what your application is doing.
And then from there, what the integration does is we automatically add secrets to your worker.
So then you can go ahead and start using the driver that these database providers have right off the bat.
And then you also notice we have specific documentation that's been added to our dev docs so that you can get started with either a brief example or if you just want to see what it looks like to connect, there's examples on there as well.
So it truly is, in some cases, as small as like four clicks in order to get from not having anything to having your Neon credentials added.
It's really cool. It's very fast.
No need to kind of switch tabs back and forth between multiple places.
It's all in one experience in one seamless dashboard. Can developers get started with database integrations right away to start building?
Yeah, so this is in an open beta, you can get started today.
It's available to all the workers plan types.
And stay tuned because we have many more integrations coming soon. If you have specific requests, feel free to fill out the form in our documentation.
It's been uploaded.
So happy to take specific requests from there. And then also Brendan and Matt have some exciting announcements coming out.
And off of that, we're able to unlock even more integration types.
So space is going to continue evolving, we're going to ship fast.
But it's an open beta available to everyone to use today. Great, thank you.
Thanks, Razory. And could you tell us a little bit more about the smart placement announcement?
Is it available for developers to use? How do they get started?
Yeah, please. Yeah, so smart placement is available for developers to use both pages developers and if using pages functions and workers as well.
We were in a sort of closed beta phase to the last few months testing, refining, making sure things worked as expected.
I'm sure there's going to be cases where something, a host that you're connecting to doesn't work with smart placement and we'd love to hear about that and be able to tease out some of those specific use cases that you have.
So if you have feedback and you've tried smart placement out, we'd love to hear about it.
Best way to get feedback is through the developer discord. And just like integrations with smart placement, you know, we put emphasis on making it super easy to set up.
So it's one click on the dashboard, it's a config in your tomo file and we handle the rest for you.
The other cool thing about it is I would check out our demo that we have for smart placement.
It's linked in the blog post that was announced today.
You want to get a better sense. It's a new thing for lots of developers, having your compute move around to different locations.
So just getting a better sense of visually how that looks and being able to kind of interpret the different smart placement mode on versus off.
What does that look like?
So we would definitely recommend going to that, playing around with it.
The other part of smart placement that I was really excited to work on is analytics.
So once you turn it on, how is it improving your request duration? How is it making it faster?
The analytics that we have as well, some ideas down the line coming for more visibility into, hey, where's my worker actually?
How has it moved in the past little while?
I think that's important to deliver to developers. So those are some ideas we've been fleshing out for future releases as well.
But today you'd be able to see analytics in a dash as well as a placement status that helps you identify, hey, I turn it on.
Nothing's happening. What might be the case?
So we've done some things around that, too, because I do acknowledge it. Sometimes it can be a little bit of a black box where you turn it on and you have no idea why it's not working.
So being around you as a developer, the confidence in smart placement is a big part of that feature as well.
I totally encourage everyone to play around with it.
I've actually sort of end to end tried the two together.
You build an integration and then turn smart placement on for your worker as well.
So they fit in really well together. And I would love to hear your feedback as developers play around.
Now, we get this question a lot from the developer community.
Is there any pricing impact or implications of the database integrations and smart placement?
No, no pricing. This is included in our workers. If your workers for user paid tier, it's all included.
I don't think anything we've announced today actually has pricing implications.
The real focus for us is we want you to get started.
We want you to build fast, ship fast. And we want to enable that with the features that we're developing.
So, so no additional cost. Thank you, Tanisha.
And we again, check out the blog on our Cloudflare.com backslash developer dash week to get all of the details for smart placement as well as database integration.
Now, Matt and Brendan, we also announced the new API for creating TCP sockets from Cloudflare workers.
You mind talking more about that and how developers can get started?
Yeah, definitely. Thanks. So kind of building off of what Tanisha was talking about with database integrations.
We're excited to announce that we have a new API in Cloudflare Workers that lets you create direct TCP sockets in workers.
Now, a lot of databases or there's some databases out there that speak HTTP, some of the kind of newer platforms that are out there.
But many databases, especially the ones that you're that most are running on most cloud providers speak require TCP sockets in order to work.
They don't speak HTTP natively.
And so we needed to build an API here kind of in order to close that gap and be able to make database drivers work on workers.
But it's not just databases that need this.
There's all kinds of protocols out there. They're TCP based. And we're really excited about this as one of many steps that we're working on towards being able to support protocols beyond HTTP on workers to let you build all kinds of things on workers beyond what's been possible to date.
So there's lots of details in the blog post about kind of what this API is and how it works, kind of the underlying details.
But one thing that we wanted to highlight is that we've been working with people out in the community, people who work on database drivers and other open source libraries, both to get their feedback about how this API should be designed.
And so we're excited to say that that actually works right now out of the box.
Matt can share a couple more details about kind of what we've done there and how that works.
But definitely go take a moment to check that out.
Yeah, I think Brendan, you actually covered so much of it, you left me very little, which is good.
But, you know, I think one of the important things for us was when we were building this sort of TCP socket API, right, and we looked at, you know, how do we support existing APIs, people familiar with the Node.js APIs, right?
And I think what's particularly interesting is a lot of what is happening in the browsers with their move to support what is called sort of a direct socket API, a TCP socket API.
And newer sort of serverless environments are sort of like the folks at Deno are doing and then Node.js itself is like moving to this sort of simpler API, right, the old sort of Node.js net.socket.
It's big and it's heavy and it's complex.
You know, it's been around for, what, more than a decade.
And so we obviously have this new API, this connect API, it's way simpler, it's much easier to use.
The flip side is like a lot of the existing database drivers, you know, sort of any other sort of connection-oriented library, right, so say RabbitMQ, which is sort of an IoT or messaging protocol also builds on TCP, lean on those old APIs.
And so sort of as you said, Brandon, but what we've been doing is engaging with open source maintainers, right, actively actually working to contribute back upstream changes that allow their drivers to work in a native Node.js environment on these sort of legacy socket APIs.
I just want to keep using that, right, I want to use that, I want to use the ORMs that import that, right, I don't want to go and say, hey, here's this whole new set of APIs.
And, you know, we don't want to have to be building these like bespoke libraries that basically tell folks, if you want to use Cloudflare, you've got to use these custom libraries, that doesn't really work either.
Right, people want to use the libraries, the query builders, things like that they're already using.
And so patching those back upstream, Postgres is the first one, so Node Postgres is the first one that we tackled.
And so folks today can literally import that into a worker, follow the documentation in the workers docs link from the blog.
And it just works, right, it just works as if you were building a Node.js application five years ago.
Except it's on workers and it's distributed, and there's a lot more to come there.
The sort of databases and other drivers we're looking at working on, so obviously things like MySQL, obviously really important, a lot of folks are relying on that.
There's sort of adjacent Postgres drivers as well that some of the ORMs use, and so again, you know, working on those, you know, we'll be focusing on some of those.
And obviously any sort of developers that are watching right now or sort of reading the announcements, right, more than welcome to obviously sort of help kick off some of those contributions.
If at any point, you know, you want to get some advice or talk about that or sort of, you know, collaborate on that work, you should just ping myself or Brendan and we're sort of happy to get involved and sort of help steer that as well.
The approach we took for the Node Postgres implementation, I think was ended up being in a pretty good place, right?
We're trying to make sure that we're not, you know, throwing a bunch of code over the fence onto these libraries or these open source maintainers as well.
Making sure it's flexible, just making sure I can still call, you know, new client on a connection string and it just works.
And then I think the other things related to this, and so, you know, I think particularly on the database side, and before Leroy asks, there's no additional cost for creating sockets, there's, you know, there's no sort of impact there, right?
It's just, it's freely available. Sockets are sockets.
And, you know, we've been kicking those around for a while. The database use case, we are calling that a beta.
It works particularly in providers that have existing connection pooling on their side.
Obviously, one of the great things about workers is the ability for us to scale out globally.
But some legacy database providers obviously don't handle that kind of scale well.
And so you'll see some announcements from us over the next couple of, next handful of months, as we sort of work to close some of those gaps and handle things like connection pooling and ways of speeding up connecting to databases on the client side as well.
Okay. And how overall did the announcements impact the, in your words, of course, impact the both productivity, but also just the developer experiences and using these new features for these products?
What are your guys' thoughts?
Yeah, I think I just, I'll keep it brief on my side. I don't know if Brendan and Tushrin have more to add here.
But I think, you know, we've been here for a long time that folks want to connect back to services.
Again, I'll say databases, but it doesn't have to be just that, right?
But databases they have elsewhere, right?
You know, we're building a lot in that space as well, but you do not just migrate your database overnight, right?
Maybe your company's been building on AWS for a while and you want to start moving to Cloudflare.
You want to start sort of building out on us, right?
Because it's becoming too expensive or it's too complex or it's sort of not fast enough, right?
But you're not just going to pick up and move your entire database on day one.
But if you can't bring your data with you or query it, then you're kind of stuck.
And so a really important thing for us is like, well, firstly, how do we make it easy for you to connect back to stuff you already have and take that decision or that like blocking decision out of the way?
And ideally you can move that later or, you know, again, we can speed it up. So that sort of aligns with the Sockus work that Brendan was just talking about and then the database driver work that we're doing.
And then so that second part is, you know, it says to initially walk through is stuff like smart placement.
We've got this amazing distributed compute that runs on our network, but it's connecting back to a centralized database.
How do we reduce that latency?
So you're making, you know, even just a small number of queries, right?
How do we keep that down as possible? So it kind of feels a little more distributed.
It feels a little bit faster. You keep that latency down. So a lot of those things are really, really important.
But again, it's like, how do we, in an overused term, but how do we sort of meet developers where they are so they can kind of build stuff on cutting edge, new stuff like workers, but still bring other parts of their infrastructure and their stack along for the ride?
Yeah. I mean, you know, well-managed software projects change incrementally.
They don't all change at once.
You don't have a giant rewrite of something. And really, you know, if you take these announcements as a whole, you can use them together to start to take, you know, say a sliver of an application and really move it to Cloudflare to kind of this newer serverless way of working and run it in the ideal location.
But also be able to connect back to the, you know, what you already have without having to, as Matt kind of spoke to earlier, move the data along with it.
You can kind of go piece by piece. There's a thing that I've been thinking a little bit about, like, you know, being able to rewrite apps from the outside in.
And we really want to let you, give you the tools to be able to do that, no matter what your stack is.
Like, a lot of the time when technology is getting introduced, it kind of feels like it's an all or nothing proposition.
You kind of have to go all in on one framework or all in on one cloud or all in on one technology.
And this is really about us being able to show you the path forward for an app that you started last week or that you started 15 years ago.
I think another thing to add to that is we talk to a lot of customers and maybe they've already transitioned over to the cloud.
They're using some of the big cloud providers for their compute and data products.
And then it's like kind of picking out the pieces of that.
So now they're like, we want to be closer to users.
We don't want to be located in US East 1. Lots of our traffic comes from Europe.
How do we become closer to users? And part of the first step there is enabling connection back to the services you already have running on AWS or GCP, for example.
So this really unlocks lots of those stepping stones that developers or even bigger organizations can take to start thinking about how do we shift our strategy and become closer to users, become more responsive with our applications.
So I think we're going to start seeing some of that shift and some of these new possibilities becoming unlocked and delivering different experiences to our customers.
And all the while, we're continuing to build up our own data products.
We have R2 and D1 and enabling more of those on Cloudflare as well, bringing data out close to users.
I think it's something that's a little early.
It's very new, but starting to think about that shift and bringing everything, making it more distributed, making applications faster.
Compute is the first kind of chunk, that first piece that you can really take a bite of.
And this enables more of that.
So that's another big thing is slowly changing the way that you as a company, as developers, are thinking about things.
And this enables a lot of those types of new cases that we can see.
All right. And an abstract question, though.
We've announced and delivered a number of products over the past two days for Developer Week.
Just a personal opinion from you guys. What have you been most excited about over the past two days?
Which announcements? Well, I mean, I think we're all biased in that we've worked on the things that we're talking about today.
But we worked really closely with the team that built Constellation AI.
And I think we're really excited about that. It actually pushes our own platform in some interesting ways around just how the types of models that can run inside of workers and durable objects.
And so it was really cool to see. We always love at Cloudflare doing a fair amount of dogfooding of our products.
And to see a team work through that.
AI is happening so fast. And I was watching that product get built week over week.
And the progress is really cool. So it's great to see that out in the wild.
And I'm starting to opt in customers to it. What about you, Tanisha?
Yeah, the other one that I'll add here, too. I have a soft spot for our Launchpad program.
I think it's super duper awesome. And we've seen lots of great success in the first cohort that we had over the past.
I think it was like half a month or so.
And a lot of us got to even meet with some of these companies that are building entirely on Cloudflare.
So that was really awesome to see. And then the announcement around AI and how if you are a startup building AI product on Cloudflare, you get access to the Launchpad program, just making it all the more accessible to start building quick.
We understand that some of these teams are one to three, maybe a few more people.
You're building very lean, and we want you to get started on us.
So I thought that was awesome. That was something I hadn't been following at all.
So I was reading the blog post from an outside perspective, like, oh, this is so awesome.
I want to call that one out. And you, Matt? I promise I'm saying this not just because Tanisha's here, but I was really excited for the smart placement stuff.
I think that is the stuff that if I wasn't at Cloudflare and I'm looking at what makes Cloudflare and why are these things really powerful?
That to me is just impressive. The fact that I can have distributed compute, I can run this compute globally, and I don't have to have this upfront decision.
I've built a lot of stuff on cloud providers over the years, and I hate getting asked upfront, what region do I want to put something in?
Because how do I know?
Do I put it on the west coast of the US? Because maybe that's where I'm close to when I was living in San Francisco.
Do I put it on the west coast of the US? Because I've got a bunch of European users, I want to start growing into Europe.
And it's like, that's kind of hard. It's a hard decision to make. So stuff like smart placement makes that so much better.
And I think there's a lot more coming in the future in this space.
But I want that choice to be backed by data.
I want that to reduce latency. I don't want to be building any kind of intelligence and logic that goes and replicates or moves things around.
That's generally a pretty hard problem.
And so it's cool to see that land, for that to work.
To think back, I don't know how much we talked about this publicly, but to think back about the network data we have from building Argo all those years ago, if anyone remembers that, playing into this and giving us that intelligence.
We know the fast path to a huge amount of the endpoints that our users are calling.
When they make an API call to a database, API calls to the database in series, we know the latency to that.
We know the best place to locate that compute now based on a lot of this performance data that we've been using to optimize other things for our customers up until now as well.
So that's been super exciting. I was really excited to see that land.
I also kind of love the demo. I love a good demo. So it was definitely one of my favorites.
That was one of the first beta testers for smart placement.
So shout out to you. When is Matt not the first beta tester for a thing?
I try to be. Sometimes it's hard to find the time, but that one definitely got in early.
All right. Well, thank you guys so much, Tanisha, Matt, Brendan. Truly appreciate you guys today sharing your announcements for Developer Week 2003, day two.
Again, be on the lookout for all of the announcements throughout the week. And again, thank you guys for your time.
Be sure to check out the blogs and our announcements on Cloudflare.com backslash developer-week and also join our Discord community for any Q&A and also sharing what you've built with the products that we've announced today.
Again, thank you guys so much for the time and we'll talk again soon.
Thanks. Thanks, Leroy. Sage Group is a leading technology company that helps businesses to thrive.
We have a global footprint.
We service millions of customers, entrepreneurs worldwide. The key security challenges in the industry in cybersecurity, they have been about the uprise of criminal groups.
They are becoming more professional with more capabilities, which is causing the companies to have to respond to those threats.
Cloudflare has a number of solutions available for a technologist. So it acts almost like a Swiss army knife.
Cloudflare bot management provides is the ability of identifying what's human traffic versus automated traffic.
It reduces a significant amount of concern around web scraping, around multiple automated attacks that people could launch against your website.
Cloudflare Workers, it's a powerful way for you to delegate the computes to the edge.
And that has brought immense flexibility for our engineering teams.
One of the great things about Cloudflare and how it differentiates itself from other vendors is the Cloudflare Zero Trust approach.
In many cases with other vendors, most likely you'd have to overlay those capabilities like reverse proxy, links to a web application firewall, links to logging and analytics.
While with Cloudflare Zero Trust, many of those capabilities are already backed together for you, which means you don't have to add complexes to your environment.
Sage and Cloudflare, we have a long history, but our relationship has become much stronger over time.
Cloudflare has this amazing ability to create capabilities that speaks to the operations team, but also speaks to the security professionals.
And not many companies can achieve that.
Microsoft Mechanics www.microsoft.com www .microsoft.com