💻 What Launched Today 2022
Presented by: Leroy Lasenburg, Claire Waters, Nevi Shah, Tanushree Sharma, Kristian Freeman
Originally aired on April 10 @ 6:30 PM - 7:00 PM EDT
Join Cloudflare Product Manager Leroy Lasenburg, Manager and Product Technical Writer Claire Waters, Product Manager Nevi Shah, Product Manager Tanushree Sharma, and Developer Advocate Kristian Freeman to learn more about what launched today for Developer Week.
Read the blog post:
- UPDATE Supercloud SET status = 'open alpha' WHERE product = 'D1';
- Iteration isn't just for code: here are our latest API docs
- Making static sites dynamic with Cloudflare D1
- Automate an isolated browser instance with just a few lines of code
Visit the Developer Week Hub for every announcement and CFTV episode — check back all week for more!
English
2022
Developer Week
Transcript (Beta)
Hello, everyone, and welcome to the latest installment of what's launched for Cloudflare Developer Week 2022.
My name is Leroy Lasenberg.
I'm the product marketing manager for Cloudflare Developer Platform.
And today I'm joined by a number of guests to share new announcements and news for products today with Cloudflare as Developer Week.
And today we're going to start introducing everyone on the panel.
Nevi, would you like to start introduce yourself?
Yeah.
Hey everyone. I'm the product manager for day one as well as Cloudflare Pages.
All right, Claire.
Hey, everybody.
I'm Claire Waters. I am a manager on the product content Experience team to nurture.
Hi, everyone.
My name is Tanushree. I'm a product manager on the Workers team, focusing on Workers for Platforms and also our latest announcement today, which is a rendering API.
And last but not least, Kristian.
Hey, everybody.
My name is Christian. I'm a developer advocate here on the worksheet.
Right, All right, So today we're going to start with announcements from Nevi.
Nevi.
What are we announcing today? Yes, today we are announcing that.
You hear me?
Yes, loud and clear.
We're announcing today that D1 is in open alpha.
So if you've been following our announcements on V one, we have been in closed beta for quite some time.
I know a lot of you have reached out for access, and if I didn't get to you, today is the day that you can try it.
I'm really excited about this announcement because when we set out to solve this problem, we knew it was going to be tough.
We knew that we're kind of building a product that almost seems impossible.
But impossible is not a word in Cloudflare repertoire.
We don't know that.
And so there's been such an overwhelming amount of interest in this product in our private beta, and we're really excited to kind of launch this forward.
And the reason we're calling it an alpha, which may be a little bit unfamiliar to some folks as we usually use terms like beta is, it's a very early stage product.
We want to get early feedback so that we can kind of create our roadmap and create a product that our users and our developers love to build with.
One thing that I have kind of brought on to this product or one thing that I really admire about D1 is the developer experience and coming from kind of pages land where the whole experience is about how the developer feels and the seamless experience.
We want to create that as well on D1. And so when you kind of try it out in the alpha, you'll kind of see the different ways that you can interact with D1, right?
So you can interact with our dashboard to create a database. You can use Wrangler to interact with your database and you can also access D1 through Workers and through Pages functions.
So a lot of really different ways.
No matter what kind of developer you are, you can build the D1.
And the goal really just like on Pages, is to enable and not keep databases for, for certain developers, right?
You don't have to be a database expert, you don't have to be a database manager to create a database, a serverless database.
And so our goal is really to unlock that for every different type of user.
Throughout this data, we've had a lot of really, really cool projects surface.
Not only just using D1 as the back end, but also projects that have contributed to our community and our ecosystem.
So we have a couple of example projects in our documentation that's linked in the blog post, but we have a D1 console, a query builder, an ORM, really cool tools that you can use as you start developing with D1.
And if you have an idea for another community project or a community tool, I'm happy to add that to the docs and kind of allow our community to use them as well.
But if there's one thing to kind of take away from this announcement, it is that it's an alpha, but it's something that we really want feedback on, right?
So at Cloudflare, we listen to our users, we want to know what you're thinking, what you're building, what you're feeling as you're using our products.
And I, as well as the rest of my team, will be very alert on the things that you're saying to us so you can contact us in the discord.
Let us know what you think.
Another place, if you want to surface feature requests or bug reports, definitely do that in our community threads on the community forums.
But really, really excited about this announcement.
I'm excited to have so many different conversations with future users.
That's great, great to share and ever.
Thank you.
And are there any billing or pricing models or attached to D1? Yeah, so not at the moment, right.
It's still it's still an alpha product.
I will be looking to get feedback on what you can expect for billing.
It will be modeled usage based billing, obviously.
So the more I kind of talk to users, the more I understand, the more I can kind of give information on what pricing might be.
Perfect.
All right, And again, if for more information, you can visit Cloudflare and see our blog posts regarding D1 for more information.
All right.
Does anyone else have anything to add to this amazing announcement? Let's get building.
Yes, it's good building.
Okay.
All right, So next we have Claire.
Claire.
What are we announcing today? Yeah.
So for the past, about well, actually ages, we've been really focused on our API documentation and helping improve that experience.
So far, if you visited our API Cloudflare, you've probably encountered some kind of log long page load times and if you've ever tried to open it up on mobile, you might have crashed your phone and that's not fun.
So we've been really trying to do some changes to make that a better experience for folks so they can kind of access our API documentation when and where they need it within the workflow that they're working in.
So today we're excited to announce that we have new API documentation and it is part of our overall developer docs, which most of you all are super familiar with user on a regular basis.
Give us GitHub PR and issues about, which is fantastic.
Helps us iterate and improve the docs.
And so the new API docs are going to be part of our developer docs and they do a few things so they help improve page load times.
They do make the docs available on mobile, they also improve our accessibility scores.
So that's something really exciting that we're we're happy to announce and share with the broader community.
I'm really focused on making our docs more accessible and inclusive in general.
And then we are now also using the open API standard for our specifications so that we're able to take advantage of a lot of the things that come with that.
So standard format, standard layout, standard tooling that we can use and take advantage of and kind of grow and become something that's a little bigger and more friendly of a developer experience when you're trying to learn how to use the Cloudflare API.
Christian can talk more in a second about kind of how we actually built it.
I think there's some cool stuff we're doing with pages especially, so maybe Neve can sit here and just bask in the glory of the fact that we're using pages for it.
But I'll just actually show the docs here for a second, if that's okay.
Let me pull up.
So if you had use the docs before, you kind of noticed that it took quite a while for the pages to load.
This is our new site though, so a few things right up front.
We have all the information about how to authenticate with our API.
So to be able to use any API, you have to authenticate just kind of key.
We show you the options to do it.
We also link you back to some helpful documentation in developer docs.
So as you're actually using it and trying to understand what you need to do, how to create tokens, all that kind of stuff, you can get back into the docs pretty easily.
And then also if you use our old docs, you kind of know that at the beginning they were sort of intentionally organized, but that our products just grew so rapidly that all of the content got thrown in really quickly.
We added some water here so you can see the list is alphabetized and that seems like a simple thing, but really helps for scanning and finding the end points that you're trying to use.
And then within a specific endpoint, you can see that we now have some cool things.
You can see the URL for the path that you need for the endpoint.
Specifically, you can see the authentication information right up front.
We do list out the required parameters pretty upfront so that you can see what you need to input to get what you're looking for out of the API.
And then one of my favorite things that I think is a really big one is that you're able to toggle between your preferred programing language with these examples.
So let's say that you're super into using C, you can see how that adjusts the example for you and then it adjusts the responses that you'll get to.
It's a really nice little kind of added bonus functionality that we get, especially for developers.
We know that you all are in our APIs constantly and you have your own preferred languages.
So hopefully this helps you kind of work when and where and how you want a little more easily.
Kristian, do you want to talk a bit about how we actually built it?
Because I think that's kind of an interesting little bit of this announcement too.
Yeah, absolutely.
Yeah.
So basically kind of like what we did with our sort of, I guess you would call normal documentation or whatever our developer docs earlier this year, we wanted to use a lot of technology that we're building, so pages, pages, functions and all that kind of stuff.
And we did something really similar here.
There's an open source framework called Stoplight that we're using that is really great sort of fundamentals for us to get up and running.
We basically just give it the schema and it generates a lot of really nice layout and stuff like that, but we want to take it a step further and use pages functions in particular to both have some sort of performance implications.
So like caching and stuff like that in particular to make a lot faster.
But then also we found as with any like off the shelf framework that kind of taking our schema and the off the shelf framework and combining it together doesn't 100% work.
And so we use pages functions a lot to, to kind of add like a transform layer, which is really great.
So it's not like a separate project that we're deploying with Workers or something like that.
It's right side by side with the actual pages application.
So I really like pages functions and it was great to be able to use it.
And then also on that same sort of vein, like for sort of what we envision in the future, this project Pages functions is a really great place for us to continue to kind of improve and iterate on this.
So one thing I'm going to be looking at is like kind of server rendering or I guess you could call it like pages function rendering and serverless rendering.
I don't know what the technical term is. Maybe this, but that's we have a great foundation to do that now, right?
Because we're on pages functions and we have all this great technology available to us.
So yeah, it was a fun project and there's a lot of stuff we can improve on for sure.
It's this is kind of the first release of it, but we're excited to have like a great foundation to kind of build on.
Yeah.
So one of the nicest things kind of adding on to that is we moved from using this really homegrown solution of the schema files in our own built API site to using our own tooling to make it easier, faster, better rendering.
And that also means that we're able to kind of improve it as we go.
So we know that everybody wants search.
We know that the big thing we'd really love to have a try it out functionality, so you kind of input your specifics and get out an example back dark mode.
We know you all love that better mobile rendering experience.
I think there's a list of things we definitely want to improve on to kind of make these some best in class API docs because we really try to have a best in class developer experience.
And I think the more we can improve this, the easier it is for you all to get up and running.
Creating code. Everyone loves dark mode.
I'm like, Am I the only person that likes light?
No, clearly I just showed all my stuff on light mode.
I also wanted to say, like, I also love Page's functions.
I'm really excited about the future page functions.
This is a really great example of utilizing Page's functions and also Cloudflare dogfood some of our products.
If you also like Page's functions, stay tuned for some really fun announcements coming up tomorrow.
Really it's a really some good stuff along the feature.
Snappy.
Don't let the cat out of the bag yet and Clare and Christian is how can developers use this get started with open API?
Yeah for sure.
So you'll be mostly using. You can access our schema files in GitHub.
They're they're published now.
They're available in our GitHub repository.
And to get to the API documentation, just go to developers API.
We'll have announcements and redirects all set up.
So you're going to be kind of put into this new experience.
And same thing as what Neville was saying.
If you do have any feedback about how it's going or if there's something you'd really like to see us kind of add on to functionality, please let us know.
We're constantly looking at the feedback we're getting in our GitHub repo and in our feedback on this site.
So we're happy to keep kind of improving this.
Right, great.
And same question, Is there any pricing or billing impact for open API?
Not at all.
As always, this is free and available to you to access our docs, so please use them.
They're there for you. Awesome.
Awesome. All right.
And Tanushree. Excuse me.
What are we announcing today? Hey, there.
Yeah, Today we are announcing a closed beta for the browser rendering API, and I'll give some details on what this actually means.
So, like all of the best products at Cloudflare, this product stemmed from an internal need.
We found that there were about ten plus teams internally that had multiple different use cases for browser automation, and browser automation is essentially doing anything that a user can do in a browser window.
So open a tab, navigate to a window, keystrokes, clicking, even inspecting if you sort of right click inspect and you see all of the network elements there, all of all of that is something that you can do as a user.
Browser automation takes that and allows you to programmatically access it to be able to script things with it.
So there are a lot of internal teams that have very similar use cases or teams that were spinning up their own services in isolation to do things like take screenshots.
There's a few different teams. Specifically, Page's team also requested this for pages previews.
We have the radar team, CASB.
They're all looking to do very similar things.
So as an internal motivation, we wanted to build this out to be able to save engineering resources, create a product internally for teams to use.
But also in taking a step back, we started thinking about the wider problem here and thinking about maybe we can create something for our customers as well to unlock new use cases on workers.
And they're probably also running into similar problems where it's very hard to find a built in solution for something as simple as taking screenshots.
So that's sort of how the idea formed and we've been working on this for the past few months.
And one of the most popular browser automation frameworks is called Puppeteer.
And as I was digging into how the developers use Puppeteer, how are people automating puppeteer today?
We found out that it's not very easy to set up if you use a tool like a lambda product.
As a developer, I have to worry about packaging it. I have to worry about all the dependencies.
I have to make sure it's under the size limit all myself.
There are some prebuilt libraries for that as well that people have built to help out, but also say that if you are a new developer, if you're just trying to take a screenshot for your website, it's there's no easy out of the box solution with some of our competitor products.
There are some out of the box solutions that exist today.
They work super well.
They're a little bit pricey though, so that's where Cloudflare comes in.
We want to be able to give a great developer experience.
We want to be able to be cost competitive and make sure that our users are being charged fairly for the products that we're serving.
And this was actually internally a really cool project to work on some background and some just getting into some of the engineering bits a little bit too.
We have a product called Remote Browser Isolation. This is used for our Zero Trust products.
It's sort of on the on the side of things where as a as a company, I want to be able to sandbox my users browsers so that if there is any malicious code that's being executed that my users devices aren't, aren't impacted by it.
So it's a cool transition between we use Remote Browser Isolation for Zero Trust, but if you're sort of extending the idea of puppeteer opening a browser, we were able to make those connections and found that it was a really good fit because underneath both puppeteer and Browser Isolation run the same protocol.
So the team had been working on sort of hacking away at our version of chromium to make puppeteer work, and we were really excited when we were able to navigate to page through a worker.
We were able to take a screenshot through a worker.
It's a really neat intersection of our Zero Trust technology meeting the developer platform and what's essentially happening here is the way to use this is that as a developer, I would write a worker that would act as my client that I could say it's a dot launch command.
You can put a URL in and then you can take a screenshot and then we have a binding that works behind the scenes to connect to a Remote Browser Isolation instance that actually executes those commands and then a screenshot is returned and then you can do things like save it to R2.
For example, I have a snippet in the blog post that shows that end to end flow.
So yeah, we're super excited about it.
I've been starting to share this out internally and people love it and we've also been hearing lots of good feedback from customers as well that can.
Wait to get their hands on it.
It isn't a private beta state today, so if you're interested, there's a waitlist link in the blog post and I'll be letting folks on over the next couple of weeks.
We're just ramping up slowly to make sure that we can handle the load in the different application of the Browser Isolation technology.
Yeah, I think, Leroy, your next question is going to be, is there a pricing for it?
That's right, yes.
It's a glorious right. Yes.
Yeah. Are there any pricing or billing implications for rendering? Yeah.
So we don't have pricing for it today in a closed beta state. We want to get users using it.
We want to figure out what else our customers want to do with it.
And the way that I like to think about pricing is a PM is let's get usage, let's analyze the usage and figure out what makes sense to charge our customers.
So no pricing yet.
It will be a price product on the line, but I don't have a specific area.
Okay.
Thank you for that. And again, our goal with Developer Week is to announce products that enhance the developer's experience and or even simplify it as well.
Going back to you, if you don't mind, is there a use case that you can possibly share for D1 with us on ways developers can better enhance or use or simplify their experience with the one?
So, I mean, I won't say a specific use case, but this is what is kind of the missing piece, right in our Cloudflare developer platform.
You know, you can take any site and make it full stack, add one as your back end, use it as your database.
I imagine that a lot of folks will start using this maybe for their commerce sites, for product inventory.
Honestly, the possibilities that you can use are really endless.
I am really excited to see what kind of comes out of this alpha period as there are a lot of limitations right now on D1with size and just different things that we're still figuring out.
But slowly as we kind of grow and scale.
Dx one I think a lot of different use cases will start to emerge.
So really see what comes.
Perfect.
Okay. And as far as what's next for D1 for open API as well as for rendering, can you guys speak to maybe future plans or possible enhancements to these products maybe in the future?
Yeah.
You know, before I dive in, though, I actually think Christian has another thing to share for today's too.
Not just the opening for, I thought, Cup Day.
Oh, perfect.
I apologize. Christian.
Please share.
No, it's all good. It's true.
Yes. Actually, it's a good segue from what you were talking about.
Yeah.
So I released a blog post today. It's like a tutorial on building D1 actually kind of relevant to use cases for D1 showing how to build a like a common API for a blog using D1.
So it's open source if you want to check it out.
And it was actually my first time building with D1, which is really cool.
It was a fun experience coming from like my background being sort of in databases and using post graphs and stuff throughout my career.
It was fun to jump back into SQL databases, which are like my original database of choice.
And yeah, it was interesting.
I think also as I wrote about in the in the blog post, one thing it's pretty cool about D1 is basically like the ability to add on to an existing project.
So doesn't mean you have to start from scratch.
Like I'm going to use D1 for the entirety of my project.
Using using Workers and using D1.
You kind of have this ability to set up a D database for like one particular part of your application.
So it's, it's a pretty good value add, I think for, for most applications to be able to just have SQL data as you need it, you can just kind of drop it in.
So yeah, it's, it was a, it was a fun experience.
I spent some time in the blog post writing about just generally like why, why I'm excited about D1 and how to get started with it and stuff.
So if people see Nevaeh's announcement, they're like, Oh, that's super cool.
Like, what do I actually do with it?
How do I get it?
I know that you mentioned there's a lot of cool like community tools and stuff like that, but if you're looking for like a good old fashioned tutorial or run through alongside my writing and like, let's build something cool, that's, that's the purpose of that.
So yeah, trying to think of everything else, I think that's it.
I'm excited about D1.
It's pretty sweet. Well, we're excited about all of the announcements and all t everybody is Looking forward to it.
And again, are there any billing implications or any pricing related with D1.
Again, just if you can reiterate that anybody.
Yeah.
So it's similar to what Tanushree said. As we start chatting with more customers, we will figure out what makes sense.
Cloudflare I feel like is the land of the free and the generous.
And so just like with R2, we're trying to kind of limit what we're making people pay for and kind of make it very clear to them that this is just very usage based.
So yeah, if you have opinions on pricing, I'm happy to hear them. I'm all yours.
Yeah. Just want to do what makes sense.
Perfect.
All right, We have about five more minutes left.
Is there any additional information we want to share about these new announcements and releases?
Any last remarks or remarks or comments?
everyone.
I'll I'll say for both Claire and I, I think I can speak for both of us that we're very actively looking for feedback on the new API documentation.
And so whether you are like a longtime user of our previous API docs or you may just be building with Cloudflare's API for the first time, any and all feedback is appreciated.
We've already gotten a lot of feedback and there's a lot of stuff for us to work on.
But like, we realize that everyone comes with with like sort of a different perspective and different background in terms of their experience with API docs and stuff like that.
So whether that's like on our Discord, I actually clear, I don't know where, where's the best place for people to submit feedback.
I was going to say our Discord, but I don't know if there's a better place.
Nice.
I think the discord is probably the best for you all because you're super active in it.
We also do have a give feedback form on the API site, so if there's something specific as you're using it, you're realize is kind of not what you're looking for, definitely submit it in there.
If you have a great idea, you're welcome to submit it that way.
They're all kind of coming together internally for us to look at the list and help iterate on it.
I think kind of piling on.
Kristian was saying too, though, this isn't just for the docs themselves.
I think if you get into it, you're like, I don't even know what I need to do.
Like, where do I get my token or how do I authenticate or how do I bring this all together?
I think it's not just like the docs themselves and whether we're describing the endpoints.
I think it's also like, did we give you enough of tutorials and step by step guides and things on how to actually use our API?
So I know that folks come into our API having all levels of experience to with different programing languages and different companies.
And so we want it to be as seamless experience for you as possible.
So yeah, please send us anything.
We're super happy to address it and try to make this experience better for you all.
We keep mentioning the Discord, I just want to call out that if you're not in our Cloudflare developers Discord, the URL is discord dot com slash invite slash Cloudflare dev.
That's discord dot com slash invite slah Cloudflare dev. Yeah.
Join us there and give us all the feedback that we're asking for. Absolutely.
Absolutely. And again, for any additional information, you can visit Cloudflare dot com and click on the Developer Week 2022 button to get all the information on all the announcements that we've made this week.
Any parting remarks or any comments again, on all the great work that you guys have released?
We have about 2 minutes left. Yeah, I'll give one last plug for the browser rendering API.
The way that we structured it is we're starting out with pretty limited functionality for what you can do in Puppeteer, but we do want to expand out.
Our goal is to have full puppeteer support within a worker.
So if you are a customer that's interested, we don't quite fit your use case today.
Very happy to listen to feedback.
What are you trying to build?
I think the best spot for feedback is in the developers discord just under the Worker's channel.
That would be the best bot, so feel free to reach out if you have other use cases that we aren't covering today, but that you'd love to shift on to workers.
Well, perfect.
All right. All right.
Again, so we have about 2 minutes. I wanted to thank you all again for your announcements today.
Please join us for the next installment of what Launch for Developers Week 2022.
And we look forward to again, to enhancing the developers experience with all of our new products and announcements.
Thank you all again.
Thanks.
Q2 customers love our ability to innovate quickly and deliver what was traditionally very static old school banking applications into more modern technologies and integrations in the marketplace.
Our customers are banks, credit unions and fintech clients.
We really focus on providing end to end solutions for the account holders throughout the course of their financial lives.
Our availability is super important to our customers here at Q2.
Even one minute of downtime can have an economic impact.
So we specifically chose Cloudflare for their Magic Transit Solution because it offered a way for us to displace legacy vendors in the Layer 3 and their force space, but also extend layer seven services to some of our cloud native products and more traditional infrastructure.
I think one of the things that separates Magic Transit from some of the legacy solutions that we had leveraged in the past is the ability to manage policy from a single place.
What I love about Cloudflare for Q two is it allows us to get ten times the coverage as we previously could with legacy technologies.
I think one of the many benefits of Cloudflare is just how quickly the solution allows us to scale and deliver solutions across multiple platforms.
My favorite thing about Cloudflare is that they keep development solutions in products.
They keep providing solutions. They keep investing in technology.
They keep making the Internet safe.
Security has always been looked at as a friction point, but I feel like with Cloudflare it doesn't need to be.
You can deliver innovation quickly, but also have those innovative solutions be secure.