23 ms·
Deno Deploy Beta 2
- babelfish 5y agoReminds me a bit of Cloudflare Workers / fly.io
- k__ 5y agoYes, looks like Cloudflare Workers.
- tptacek 5y agoFly.io doesn't look much at all like Cloudflare Workers; it's not a Javascript API, but rather a platform for running arbitrary containers in discrete VMs.
- k__ 5y agoYes, I didn't get the Fly.io association either, but CFW looks about right.
- tptacek 5y agoI mean, I guess all 3 are ways to run code closer to users. We really like Deno here! I'm maybe less bullish on the prospect of coding to a particular CDN's Javascript API (which is not a problem Deno has).
- k__ 5y agoDeno and CFW both try to be close to web standards.
- eins1234 5y agoDeno Deploy so far feels a lot closer though. For instance, CFW forces you to bundle your code into 1 js file, whereas with Deno Deploy you can just point to an arbitrary .js hosted anywhere on the internet, and any transitive dependencies will be fetched and cached for subsequent runs. It doesn't support dynamic imports yet, but fingers crossed that's on the roadmap. UPDATE: apparently CFW has been updated to support deploying as unbundled files since I last checked.
- lights0123 5y agoCFW now supports modules, and allows you to upload them unbundled and import/export between them.
- eins1234 5y agoVery nice! Glad to hear they've addressed this limitation. Updated the original post.
- ignoramous 5y ago> I'm maybe less bullish on the prospect of coding to a particular CDN's Javascript API (which is not a problem Deno has). Workers, Sites, Workers KV, and now Durable Objects... it is much more than a JS API. I recently experimented with Durable Objects and they do make developing against a kv-database much simpler, even if it is limited while in beta. Our development is all-in Cloudflare atm, but we also look fondly at fly.io to move other workloads (over from AWS) that Cloudflare won't / can't support.
- tptacek 5y agoSorry, I didn't mean to sound dismissive! The thing I'm not bullish about is people programming directly to a set of CDN APIs. What I like about Deno is that it runs anywhere. There's clearly an upside to programming directly to your CDN! It lets you integrate more ambitiously!
- babelfish 5y agoWhat kind of workloads have you moved over to CF that you have found were a good fit for the Workers model?
- ignoramous 5y agoWeb server, rate limiter, fronting actual servers (api gateway / reverse proxy), user auth / user data (db), and file hosting (downloads).
- kall 5y agoInterestingly, fly.io did do something very similar with javascript in the beginning, before they pivoted to their current container based model.
- k__ 5y agoAh, okay. Then I learned about them after this pivot, I guess.
- folex 5y agoor fluence.network
- ignoramous 5y agoI am equally excited about cross between WASM (and its nanoprocess model) and k8s: https://krustlet.dev/ https://krustlet.dev/ Things are looking up for serverless + edge computing, given 5G deployments are also gathering speed.
- thinkloop 5y agoHow does 5G factor into all that?
- ignoramous 5y agoSee: https://archive.is/xvjrw https://archive.is/xvjrw (How 5G changes the data center, datacenterdynamics.com)
- gdsdfe 5y agounrelated but the changing background color in https://deno.com/deploy https://deno.com/deploy is one of the most annoying things I've seen in a website
- tfsh 5y agoI didn't mind the colour changing background. However I did find the raindrops in the "At a glance" section to be very jarring and stopped me actually reading the key features - not what you want from a promotional page.
- yunohn 5y agoSide note - I think they’re asteroids and not raindrops. Dino(saurs) being the theme.
- yreg 5y agoThe animation in the "At a glance" section is called `rainfall` and the black oval below it (with the other animation) has class `rain-content`. But your guess made sense :)
- FractalHQ 5y agoI enjoyed that part, as well as the header background. It’s fun!
- yreg 5y agoIf you find unnecessary animations like the background rain annoying you might consider setting prefers-reduced-motion. The site respects it.
- jfbaro 5y agoThat's quite a promising solution! Thanks for the great work guys!
- parhamn 5y agoThe unbundle/bundle pendulum swings. A lot of this include everything (even deployments in the tooling of a language) feels like the ASP/.NET ecosystem.
- pjmlp 5y agoI use .NET since the early beta days only available to selected Microsoft partners, fail to see your point.
- anthonyskipper 5y agoIt used to be you could install IIS on windows and get asp. Then they bundled it really tight so you were tied to a version of IIS based on the windows version. (eg NT4=IIs4, w2kserver=IIS5) Then they unbundled it with .net. But now you needed the entire .net bundle to just run some asp and you were tied to the version of the framework. No one was ever happy with how they bundled anything on the dev side.
- pjmlp 5y agoI never had any issues with the IIS version, it has always just been a minimum version, we always installed whatever .NET version we really wanted on top.
- deleted 5y ago[deleted]
- macrael 5y agoHave folks been using Deno? What are the sharp edges?
- Ciantic 5y agoSharpest edge to me is that it's not quiet TypeScript. This means that you can't write a TypeScript file that works in both Deno and regular TypeScript (if you use any imports). Because of the issue that in TypeScript you can't import ".ts" file but you can import ".js" file, whereas in Deno you explicitely import ".ts" files. [1] I actually like writing with Deno, and think the module resolution in Deno is easier to understand (it's literally url or explictely what's written on the import). But it's just sad that the TS team is not moving the same direction with the module resoultion, because it splits the TS community to those who write Deno and those who write regular TS. [1]: https://github.com/microsoft/TypeScript/issues/27481 https://github.com/microsoft/TypeScript/issues/27481
- kbenson 5y ago> Because of the issue that in TypeScript you can't import ".ts" file but you can import ".js" file That seems really annoying and is something I would expect to work. From the linked issue, does the problem go away if you make sure to always just import without the extension, and does it work both directions (deno TS->TS on JS and TS on JS->deno TS)?
- davnicwil 5y agoNo, deno mandates the extension. The no extension shortcut as well as the index file shortcut have not been included in deno as a learning from node, which in my view is probably a wise move - keep it super simple by just specifying the exact filename.
- eins1234 5y agoExactly this. Deno is designed to align with web module semantics, and omitting the extension is only really feasible when resolving modules on disk where roundtrip times are short and looking for multiple extensions in parallel is cheap. Deno, as well as the web, supports module resolution across the internet, where this resolution strategy would become prohibitively expensive.
- slig 5y agoIs there a pricing somewhere?
- hughcrt 5y agoI think it’s free during the beta
- open-source-ux 5y agoAlthough I don't use Deno, I'm impressed by Deno's efforts to make the installation and deployment process as easy as possible. For example, Deno is installed as a single runtime exe. Compare that to the hundreds of tiny files spewed out by installers from other interpreted languages. And now we have this service to deploy Deno apps in the cloud. I have long felt that easy deployment of server-based web apps has been seriously neglected and developers underestimate how important it is (particulalry if your are creating a web app that you want to share or sell to others). It's no surprise that SaaS dominates today when the self-hosted alternative is so ludicrously complicated in comparison. It's ironic that some of the most popular interpreted languages for web apps (like Python and Ruby) are the opposite of easy when it comes to server/cloud deployment. I hope Deno's efforts in this space will encourage developers from other languages to tackle this sorely neglected problem.
- deleted 5y ago[deleted]
- rana1-31 5y agoSo the Deno runtime is written in Rust and so is all the Deno tooling... So why would you use Deno if it is not good enough for itself?
- lefrenchy 5y agoBecause people want to write JS/TS and want a better runtime for it?
- rana1-31 5y agoBut not just the runtime, all the tooling including linters and document generators etc why are they not written using Deno then?
- afarrell 5y agoIf you are writing for the web or building things for a different use-case than deno targets.
- rana1-31 5y agoYou are going to have to reword this, it makes no sense to me.
- lynndylanhurley 5y agoRust is not well suited for the same things as javascript / typescript / jsx / etc. Also javascript and typescript are not well suited for compilers and dev tooling. It shouldn't be seen as a negative that Deno is using rust in places where it really shines, which is a totally different use case than what deno is typically used for.
- wdb 5y agoWish it supported deploy via Gitlab :) Not everyone uses Github
- eins1234 5y agoIMO, one of the coolest features of Deno Deploy is that the deployment primitive is the humble URL, rather than being coupled to git or some git hosting provider. You can simply give it a URL to a JS file and it will fetch all its dependencies and run it. They also offer an API for triggering deploys programmatically [1], which you can use to trigger deploys as a step in your CI pipeline for GitLab. In fact, their GitHub integration is actually just listening for a webhook on new commits to the default branch, and the deploy is triggered using the raw.githubusercontent.com URL, so they don't have to waste time cloning the entire repository, which can save on the order of minutes for large repos. [2] [1] https://github.com/denoland/deploy_feedback/issues/29#issuecomment-863116023 https://github.com/denoland/deploy_feedback/issues/29#issuec... [2] https://github.com/denoland/deploy_feedback/issues/29#issuecomment-836662805 https://github.com/denoland/deploy_feedback/issues/29#issuec...
- tqkxzugoaupvwqr 5y agoIf I read this correctly, the repository has to be public so Deploy can fetch the code. Or does it work with private GitLab repos?
- eins1234 5y agoI'd imagine you could probably issue some access token in GitLab for Deno deploy to fetch the code. Deno deploy works with private _GitHub_ repos and I imagine that's basically what they do there. Alternatively, you could also just set up a CI script to upload your code to a random s3 bucket, call the deploy API, then delete it if you want to minimize the chance of leaking.
- worik 5y agoIt seems like a lot of trouble to run Javascript on the server. I still do not understand, why? Deno is a huge step up from the enormous clusterfuck that is node.js with its broken design. But why use Javascript on the server? What is the point? Why use it as a general purpose programming language when it is so unsuited? That is the thing I have never understood. I use node.js extensively in scripting tests with Appium, I chose Node.js because (a) it seemed the the system the Appium people supported the best and (b) I needed to deal with my prejudice and actually use this system I was so dismissive of. I am horrified that anybody would think, at this point in the history of computer languages, that Javascript is a suitable system for application development. I like the syntax, but the rest of it is, in the context of the competition, complete crap. It has got to the point that people are writing financial software, that has the capacity to utterly ruin the user in a very real sense, in Javascript. Just do not do it!! There are any number of better systems!!!
- skybrian 5y agoOne reason would be to reuse existing libraries that are written in JavaScript. Since it's a popular language, there are lots of low-quality libraries, but also some higher-quality ones.
- AgentME 5y agoIgnoring tooling or pre-existing libraries (mainly because Deno is at an early stage of trying to boot a new JS/TS ecosystem), what makes Javascript that different as a language from, say Python or Ruby? Besides minor syntax differences, the main differences to me seem to be that JS has a greater commitment to asynchronousness / async-await and has a better static typing solution through Typescript, which seem like solid wins for JS/TS.
- worik 5y agoI know nothing of Ruby, except it exists. Python is as bad a choice as Javascript for application development. It is possible to develop large ad complex applications in any language, and people do. But modern languages provide the support a programmer needs to write reliable application software. Python is suitable for scripting. Application development is not scripting. There are so many better choices, just so many. Why choose such a poor tool for application development as a language designed fro scripting?
- AgentME 5y agoThis is exactly how simple I want deploy configuration to be. All that's needed is the URL of the entry point. Then slightly fancier is the ability to specify a Github URL which auto-updates on pushes. All previous production deployments and even pre-production branches are accessible simultaneously from their own subdomains.
- picardo 5y agoWhat is the usecase for Deno Deploy? Can you build full blown web apps with it? Or is it mostly for building small services, e.g. image transformation, CDN, etc.?
- sudhirj 5y agoCould build full blown apps with it, but database are a problem. Calling to a central database from all over the world wouldn't work that well, but using something like DynamoDB Global Tables would work great. I'd assume Deno comes up with something like Cloudflare Workers KV as well, key-value stores with eventual consistency are possible with replicas all over the world.
- 0xbkt 5y agoIs there any open source engine similar to this or Cloudflare Workers where I could deploy JavaScript code to be run in isolates by a single process, optionally serving over HTTP? Trying to find a way to avoid the overhead with current open source FaaS solutions running arbitrary containers.
- unraveller 5y agoOsgood and Rusty-workers. They're not perfectly isolated to a high security standard such that you could deploy your own v8 workers SaaS. And they do have quirks and slow development. I haven't tested in production but if it's just your trusted apps wanting to exceed the cloudflare workers 30 scripts limit then both are wonderfully powerful solutions to put behind a https proxy. [1] https://github.com/IntrinsicLabs/osgood https://github.com/IntrinsicLabs/osgood [2] https://github.com/losfair/rusty-workers https://github.com/losfair/rusty-workers
- wizwit999 5y agoToy. No one's gonna use this over AWS or Cloudflare
- runald 5y agoI may be missing something, but how do you get this to work vscode? It couldn't find the type definitions. But other than that, deploying works just fine.
- specialist 5y agoMulti-tenant virtual machines would be cool. One step closer to the grid computing and software agents (and flying cars) nirvana we were promised. Whatever happened to Java multi-tenant JVMs (aka MVM)? I always expected that to become the norm. Did the flaming dumpster fire of JBoss, J2EE/Spring, internecine warfare between coinhabitant WARs sour everyone to the idea?