9 ms·
Announcing workers.dev
- 7ewis 8y agoI'm confused as to what this is. From what I can tell, it's a Lambda competitor? I 'reserved' a domain, but haven't received an email yet.
- Someone1234 8y agoLooks like a cloud based JavaScript V8 runtime (NodeJs-like?). $5 minimum/month ($0.50/million requests after the first 10 million). Here's an article[0]. Seems like an interesting service for someone, to do something... [0] https://blog.cloudflare.com/cloudflare-workers-unleashed/ https://blog.cloudflare.com/cloudflare-workers-unleashed/
- zackbloom 8y agoOne way to think about it is: why not do everything on top of a network like Workers? Does it actually make sense to deploy services to a single location when they can be trivially started up near every user?
- cwyers 8y agoSince the workers are stateless, you may want to have your services closer to the data store, instead of the user.
- zackbloom 8y agoMore and more distributed data stores are becoming available. We (Cloudflare) have a KV [1] which can be read quickly everywhere. [1] - https://blog.cloudflare.com/building-with-workers-kv/ https://blog.cloudflare.com/building-with-workers-kv/
- skrebbel 8y agoYep, it's a Lambda competitor. Basically it lets you run JS code on every request, much like Lambda. Differences: 1. It's JS but not Node.JS - You write against the service worker API and they run it in a vanilla V8. You'll want to webpack your stuff together or something like that. 2. Because it's V8 and not Node, they can run many customers in the same process (as safely as multiple sites can coexist in Chrome tabs), and therefore it's cheaper than Lambda. 3. It runs on the cloudflare edge nodes, i.e. close to the user, instead of some AWS region on the other side of the world, so latency can be lower. Can be, because for many (most?) use cases you'll still need to call some API somewhere else, eating up most latency wins you might make. They do also have a distributed KV store that might help you address this, however.
- a-robinson 8y agoTo add on to that last point, you don't need to pick in advance which region or regions your code will run in. You push your code once, and it will run in whichever edge locations receive requests, potentially all 165+ locations if you have users sufficiently spread around the world.
- steveklabnik 8y agoThey also let you run WebAssembly in addition to JavaScript. It’s something I’m very excited about.
- nikkwong 8y agoWhy would you need to run wasm in a serviceworker? I thought wasm was most practical as bytecode in a client for things like games and such.
- steveklabnik 8y agoYou can write non-JavaScript languages to do all the same tasks. It gives you more choice. That’s a good thing.
- xxgreg 8y ago
- btown 8y agoWorkers are amazing! Because they have a trivial startup time and cost compared to lambdas, you can do crazy things like proxies with deep rewriting of content, etc. Have a SaaS that you use on a subdomain of your site, and wish you could inject code or a tag manager for analytics? Route the whole subdomain through Cloudflare and rewrite body tags on HTML, or intercept other requests in transit, you can deploy this in minutes. Build custom image proxies and change cache times dynamically. Build your own round robin systems. Possibilities are endless.
- eeeeeeeeeeeee 8y agoAre you comparing them to basic AWS lambda or lambda@edge? It seems like CF workers are similar to edge functions where you can modify request/response.
- driverdan 8y agoAdmin was already taken. I tried to get root but someone else managed to confirm it before me. I settled for ww.workers.dev If anyone from Cloudflare is reading this you should consider blacklisting undesirable subdomains.
- kentonv 8y agoWe have such a blacklist in our actual implementation but it didn't find its way into this reservation page. We won't actually be letting people use those names.
- captn3m0 8y agoFor people who're only looking to reserve one subdomain - this might cause an issue. They might think they got `website.workers.dev` when they would have been equally happy with `awesomewebsite.workers.dev`.
- netman21 8y agoGood advice. Back when I ran a small ISP a customer asked to register gov.com and we got it! Soon after I wondered why my DNS server was bogging down. There were hundreds of requests per second to whitehouse.gov.com. We got the NSF to block that from ever happening again.
- gist 8y ago> As a part of Google’s TLD launch program, we were lucky enough to obtain workers.dev This is not 'luck'. You pay the $11,500 fee and with a domain like this you would most likely get it. Many domains are available at the highest fee (previous post). The only way you would need 'luck' is if more than one person wanted this and beat you out. With this particular domain this is unlikely. For example as of right now (way past launch) all of the following are still open at the highest rate: digital.dev bitcoins.dev (bitcoin.dev is taken already) php.dev sql.dev Honestly knowing a bit about this they could have waited and gone in at the lower tiers. Also the singular is open worker.dev and as a best practice they probably should have bought that (edit: also).
- CydeWeys 8y agoWHOIS on workers.dev shows that it was registered a couple weeks ago. They didn't get it today. Also: https://newgtlds.icann.org/en/announcements-and-media/announcement-10apr14-en https://newgtlds.icann.org/en/announcements-and-media/announ...
- captn3m0 8y agoFor a nice easter egg, try double clicking on the page.
- jamieweb 8y agoNoticed this when double clicking a word to highlight it - at first I thought it was one of those badly designed sites where you literally can't select anything and then it selects everything at once. But no, it's a fancy night mode, very good job Cloudflare! :)
- deleted 8y ago[deleted]
- davidjnelson 8y agoWorkers are awesome. They are so innovative in a truly transformative way. It will be exciting when/if the cpu time gets extended so this can be used for server side rendering of user interfaces, such as with react. I think my favorite use case at the moment is to use them as a fault tolerant highly available proxy solution. So you could have mydomain.com/blog be served by a microservice that is separate from your primary monolithic app.
- hombre_fatal 8y agoAnother idea: use them to inflate response times to a consistent XXXms for code that might have timing attack vulns.
- davidjnelson 8y agoThat’s a cool idea. I hadn’t thought of using them to build security tools.
- Scarbutt 8y agoWas is the cpu time limit for a CF worker and how much does react(hello world) need to render?
- zbruhnke 8y agoWow Cloudflare just continues to do big things over and over, I'm continually impressed by the amount of stuff they churn out. Sort of shocking Amazon or Microsoft have not yet acquired them given where the markets seem to be going
- ilovecaching 8y agoThey blog a lot, yes, but CF is a CDN. It doesn’t matter how fancy the technology is if they have less pops or poor targeting. CF blog is a marketing tool, and a lot of their claims are inflated or are capturing a hype train.
- aboutruby 8y ago> Cloudflare provides DNS services to 12 million websites, adding approximately 20,000 new customers every day. https://en.wikipedia.org/wiki/Cloudflare https://en.wikipedia.org/wiki/Cloudflare > Roughly five percent to 10 percent of web traffic now goes through CloudFlare https://www.wired.com/story/cloudflare-spectrum-iot-protection/ https://www.wired.com/story/cloudflare-spectrum-iot-protecti... (April 2018) > 10 trillion requests per month, which is nearly 10 percent of all Internet requests for more than 2.5 billion people worldwide https://www.cloudflare.com/press-releases/2017/cloudflare-grows-enterprise-business-more-than-80-percent-year-over-year-amid-significant-product-rollouts/ https://www.cloudflare.com/press-releases/2017/cloudflare-gr... (2017)
- ilovecaching 8y agoDo you know how many pops CF has compared to Akamai?
- Godel_unicode 8y agoNumber of PoPs would be a pretty weak metric for a CDN, even if that's all they were.
- 8y ago
- sytse 8y agoGreat to see Cloudflare doubling down on this https://www.cloudflare.com/products/cloudflare-workers/ https://www.cloudflare.com/products/cloudflare-workers/ BTW If anyone at Cloudflare is interested in doing the work of making GitLab Serverless https://about.gitlab.com/product/serverless/ https://about.gitlab.com/product/serverless/ compatible with this we're all ears.
- kentonv 8y agoHey sytse, long time no see! We're definitely interested in these integrations, but our engineering team is still pretty small and doesn't have the bandwidth... yet. On that note (for others reading): We're hiring for the Workers team in Austin, SF, and London. https://www.cloudflare.com/careers/ https://www.cloudflare.com/careers/
- eikenberry 8y agoIf you ever decide to put together remote teams be sure to announce it. It looks like you are doing interesting work, but I'm not interested in moving to any of those cities (and I'm probably not alone).
- sytse 8y agoAwesome! Thanks for the interest and I hope you find your hires soon.
- doughj3 8y agoDid anyone else notice the "The Network is the Computer™" slogan on workers.dev? I didn't see any footnotes, is this something Cloudflare now owns?
- berns 8y agoIndeed. Surprising that Oracle let go Sun Microsystems' motto.
- robbiet480 8y agoQuick search shows Oracle abandoned the mark August 22, 2011 (serial 77646689) and Cloudflare filed for it August 27, 2018 (serial 88094654).
- CharlesW 8y agoAs someone new to serverless, are there ways for Cloudflare Workers to authenticate against a specific web app/SPA in cases where the app doesn't require user login/authentication to work? Or is that effectively impossible in that case?
- zackbloom 8y agoWhat sort of authentication? Are you trying to ensure that only your webapp hits your backend (which in this case is implemented in Workers)? That's generally impossible on the web, as all the code in the browser used to hit it is accessible to visitors.
- CharlesW 8y ago> Are you trying to ensure that only your webapp hits your backend…? That's generally impossible on the web… Yes, and thank you.
- christophilus 8y agoThis sounds cool and makes me want to fiddle with it, but I can’t think of any use-cases. What kinds of things would you use this for? It can’t connect to a db, except over some REST-like interface, presumably, as it’s just a vanilla v8 worker. Right? And using v8 for compute alone seems a bit of a bad fit. So I’m genuinely curious what the use-case is.
- MuffinFlavored 8y agoI wish HackerNews had a way to save comments so I could flag this and come back to it in a few days when answers are more fleshed out so I can learn. Any ideas?
- ajnin 8y agoOpen the comment in a separate tab, come back some time later, hit F5.
- tinus_hn 8y agoOr bookmark them
- DoreenMichele 8y agoYou can upvote or favorite. I use favorites a whole lot less than upvotes, which makes them more searchable. So although favorites are public (upvotes are not), I sometimes favorite a thing I would like to revisit.
- zackbloom 8y agoIt breaks down into a few categories, organized by how futuristic they are: CDN extensions: People who have always wanted to be able to cache POST requests, or aggregate responses but haven't been able to do it with the limitations imposed by traditional CDNs. Workers moves what was a configuration language into a full Turing-complete programming environment which can make subrequests, interact with the Cache API directly, etc. Pushing out to the edge: There is a long list of services which are best done close to users but don't require a huge amount of state. For example, you might want to validate access tokens before requests hit your infrastructure, or do many of the other things commonly done in an API gateway. You also might want to move performance critical components of your API which don't require much state closer to users, things like aggregating and caching GraphQL or prerendering your React app. We have a Workers KV product which gives you just enough state to handle many of these cases in beta now. Serverless apps: This is what workers.dev is all about. The idea that if you _can_ deploy code to a network almost as large as the Internet itself is it possible that is a better model than deploying to a single region or availability zone? Without cold-starts you get instant scaling to almost any volume of traffic which is a big advantage, to the point where this type of serverless seems faster and cheaper even if you ignore the network. As you mention it will require better distributed storage tools, but we're optimistic those will become available in the near future. You can read more using the tag on our blog (https://blog.cloudflare.com/tag/workers/ https://blog.cloudflare.com/tag/workers/) or community forum (https://community.cloudflare.com/c/developers/workers https://community.cloudflare.com/c/developers/workers). Thanks for caring, a lot of people work on Workers every day and seeing people get invested in what we're doing is everything.
- cow9 8y ago> Though we fully utilize Workers, no Workers were harmed in the making of this site.
- bogons 8y agospending 11 grand on a domain name is a great use of funds
- aseipp 8y agoWorkers are pretty neat. I've been using them as a mechanism for serving private Wasabi/Backblaze B2 buckets publicly, ideally so I can host project assets with more predictable costs. This is a very practical and useful case for workers, IMO -- it stops unintended outbound egress from origins, and gives better routing -- both B2 and Wasabi peer with CloudFlare to waive any applicable egress fees. So I basically pay a flat $5/month + B2/Wasabi storage costs (approx $5/mo/TB) and zero egress, more or less. Overall it's worked pretty well; it's also useful for doing things like setting up fully 'virtual' domains when using an object store, e.g. set a CNAME for 'foo.bar.com' to 'example.com' and then write a worker that just intercepts every `foo.bar.com` request and routes appropriately. This has worked surprisingly nicely. For example, I host one of my recent projects under https://riscv.ls0f.pw/ https://riscv.ls0f.pw/ but this subdomain doesn't really "exist" beyond being a CNAME for example.com; it's just routed directly to a B2 bucket subpath, in the background. At the moment I'm working on a mechanism of automating my worker deployments using GitHub Actions and seeing how writing them in OCaml/BuckleScript goes (a much more tedious process), but overall it's pretty neat and useful for writing quick routing glue and whatnot. If anyone from the CloudFlare team is reading this, probably the most important feature I'm looking forward to is resource bindings for cryptographic keys, to be used with the WebCrypto API, so plaintext keys are not visible directly in the worker source code. Is there any ETA on when this might be GA? In my case it's the most important feature currently missing, and it's really crucial for a lot of practical use cases. EDIT: also, another really useful feature (for me), but admittedly maybe niche, would be "atomic-compare-and-update worker script", i.e. I want to submit a JavaScript file to the API and only update the worker iff the new source code is not equal to the existing source code. The reasoning here is that I currently download the worker script and 'diff' it against the new one as a test, and only upload if they're actually different. I could simply re-upload every time but I'm not sure if this invalidates any 'hot' worker instances that are already running. Perhaps the upload API can simply be extended with new return codes to indicate this...
- aboutruby 8y ago> is resource bindings for cryptographic keys, ... , so plaintext keys are not visible directly in the worker source code Maybe using ENV like Heroku does would work