39 ms·
I want to make sure I understand this: You made a VCALENDAR generator with a web-accessible endpoint. It fills in the VCALENDAR with info passed in via URL par
by spdustin 4y ago
I want to make sure I understand this:
You made a VCALENDAR generator with a web-accessible endpoint. It fills in the VCALENDAR with info passed in via URL parameters. And rather than returning a webpage, it just returns the VCALENDAR file.
So you send your friends the link, they click it, rather then returning text/html content, it returns a downloadable response consisting of a pre-filled VCALENDAR file with the correct MIME type, and .ics extension.
Do I have that right?
- omn1 4y agoThat's correct.
- EGreg 4y agoSorry but how is it serverless? Is it a static HTML file with JS that does the job? Isn't there a server that the request goes to?
- omn1 4y agoGood question. It depends on your definition of serverless. Strictly speaking there is no serverless, there's always some infrastructure somewhere. However the calendar file gets created out of thin air from the GET parameters alone. There is no state or storage involved. Other calendar apps have a backend with a DB; this one doesn't. Now whether that counts as truly serverless is up to you I guess. It's as close as you could get with a calendar I'd say. Not easy to get the point across in a title. ;) Hope that helps.
- jethro_tell 4y agoserverless is when you save the state but don't keep a machine sitting around when there are no requests, so you'd keep your calendar state in a hosted db and when someone asks for the calendar, a thread spins up and creates the calendar from the state and then disappears until there is another request. This is basically the exact opposite of serverless
- drexlspivey 4y agoThis can easily run on Cloudflare workers, you don't even need a server
- jcelerier 4y ago... what do you think those are
- adamrezich 4y agothis thread is making me feel like I'm going crazy
- aliqot 4y agoMmm yes, this one reminds me of the microservices debacle from a few years ago about when does your monolith technically become a microservice. I can't find the link, but I think we were unable to clearly define at which point your monolith has become a true 'SoA' group of microservices.
- deleted 4y ago[deleted]
- vlovich123 4y agoThe generous interpretation of what op said is that you don’t have to maintain a server in any way or shape which is indeed the case. You only write business logic while the infrastructure automatically connects it to handle inbound requests.
- rustyminnow 4y ago> serverless is when you [...] don't keep a machine sitting around when there are no requests FTFY The key part of serverless is that you don't have a server idling around. Whether or not you use a hosted db is not relevant.
- 4y ago
- actuallyalys 4y ago"Stateless" is probably clearer. "Serverless" usually refers to services from cloud providers where your code is run on demand rather than having a server that is idling around (to use a sibling comment's phrase). I don't really care for "serverless" as a term because there are still servers (as you point out) and there are other architectures and cloud services that seem equally serverless that aren't usually called that.
- Thaxll 4y agoYour app is always running to answer those GET so it's not serverless. Serverless means that your rust code would be invoked upon GET.
- rhn_mk1 4y agoIsn't it serverless when it's local-only? Or, in an extreme case, peer-to-peer?
- deleted 4y ago[deleted]
- tuukkah 4y agoThen I missed the point and your use case. I re-read your article and this is the only sentence where I believe I could have got it if I read it carefully enough: > Now I can finally send my friends a link to a calendar event for our next pub crawl. I suggest you update the tagline to say "link" as there is no "terminal" involved. That is, you don't use cURL and you don't send a normal calendar invitation email, but instead you send a message with a link that gives them the ical file when they click it.
- aaaaaaaaaaab 4y agoDo you even need a service for this? Couldn't this be a simple static HTML + minimal JS that opens a base64 URL with content-type "text/x-vcalendar"?
- omn1 4y agoNot sure I understand because that's what it is basically. The Rust part is just for the routing; it decides whether to serve the form or the generated calendar file.
- resoluteteeth 4y agoWhat they mean is that instead of using "serverless" hosting running a rust program to generate ics files you could literally just have a statically hosted html file that uses a couple lines of javascript to generate the ics files within the browser, so there would be no rust or server component at all. You could just host it with github pages. Actually I'm confused why you're saying: > The Rust part is just for the routing Because it appears that you're generating the ics files in rust?
- omn1 4y agoGot it. The generator logic is in Rust yes. I could have written it in JavaScript as well but it was just easier for me to do that part in Rust. Should have mentioned that. Of course you could host a static HTML with JS on Github pages, but Github pages also runs on a server. So to answer the original question, yes you do need some server for it unless you make it a command line app.