Scaling / High Availability Cloudron Setup
-
Hey everyone, hope it's ok if I chime in here and ask if anyone has built something in this direction. I'm asking because I got approached to host a static site (basically html, js and a few smaller images) which has trafficspikes where 50k+ users will try to access it for a short period of time and then mostly idles again. How would you go about that, is this doable on Cloudron? I did manage to have 100s of users, but 1000s is a different story

Can the surfer app (being a node server and all) handle that load if there's enough CPU/RAM on the host machine? Or would you rather build a custom nginx app which does nothing but serve compressed static files? Or fire up some smaller VPS, install nginx and use a load balancer to spread the traffic? Any information and suggestion is appreciated

@msbt said in Scaling / High Availability Cloudron Setup:
Can the surfer app (being a node server and all) handle that load if there's enough CPU/RAM on the host machine?
For static content, this should be quite easily achievable. Have you tried running any load tests? There's a bunch of variables here like network and disk speed. Best to measure the actual server setup.
-
@msbt I actually think for your scenario with mostly static content, you could put Cloudflare or similar in front of that app to sustain those spike times.
-
@msbt said in Scaling / High Availability Cloudron Setup:
I wanted to avoid Cloudflare traffic
If you're simply against Cloudflare as some people seem to be but open to other CDNs, I can vouch for BunnyCDN, everyone raves about them and they are very inexpensive too for the offerings. They also seem to be about to launch some DNS packages, I think they're slowly taking direct aim at Cloudflare and seem a little more friendly to use.
-
@msbt said in Scaling / High Availability Cloudron Setup:
I wanted to avoid Cloudflare traffic
If you're simply against Cloudflare as some people seem to be but open to other CDNs, I can vouch for BunnyCDN, everyone raves about them and they are very inexpensive too for the offerings. They also seem to be about to launch some DNS packages, I think they're slowly taking direct aim at Cloudflare and seem a little more friendly to use.
-
Moving to a K8s is hard for sure, simple things get more complex. But I think that's the best long term and where I see things going at large. Maybe setting it up as a single-node k8s would be easier initially?
If Cloudrun was set up to run as a single or multi-node Kubernetes (k3s/rke) cluster it opens the door to tons of cool stuff. You could for example use Rancher/Fleet to manage all your Cloudron/K8s migrations, monitoring, security, etc.
I use Rancher/k8s for multi-node / multi-cluster stuff and Cloudron for single system. Rancher connecting to a k8s version of Cloudrun would be the pie in the sky for me.
-
Moving to a K8s is hard for sure, simple things get more complex. But I think that's the best long term and where I see things going at large. Maybe setting it up as a single-node k8s would be easier initially?
If Cloudrun was set up to run as a single or multi-node Kubernetes (k3s/rke) cluster it opens the door to tons of cool stuff. You could for example use Rancher/Fleet to manage all your Cloudron/K8s migrations, monitoring, security, etc.
I use Rancher/k8s for multi-node / multi-cluster stuff and Cloudron for single system. Rancher connecting to a k8s version of Cloudrun would be the pie in the sky for me.
Found this recently: https://k0sproject.io/
Not sure how much it can be applied to HA Cloudron but it seems promising
*edit: apparently the screenshot is from a client called Lens which has a small/resonable license fee"k0s is the simple, solid & certified Kubernetes distribution that works on any infrastructure: bare-metal, on-premises, edge, IoT, public & private clouds. It's 100% open source & free. Get started today!"
EDIT:
"Lens for the web browser - coming soon" Currently is a desktop app...Lens is also open source and the "free" tier seems like it would fit a majority of Cloudron's users use cases...k0s is free/open source too where as Lens does have a "Pro" version for teams and is only $19.99 a month per user but is not "necessary"
-
Found this recently: https://k0sproject.io/
Not sure how much it can be applied to HA Cloudron but it seems promising
*edit: apparently the screenshot is from a client called Lens which has a small/resonable license fee"k0s is the simple, solid & certified Kubernetes distribution that works on any infrastructure: bare-metal, on-premises, edge, IoT, public & private clouds. It's 100% open source & free. Get started today!"
EDIT:
"Lens for the web browser - coming soon" Currently is a desktop app...Lens is also open source and the "free" tier seems like it would fit a majority of Cloudron's users use cases...k0s is free/open source too where as Lens does have a "Pro" version for teams and is only $19.99 a month per user but is not "necessary"
@plusone-nick nice fine. You tried it for anything?
-
@plusone-nick nice fine. You tried it for anything?
@marcusquinn not yet, plan on dabbling with it soon though. Another interesting project where I actually found k0s: https://elest.io/ learned of elest.io from the Penpot team lol
-
I have tried the demo, and honestly the simplicity of depoy and apply a subdomain puts cloudron ahead of others. Its 100% better for building boring infrastructure. But having been a product manager at VMware and a builder of datacenters... I REEEAALLY wanted to find a way to manage more than one node.
More specifically...
- Manage multiple nodes - This is more about seeing all nodes from one dashboard, see one marketplace and choose a node to deploy the app on. This could be done with cross talk and a replicated inventory (log into any, see them all). So when deploying, you select node first, get resource list from other node, make selections and deploy. I feel like this is easier than a fleet management layer above Cloudron, that can see all inventory and proxies configurations and commands down to nodes.
- Sync domain management information (DNS) - Be able to log in anywhere is great, but having all of my apps domain information synced across means that I'm halfway to a cold migration. I.e. stop an app, copy it to another node, turn it back on.
Tailscale integration - This is more for system to system conversations, making it easy for nodes to talk to each other. The hope here is so that in more home related scenarios, that you can have DHCP and not care.
Time to deploy - Its fine. It would be great to find a base OS image with it already packaged in. Then running a webserver for first run config or a text based first boot login flow to get up and running, setup domain, and general start to finish run in minutes.
Storage tiers? - Things like Immich like to handle different components on different tiers of storage. Would be nice to adjust known volumes against different resources (SSD, HDD, NAS)
I legit was thinking of building my own... make it easily deployed as an image, and make deploy + assign subdomain. Cloudron has done so much already there is no point to consider it. And its arguably the easiest solution available by a lot. But I would rather not consider deploy, later upgrade host, then upgrade again and again. I can't always expect it to fit on one host and I would love to manage more than one, but in one place.
THEN... consider app HA through something like sync'd apps and HA failover to another node. I don't expect multi-node apps and clustering, but I do hope for multi-node management and one big marketplace.
-
I have tried the demo, and honestly the simplicity of depoy and apply a subdomain puts cloudron ahead of others. Its 100% better for building boring infrastructure. But having been a product manager at VMware and a builder of datacenters... I REEEAALLY wanted to find a way to manage more than one node.
More specifically...
- Manage multiple nodes - This is more about seeing all nodes from one dashboard, see one marketplace and choose a node to deploy the app on. This could be done with cross talk and a replicated inventory (log into any, see them all). So when deploying, you select node first, get resource list from other node, make selections and deploy. I feel like this is easier than a fleet management layer above Cloudron, that can see all inventory and proxies configurations and commands down to nodes.
- Sync domain management information (DNS) - Be able to log in anywhere is great, but having all of my apps domain information synced across means that I'm halfway to a cold migration. I.e. stop an app, copy it to another node, turn it back on.
Tailscale integration - This is more for system to system conversations, making it easy for nodes to talk to each other. The hope here is so that in more home related scenarios, that you can have DHCP and not care.
Time to deploy - Its fine. It would be great to find a base OS image with it already packaged in. Then running a webserver for first run config or a text based first boot login flow to get up and running, setup domain, and general start to finish run in minutes.
Storage tiers? - Things like Immich like to handle different components on different tiers of storage. Would be nice to adjust known volumes against different resources (SSD, HDD, NAS)
I legit was thinking of building my own... make it easily deployed as an image, and make deploy + assign subdomain. Cloudron has done so much already there is no point to consider it. And its arguably the easiest solution available by a lot. But I would rather not consider deploy, later upgrade host, then upgrade again and again. I can't always expect it to fit on one host and I would love to manage more than one, but in one place.
THEN... consider app HA through something like sync'd apps and HA failover to another node. I don't expect multi-node apps and clustering, but I do hope for multi-node management and one big marketplace.
@layuso we've discussed many of these in other threads.
Today the APi is there, the 3rd party dashboards have been made and you can build your own.
We also have Cloudron hosted partners who made their own management systems for their needs.
What would you like to make first?

Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login
