One thing I like about this over all the others is they aren’t (to my knowledge) just reselling AWS features with added convenience (not that this is an issue or bad, but this a lot of what Netlify does with their lamdas for instance, if I recall correctly) and their CDN is top notch IMO as well. I’m very excited to see how this plays out especially when they add the full stack backend to the mix with durable object storage and broader more fully features edge workers with KV storage
I do wonder if they’ll add GraphQL support out of the box (for instance a ready to configure and use a GQL worker)
Also curious if they will solve for the ability for JAMstack sites to have more real time features via SSE or websockets through their worker platform
Genuinely excited! Sadly they aren’t hiring for WFH and their SF office didn’t have any postings related to working on this from what I can tell :(
I can only dream of working on such cool things
There's also a big difference between deploying CDN nodes at the Edge as CloudFlare does and deploying ‘Edge Nodes’ in other cloud hosting providers which won't really be at the edge.
> There are no great solutions.
Therea are plenty of existing solutions here that do pretty much the same thing, including Netlify, Vercel, and going all the way back to Heroku.
Cloudflare is expanding their product line, which is fine, but lets not pretend that this is some brand new ground-breaking deployment methodology.
- they aren’t just reselling AWS services (if I recall correctly Netlify and to at least some extent Vercel do, for instance)
- They will be providing their own database platform (coming soon according to the blog post, as of 12/17/2020) which means they can provide the ability to have a single end to end provider for my app. (Interested to know if CloudFlare will provide a secure user authentication layer on top)
- they have one of the world's largest CDNs, no other player really offers that out of the box (though you can just as easily integrate with theirs, it’s just not as convenient and I’m sure the integration there will play out accordingly)
- They are offering workers out of the box, which are a lot like lambdas, in that they run some arbitrary function(s) when called, but have greater capabilities beyond that with the system since they are “CloudFlare Aware”
It’s not all untrue, however:
To your point, it’s very much a marketing message vs a hard reality in that services offer a good deal of feature parity and this is more of a leap in the current iteration of things rather than a pure innovation in the problem space. You can readily achieve this today with some combination of Heroku + CloudFlare CDN, for instance (and that would include edge workers, if you so choose)
I imagine this wouldn't be terribly hard to emulate with AWS Amplify[0] either, though. I like that CloudFlare is offering something not directly tied to AWS or another cloud provider explicitly (I'm not talking about them using it for extra compute or what have you. I know that CloudFlare has their own network of servers and generally they're selling access to their metal, not another provider(s))
"Worker" functionality is already available on both Netlify and Vercel.
Cloudflare's version will obviously have a tighter integration into the rest of Cloudflare.
I've written up a summary of tools/options in this space in the past (but it is a bit out-of-date, but space is moving fast). Including Cloudflare Pages, I now count 6 platform-add-on features that cover all of this functionality.
https://www.nrmitchi.com/2020/10/state-of-continuous-product...
S3 + cloudfront?
Except this script has been working very well.
It makes all kinds of sense for CloudFlare to simply declare a reality where features are novel and their offering is the only one relevant.
Scaled stability is hard, scaled awareness of technical solutions is hard, so ... tech chops + reality distortion field = potent.
If anybody from Cloudflare is listening I would love to get on the beta asap. Would also be great if you had some ready to go simple, clean blogging templates :)
I'm generally impressed with the direction Cloudflare is moving, they have some really powerful and innovative infrastructure primitives (workers, durable objects) and a killer network. Going to be interesting to see how they take advantage of that as they build out higher level offerings.
By the way, if anybody has recommendations for simple, clean, modern looking blog template (something like medium) that they have actually used, I am all ears. So far I have found theses two:
- https://github.com/jekyll/minima
- https://github.com/wowthemesnet/mediumish-theme-jekyll/
Minima is a little too minimal and mediumish seems a little muchish, but I don't want to spend too much time searching for the perfect theme so unless something else lands at my feet I probably just pick one and start writing.
But many of us walked away from GitHub and embraced GitLab in the last few years, probably a big wave in 2018. As far as I can tell, there's not a publicly documented non-GitHub way to interact with Cloudflare Pages. Cloudflare folks: if you can't launch with a full GitLab integration that's understandable, but I'm tired of sitting these things out because they can only launch in simple mode. For my part, I'd rather fuss around with .gitlab-ci.yml now than start a project on my old GitHub account and deal with unknown migration pains later.
Kind of like a better developer experience on top of certain AWS services.
This builds a lot of trust in Cloudfare imho. Thank you!
> Over the coming months, we’ll be working on integrating Workers and Pages into a seamless experience. It’ll work the exact same way Pages does: just write your code, git push, and we’ll deploy it for you. The only difference is, it won’t just be your frontend, it’ll be your backend, too. And just to be clear: this is not just for stateless functions. With Workers KV and Durable Objects, we see a huge opportunity to really enable any web application to be built on this platform
Also:
> With Cloudflare Pages, each commit gets its own unique URL. Preview URLs make it easier to get meaningful code reviews without the overhead of pulling down the branch.
> each feature branch will have its own dedicated consistent alias, allowing you to have a consistent URL for the latest changes.
Cloudflare would really put themselves ahead of the pack if they're able to get a seamless Preview experience that includes stateful backend services.
Workers is so cool but the starting point is a a bit rough. It looks like they have big plans and will eventually have a full pipeline vs the current Wrangler + scripts situation.
As a use case, consider a small project where someone is looking for very preliminary feedback and wants to ask friends, family, trusted colleagues, etc. for feedback on non-public previews, but without the burden of a full blown authentication system.
I suppose that depends on whether or not it supports private repos. I don't like the systems that require public repos.
1. https://developers.cloudflare.com/access/authentication/conf...
We'll be working on building in one-click configuration to have Cloudflare Access in front of your preview deployments specifically for this purpose.
More good news: we support private repos today :)
https://developer.moovweb.com/
We built this as a 'control plane' for everything above your backend APIs. You can bring your own CI/CD and get the same 'infinite staging' and other features that help bring Jamstack principles to large, dynamic websites.
Differently: why are Cloudflare and others interested in running my build?
Once your in for the DNS/DDoS/Nginx-as-a-service adding anything else is a matter of hop/latency minimization. Like I love and use Netlify but I'm always happy to reduce hops where I can.
"It’ll work the exact same way Pages does: just write your code, git push, and we’ll deploy it for you. The only difference is, it won’t just be your frontend, it’ll be your backend, too. And just to be clear: this is not just for stateless functions. With Workers KV and Durable Objects, we see a huge opportunity to really enable any web application to be built on this platform."
The three primitives to anything on the internet is
1) static assets - just served as is to the client (cf pages/cdn) 2) dynamic api - compute per client request (cf workers) 3) a fast and consistent data store - (cf kv / objects)
The three primitives allow any developer to build powerful serverless services. Plus they have built in analytics and other nice extras.
What I want next from cloudflare is being able to run containers like google cloud run, and a nice firestore like database. That would make cloudflare a pretty amazing cloud provider.
Workers and pages only work with js at a very specific version of v8. Many node native modules don’t work with it, so in that sense it’s quite limited
I recently built a pretty basic static webapp that would have racked up around £100 in bandwidth charges (~0.5TB) in the first 24 hours on Netlify. I stuck it on BunnyCDN instead after I realised this and it ended up costing around £3. The five or so minutes I save manually running and uploading the build each time is not worth many hundreds of pounds a month.
Netlify's bandwidth charges seem excessive, but then Vercel and DO App Platform are comparable, so maybe I'm missing something. I guess CDN companies have an advantage here. I'd be happy to pay Netlify money for all the sites I host that don't use a lot of bandwidth, but they insist in hosting them for free.
But also, from reading the Pages docs I wager you can also make the build command something like `echo done` and then set the build directory in your configuration to be `.`.
With optional build command, can't you just leave it empty and then point to the directory that has your HTML files?
I'd love to be able to build a similar integration with Cloudflare pages.
How cool is it to build with a UI tool and deploy in seconds to global infrastructure?
[1] https://www.webase.com/blog/build-with-webase-deploy-to-netl...
They will first need to raise the script limit, which will mean rethinking how worker code is deployed to the edge. If you're going to have potentially hundreds of preview versions deployed per script, you can't eagerly push it to every server worldwide.
But in turn solving that problem and raising that limit will also open up Cloudflare Workers for more potential use cases. Currently if you want to deploy multi-tenant applications with customized per-tenant code on workers you would run out of scripts and need to set each tenant up with their own workers account.
Also while your here, youR pricing is a mess across the platform. You have so many add-on extra costs per site and it’s really hard to understand how they interact with the different monthly plans.
https://github.com/cloudflare/pages-docs/blob/master/src/con...
My interest is looking at how you do things for the Gatsby node structure.
To satisfy your curiosity though for our Gatsby setup, you can actually check it out here: https://github.com/cloudflare/cloudflare-docs (the rest of our docs are open source and built in the same way, the Pages docs will just go there as a subdirectory, same as the other products).
Doc engine itself is here: https://github.com/cloudflare/cloudflare-docs-engine
Cloudflare has made it really easy to give them my money.
https://docs.github.com/en/free-pro-team@latest/github/worki...
Weird use of capitalized JAM... it's been accepted for a good portion of the year to now be Jamstack I thought.
But it's also one small step along a path that leads to the end of the internet.
I consider it pre-rendering javascript on the server and serving sites that are mostly html with javascript coming in on the browser to take over interactivity.
First of all, you're giving them a license to your content for their purposes. "By submitting, posting, or publishing your content, suggestions, enhancement requests, recommendations, feedback, information, data, or comments (“Content”) to any Website or Online Service, you are granting Cloudflare a perpetual, irrevocable, worldwide, non-exclusive, royalty-free right and license (with the right to sublicense) to use, incorporate, exploit, display, perform, reproduce, distribute, and prepare derivative works of your Content. You will retain ownership of your Content, however, any use of your Content by Cloudflare may be without any compensation paid to you." For example, Cloudflare could make a copy of your site and monetize it.
Second, you can be cancelled at any time. "We may at our sole discretion suspend or terminate your access to the Websites and/or Online Services at any time, with or without notice for any reason or no reason at all. We also reserve the right to modify or discontinue the Websites and/or Online Services at any time (including, without limitation, by limiting or discontinuing certain features of the Websites and/or Online Services) without notice to you. We will have no liability whatsoever on account of any change to the Websites and/or Online Services or any suspension or termination of your access to or use of the Websites and/or Online Services." For example, if you were promoting a product that competes with Cloudflare, your site could be taken down with no notice.
Those are the big ones. Also, there's no uptime guarantee, an overreaching indemnification clause, and the usual "I am altering the deal. Pray I do not alter it further" clause.
It's about as bad as the Apple App Store.
This is the TOS for cloudflare.com, not the TOS for cloudflare's services, I believe.
See https://www.cloudflare.com/terms/ for the self-serve plan TOS, for example.
> “Websites” refers to www.cloudflare.com, as well as the other websites that Cloudflare operates and that link to these Terms, and (ii) “Online Services” means Cloudflare’s products and services that are publicly available without a subscription or a Cloudflare account, including, but not limited to, the 1.1.1.1 Public DNS Resolver service, including 1.1.1.1 for Families, Cloudflare Time Services, and RPKI Portal.
Cloudflare does force you into arbitration if you buy their services, but at least it's AAA, not JAMS.