$36/mo for 2/4/50 VPS without public IP... Ok, I get the idea that the service is for non-regular use, but I think even $0.005 per hour ($3.6/mo) of suspended state is too expensive. The same config in Hetzner is just $4.09/mo for 24/7 working VPS with public IPv4 address
Have fun racing to the bottom. If I can get an unsuspended VM at 5$ a month, the suspendable one has to be significantly faster or significantly cheaper. Then again, take my gnawing with a boulder of salt for I will not be a customer. I have my own server that is running 24/7 already.
Yeah, I don't really see the suspension as something worth paying more for; the only potential "feature" I can imagine is it being significantly cheaper, which seems tough given how cheap a VPS already is.
> which seems tough given how cheap a VPS already is.
A suspended machine only costs its disk usage to the hoster. You can have 800 of them on a machine with 4TB SSD. You can't say the same for VPS at all.
If the pricing for a product like this reflected that, it would certainly be more appealing to me. $5 a month is already so low though that unless I got way better performance for the same price or paid like, $0.50 a month or less for the same performance, it just doesn't seem worth it to me.
Yeah, same. If you’re competing on price, you have to have a competitive price. Unless you can come up with some solid real-numbers benefit to the environment or some other really compelling marketing angle, nobody cares if it’s theoretically the lower-cost way of doing things if that doesn’t translate into either a lower bill, or more service for a comparable bill.
The service seems neat, but the pricing seems more to be a novelty than a real service. Maybe I’m missing something.
it has to cost some amount in reserved capacity too. for every n suspended machines there is some small fraction of a machine's cpu/ram capacity that must be kept in reserve, like in a fractional lending system.
I think gp means that when a customer wants to connect to the VM there needs to be hardware (CPU and RAM) available to run it. While this can be less than the total number of (suspended) VMs it has to have some buffer of "unused" hardware to account for usage spikes that still needs to be paid for.
Yeah this is a cool idea but the pricing is way too high. For anything I would use this for I could just set up any VPS from any provider for cheaper and it’s stateful in the sense that it’s my own VPS and my files/applications/tmux sessions/whatever will be there the next time I SSH in.
The UX here seems really nice, but after spending a couple minutes setting up the VPS, I essentially get the same UX (aka just ssh in and so stuff).
I’d potentially be willing to pay some premium over a standard VPS, but certainly not a 10x premium…honestly probably not even 2x.
I think it can be worth it if the suspended cost is much cheaper (like ten times) than an idle VPS, as long as you don't use the machine too often (if the active cost is 10 times more expensive than a VPS, it makes sense as long as you don't use it more than 800h a year).
Maybe I'm being dense, but could someone kindly explain to me the "Web App" example on that Sprites page?
"30 hours of wake time per month (~5 concurrent users avg), averaging 10% of 2 CPUs and 1 GB RAM"
Does that mean it would sit available but using 0% when there's nobody on the site, and just bill for usage when web traffic is causing the server to do work? So if the web app went a month with no visitors it would cost nothing (except for the file storage fees)?
> So if the web app went a month with no visitors it would cost nothing (except for the file storage fees)?
Yes that's the idea. The public URL for a sprite is served by a (free) load balancer. The sprite is normally suspended, gets resumed when a request comes in, then suspended again. Not sure on the exact timeouts, they probably don't suspend immediately after a response is sent.
Sprites pricing is based on usage, not reserved capacity, so depending on what you're doing I think it can actually be cheaper than Shellbox. You'll have to stay below 1GB of memory and have the CPU be mostly idle, which I'm not sure common workloads will.
Nope, unless they changed this recently. It's an ssh-like way to connect and get a console/terminal, but it's not ssh, and there is no transfer capability
I think this is mostly true functionally, but not experientially.
A VPS gives you persistent state, but it still assumes you’re willing to manage that state. The distinction here seems less about what’s possible and more about who carries the ongoing operational burden: the user or the service.
Sort of, but maybe not quite? When you spin up an EC2 spot instance, it's a fresh instance with whatever AMI you load into it, and it's a fresh boot at that time. (You can save persistent data to an EBS volume that you create once up front and then attach to each new instance, of course.)
With this service, it seems like the VM underpinning your session is suspended (like as if you were to suspend-to-RAM or hibernate your laptop), and then resumed the next time you sign in, so not only is the filesystem in the same state as it was during your last session, but any background processes that have spun up since then are resumed as well, and are still running.
As others pointed out, this isn't a very strong offer, but I'm wondering, if it would be competitive (price/performance wise), does anyone have a use-case for this? I mean, I can name quite a few if it would offer me some hardware that my laptop I'm using to access it just doesn't have, like some A100-level GPUs and stuff, then it would be fantastic: login, do your job, forget about it until the next time you need it. But for anything else it feels like I'd just prefer something more… traditional? Like, DigitalOcean droplet, AWS instance, Linode VPS, you get the idea. At least a managed Docker container. Even if it's technically more expensive and less performant, we are talking like $5/mo, and you can pretty much always easily scale-up or buy additional storage volume, all these things. And it's all yours, for pretty much all practical intents and purposes.
Does anyone have a legit use-case when it would be actually nicer to use this on-demand type of service? (Once more, unless we are talking some serious on-demand hardware.)
A legit use-case is long-lived but infrequently accessed sessions.
Think debugging, learning environments, or experiments where the hard part is recreating state, not paying for compute. A VPS can do it, but suspend/resume avoids either leaving it running or constantly rebuilding it.
For these kinds of services, I think the main value would be UX improvements, such as offering an environment preconfigured with a certain set of tools (e.g. nmap, tmux, curl, etc.) and other defaults. SSH in, and don't deal with a web panel. They may also be valuable in a learning environment where you don't want student servers running 24/7.
Other than those points, offering access to more powerful hardware is probably the best use-case.
This is fascinating idea. I created an idea like this on top of firecracker and custom golang ssh client to build something like this for my own personal use case (the abstraction part of pricing and how to connect it seemed the more difficult part for me atleast)
What stack does this use underneath?
Good luck with launch, this idea is similar to railway in terms of pricing model. I discussed about it a few comments back and I think its an interesting idea and we are seeing alternatives within such pricing model
Also are you using some cloud provider itself or building it yourself, I'd be interested in so many details to discover
Have a nice day and looking forward to ya response! Good luck with your project!
This is all written in python and the AsyncSSH package. Firecracker for VMs with memory mapped files for ram. Paddle for billing. Caddy as a reverse proxy for certificates.
It works on top of very large bare metal instances.
I'm thinking maybe open sourcing but it will take some more work on the code to make it publishable w/o embarrassing myself :)
I am interested in which bare metal instances from which provider are you using if I may ask since I had a similar idea (as mentioned before) and I wanted to deploy it on hetzner but I was always worried that hetzner's policy might be too harsh for it even though they are one of the cheapest options out there
Which server provider did you end up using?
Thanks once again for your in depth response, these are the things I come to hackernews for! cheers and looking to ya response
Ps not doing anything illegal but I just don't like having copies of my ID everywhere. Too much data getting leaked these days. With Scaleway you just pay with your card and that's it.
Hm I had thought the same! Interesting thanks for responding once again but what are your thoughts on the fact that someone can abuse the situation and your account might get banned and hetzner has a pretty strict policy in that
When I wished to create something as such, this was the most major thing I was worried about. I am curious what your thoughts are on it and how are you managing it (the fact that anyone might abuse in your service which could then impact you and hetzner relations and they might block/restrict you)
I have heard that hetzner requires you to respond in hours or similar. Like I am interested, did you talk to hetzner people (they are usually very kind and I love that about them) or not, because I remember asking some question to that in similar vein but I had gotten the answer that I am still responsible for what happens downstreams and that worried me
Do you do something similar to the modifications codesandbox has done to firecracker, regarding mmap ram? (They have multiple blogposts about it on their blog)
It's funny to me as well. Being initially inspired by Yelp's dockersh I wrote a functional MVP of the same concept around 2 years ago. It used a custom Go sshd-proxy to spawn kata-container backed pods in kubernetes. I used it personally for a very brief period of time, and found it useful as a small timesaver for testing things. I wasn't comfortable with monetizing it though. After seeing a few of these pop up, I realize maybe I missed my chance to be early.
As far as self-hosting goes, it looks like there are some FOSS projects now, eg https://containerssh.io/
i looked at containerssh once and it was way to featureful for me. I came up with a simple ssh daemon that basically does spawn arbitary containers on ssh login and destroys on exit: https://github.com/abbbi/sshcont
This is a very cool idea and I like the simplicity of the business model! SSH has a ton of great features and its ergonomics are excellent for terminal enthusiasts. Most of us want to ssh into our cloud compute anyway. As a founder of an ssh platform (https://pico.sh) I just wanted to say welcome and good luck!
Also If you ever want to chat about ssh feel free to reach out!
Pretty sure shellbox.dev has been around for at least 2-3 years though - EDIT nm they have a show HN from two days ago. I must be thinking of a similarly named/sounding service
Unrelated in many ways, but I have the reverse problem:
When I suspend my Linux machine, my ssh connections are lost.
Anyone know of a good solution for this?
PS: Yes, I know about tmux/screen but I'd like a solution that keeps the connection, because I often forget to start a screen session. Also, I'd like my X11 applications to keep working.
WDYM lost? do you roam? I used to have a job with simple OpenVPN to connect to the servers (via public IP, just routed through the VPN tunnel) and ssh connections stayed during my trip from office to home. Probably needs both sides not to be overly aggressive with keepalives and such. VPN just reconnected at home, but tun0 device and its local ip stayed the same, ssh connections also stayed.
If you do not roam other side may do TCP keepalives or even ssh protocol keepalives and close the connection for you. Unless you can tune that, not much to do.
Other solutions might be mosh (mobile shell; haven't tried) or just running screen or tmux on the other end and just resume where you left of after quick reconnect.
I could imagine using this to access a beefier machine besides my main work computer. But indeed paying for stopped VM is difficult to sell. There was a suggestion to propose pre installed tools in different images which I find a good idea. Otherwise the workflow all by ssh is cool!
I've been trying to come up with a hypothetical use case for this. I can't use this as a server without keeping an active session right? I wonder if you could get around this by sshing into itself from inside the primary session. Is that an edge case you've considered?
Maybe this and other future extended features could be configured via some host-accessible mounted conf.d? Otherwise if I forget to use that command on every login, I might just forget, logout, and go on thinking my server is still running.
Trying to use any of the commands in the home page, I just see "hugo@shellbox.dev: Permission denied (publickey).". Clearly I have to register first, but there's no clue as to how.
Love this idea! Started building a version of it a while ago, but gave up because my resume time was too slow
My job has their own DCs, but inexplicably hosts devboxes in EC2 - an autosuspend feature for cost savings sounds awesome.
Feature request: let me give you a Dropbox folder to persist/load my suspended vms from/to, that way i dont get charged for storage when not using it, and i can walk away whenever i want
What a brilliant billing and account interaction interface. I legitimately wanted to build something like this for a transactional SMS provider where it would all be provisioned, managed, configured on the CLI. Do you have any tips on how you built this out so elegantly?
Would love a SMS provider that was simple to use. Have used twilio in the past and every time I come back it, it feels like they've added yet another layer of abstraction to the process.
But I suspect that spam and abuse means that becoming an SMS customer is going to have to be complex. Though just the ability to automate SMS msgs to a few pre-defined and verified numbers would be valuable and negate spam risk.
I made something similar last week using rust. It uses docker container with bunch of tool pre loaded. if anyone interested source code https://github.com/TheYkk/agentman
Not sure about the security sandbox, but given that paddle.com (your payment provider) takes 5% cut you could consider accepting lightning (bitcoin layer2) payments. QR code generation for lightning invoice is instantaneous just as payment, and will cost less than 0.1% fee (payer pays fee anyway). But the security sandbox should be solid, else it will be used for illegal stuff.
Not really. I mean, I guess the lightning stuff makes it settle/confirm faster than doing an on-chain transaction, but bitcoin as a store of value is still essentially gambling. So you'd want to immediately sell it and convert it to USD (or a stable coin, I guess), and presumably you're incurring fees at whatever exchange you're using.
5% for paddle does sound like it kinda sucks, but I feel like any lower fee you'd end up paying with bitcoin would get eaten up by complexity, annoyance, and currency conversion risk.
Weird fun fact (as an Argentinian who went to school in England for a few years): in English-speaking countries, America is not a continent in the same way as in Spanish. In English they have two continents: South America and North America.
So the word "American" in English does not mean the same as "Americano" in Spanish.
There's really no natural word in English to refer to someone from "El continente Americano", because no such continent exists in English. That's why they use the word "American" to refer to someone from USA exclusively.
That sounded fascinating as a rather large difference in world view stemming only from using different languages.
It turns out that there are various models for the number of continents, and that is (phew) known in Spanish, too. See the Wikipedia page [1] (link to Spanish version) for instance. This is for European Spanish though, but I couldn't find a version of the page in es-AR.
I think "the Americas" means the continent(s), and America (to some extent) can mean either but it would feel more like something used as a gotcha at a pub quiz.
You're definitely right about there not being a word for someone from that continent though.
"American" to refer to USA exclusively does make sense either way because USA shares the continent with at least two other countries no matter how you slice it.
Frankly, the model with the single America continent doesn’t make any sense, because south and north Americas are so different in both geographical and cultural/historical sense.
But why? Genuinely want to know what one might use this for. I can imagine it would be cool for a remote dev environment but the selling point would have to be that it’s far cheaper than the alternative.
Apart from the payment part, this could be used entirely from a machine without a GUI. You can do the same with others using Terraform or aws-cli but it requires setup first.
Cool idea if you have a more specific niche requirement than it would initially appear, but genuinely nice to know this is available if such a use-case happens to cross my path.
Still, there is the advantage of simplicity not having to deal with the web console etc. Some people may enjoy this
A suspended machine only costs its disk usage to the hoster. You can have 800 of them on a machine with 4TB SSD. You can't say the same for VPS at all.
The service seems neat, but the pricing seems more to be a novelty than a real service. Maybe I’m missing something.
Can be pretty fast.
The UX here seems really nice, but after spending a couple minutes setting up the VPS, I essentially get the same UX (aka just ssh in and so stuff).
I’d potentially be willing to pay some premium over a standard VPS, but certainly not a 10x premium…honestly probably not even 2x.
And the big benefit of a remote box is that you can offload long running tasks to it.
https://learn.microsoft.com/en-us/azure/azure-functions/dura...
"30 hours of wake time per month (~5 concurrent users avg), averaging 10% of 2 CPUs and 1 GB RAM"
Does that mean it would sit available but using 0% when there's nobody on the site, and just bill for usage when web traffic is causing the server to do work? So if the web app went a month with no visitors it would cost nothing (except for the file storage fees)?
Yes that's the idea. The public URL for a sprite is served by a (free) load balancer. The sprite is normally suspended, gets resumed when a request comes in, then suspended again. Not sure on the exact timeouts, they probably don't suspend immediately after a response is sent.
Sprites pricing is based on usage, not reserved capacity, so depending on what you're doing I think it can actually be cheaper than Shellbox. You'll have to stay below 1GB of memory and have the CPU be mostly idle, which I'm not sure common workloads will.
A VPS gives you persistent state, but it still assumes you’re willing to manage that state. The distinction here seems less about what’s possible and more about who carries the ongoing operational burden: the user or the service.
With this service, it seems like the VM underpinning your session is suspended (like as if you were to suspend-to-RAM or hibernate your laptop), and then resumed the next time you sign in, so not only is the filesystem in the same state as it was during your last session, but any background processes that have spun up since then are resumed as well, and are still running.
https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernat...
Can then spawn a new instance from the snapshot and it should unhibernate
Whether the OS will like that... That's another point. As there will be things that change like smbios etc
Does anyone have a legit use-case when it would be actually nicer to use this on-demand type of service? (Once more, unless we are talking some serious on-demand hardware.)
Think debugging, learning environments, or experiments where the hard part is recreating state, not paying for compute. A VPS can do it, but suspend/resume avoids either leaving it running or constantly rebuilding it.
Other than those points, offering access to more powerful hardware is probably the best use-case.
What stack does this use underneath?
Good luck with launch, this idea is similar to railway in terms of pricing model. I discussed about it a few comments back and I think its an interesting idea and we are seeing alternatives within such pricing model
Also are you using some cloud provider itself or building it yourself, I'd be interested in so many details to discover
Have a nice day and looking forward to ya response! Good luck with your project!
This is all written in python and the AsyncSSH package. Firecracker for VMs with memory mapped files for ram. Paddle for billing. Caddy as a reverse proxy for certificates.
It works on top of very large bare metal instances.
I'm thinking maybe open sourcing but it will take some more work on the code to make it publishable w/o embarrassing myself :)
I am interested in which bare metal instances from which provider are you using if I may ask since I had a similar idea (as mentioned before) and I wanted to deploy it on hetzner but I was always worried that hetzner's policy might be too harsh for it even though they are one of the cheapest options out there
Which server provider did you end up using?
Thanks once again for your in depth response, these are the things I come to hackernews for! cheers and looking to ya response
Ps not doing anything illegal but I just don't like having copies of my ID everywhere. Too much data getting leaked these days. With Scaleway you just pay with your card and that's it.
When I wished to create something as such, this was the most major thing I was worried about. I am curious what your thoughts are on it and how are you managing it (the fact that anyone might abuse in your service which could then impact you and hetzner relations and they might block/restrict you)
I have heard that hetzner requires you to respond in hours or similar. Like I am interested, did you talk to hetzner people (they are usually very kind and I love that about them) or not, because I remember asking some question to that in similar vein but I had gotten the answer that I am still responsible for what happens downstreams and that worried me
Would love to chat about details there
I really need to share a blog post on doing this exact thing with a VPS, 2 commands to install and setup lxd.
And then client side bash function to just make and connect via tmux and delete when you're done.
Self hosting these services is too easy to do and you can have more control of your data and better specs.
As far as self-hosting goes, it looks like there are some FOSS projects now, eg https://containerssh.io/
Work in progress/alpha, but the core functionality works as a proof of concept. Super exciting working on this kind of stuff.
Also If you ever want to chat about ssh feel free to reach out!
When I suspend my Linux machine, my ssh connections are lost.
Anyone know of a good solution for this?
PS: Yes, I know about tmux/screen but I'd like a solution that keeps the connection, because I often forget to start a screen session. Also, I'd like my X11 applications to keep working.
If you do not roam other side may do TCP keepalives or even ssh protocol keepalives and close the connection for you. Unless you can tune that, not much to do.
Other solutions might be mosh (mobile shell; haven't tried) or just running screen or tmux on the other end and just resume where you left of after quick reconnect.
https://github.com/mobile-shell/mosh
GNU Screen is another alternative
ssh shellbox.dev keepalive box1
Trying to use any of the commands in the home page, I just see "hugo@shellbox.dev: Permission denied (publickey).". Clearly I have to register first, but there's no clue as to how.
ssh-keygen -t ed25519
As an aside, you should use ssh-audit to get recommendations for what to disable as far as less than ideal options/configs go.
My job has their own DCs, but inexplicably hosts devboxes in EC2 - an autosuspend feature for cost savings sounds awesome.
Feature request: let me give you a Dropbox folder to persist/load my suspended vms from/to, that way i dont get charged for storage when not using it, and i can walk away whenever i want
But I suspect that spam and abuse means that becoming an SMS customer is going to have to be complex. Though just the ability to automate SMS msgs to a few pre-defined and verified numbers would be valuable and negate spam risk.
Why isn't SFTP supported?
uh? i lost interest in bitcoin a few years ago, did bitcoin get actually usable for payments ?
5% for paddle does sound like it kinda sucks, but I feel like any lower fee you'd end up paying with bitcoin would get eaten up by complexity, annoyance, and currency conversion risk.
Don't underestimate the benefit of it doing international VAT collection and payment. Especially for small amounts.
So the word "American" in English does not mean the same as "Americano" in Spanish.
There's really no natural word in English to refer to someone from "El continente Americano", because no such continent exists in English. That's why they use the word "American" to refer to someone from USA exclusively.
It turns out that there are various models for the number of continents, and that is (phew) known in Spanish, too. See the Wikipedia page [1] (link to Spanish version) for instance. This is for European Spanish though, but I couldn't find a version of the page in es-AR.
[1]: https://es.wikipedia.org/wiki/Continente#Modelos_continental...
You're definitely right about there not being a word for someone from that continent though.
[1] https://www.usgs.gov/media/images/tectonic-plates-earth
I can count 4
Do you need a banking license, or partner with someone who has?