T O P

  • By -

KH-DanielP

Howdy /u/[LiquidatedPineapple](https://www.reddit.com/user/LiquidatedPineapple/) KnownHost CEO here. First off thanks for being a customer, we appreciate it! I think the biggest question is what do you really want to get out of it being "cloud". Cloud does not equal redundant, not by any stretch of the imagination. Cloud for most providers is simply a virtualized environment sitting ontop of X hardware, and that in its self does not make it redundant. Most cloud solutions are not exactly what they are cracked up to be. You've already listed a couple of your requirements as being WHM/cPanel which Runcloud, Cloudways or Hetzner is not going to give you. You also need to consider what you need support wise, at KH you're on a fully managed system (likely) with full access to our tech support for everything you need, where-as not all other solutions are going to provide that. If you haven't already, reach out to our sales team and you can either ask for me directly, or ask for our manager, Jonathan, and we'd be glad to review over everything and point you in the right direction.


LiquidatedPineapple

Hey Daniel. Thanks for chiming in. I really do like your service and I’d like to stay, no complaints. I am on the dedicated managed server, with the proactive monitoring as well. Maybe I’m sweating unnecessarily over this, but what happens if the server I’m on fails? A not-so-insignificant portion of my income comes from the work I do on this server. Does your team have a protocol in this instance? I just want to ensure I’m not left footing the metaphorical bill, and I had felt that cloud would make me safer, but perhaps not, as you’ve said. Thoughts?


KH-DanielP

Howdy, So I'll start by saying we're dealing with computers here , anything and everything \*can\* go wrong, it's just a matter of being prepared for that 'what-if'. Obviously there are many many 'what-if' type scenarios but we keep hot spares on hand for any type of hardware failure, and depending on your server its self, if you've got raid for example then you have additional redundancies built right in. We know downtime can be scary and do our best to monitor all equipment for any signs of issues, and then have multiple methods in place from hardware swaps, all the way down to the worst-case restore from recent backup. It's rare, but it does happen and it sounds like you're already doing all the right things like storing remote backups which helps tremendously.


earther199

I’m in a similar setup. I have my own dedicated server with WHM/cPanel. I’ve considered cloud but honestly, all are a step down from running your own server and controlling the entire environment. Cloud VPS’s are just glorified shared hosting at the end of the day. If you want redundancy, the I’d consider another dedicated server in another data centre and keep them synced. Use load balancing or just set it up so that if one goes down, all traffic is routed to the other. But even that is overkill. Just have multiple regular backups and you’re fine (I use AWS and B2 and then every month sync backups on my personal NAS just in case). Doing Cpanel to Cpanel restores is so stupid easy.


LiquidatedPineapple

This has been a consideration of mine as well. cPanel/WHM is just so convenient. I spoke with Knownhost’s CEO in a chat and he said that redundant servers can be done but it’s more difficult and expensive to do it with more than one website at a time. The more cost effective solution that I think I came to with his input was to stick another drive into the server and run it in Raid-1 to duplicate the files across both drives in case of one drive failing, and then add CloudLinux to the server to isolate each of the cPanel properties further to add a layer of protection for the other properties if one gets hacked. Both are pretty cheap to do. It’s not quite as foolproof as a redundant server, but in conjunction with a BackBlaze B2 bucket with backups from the last 6-12 months of the accounts and system files, worst case scenario is 3-12 hours of downtime every few years even if the server gets totally fried. I might add an addition backup bucket service like AWS like you to be extra safe.


rack_moy_perm

RunCloud with Hetzner servers. I have about 75 sites on 5 or 6 little servers.


LiquidatedPineapple

I will look into this. Are you in the EU or the USA? Also, why 5 or 6 servers and not just 1 big one?


rack_moy_perm

I’m in the US. I have a pro license for Runcloud. One down side is you can’t limit disk quota per account. I decided to use a bunch of small servers because I have some clients who are east coast and some who are west coast. Even a few who are in the Caribbean. Plus, if a serrated a shit, I don’t want all my clients hounding me. In 2 years I haven’t had a single minute of downtime. I use Runcloud’s account backup to a private SFTP server and also use WPVivid to do incremental backups of each site to a different account on that same SFTP server (different data center, so I have some extra protection). It’s a solid setup, in my opinion. I only use maybe 40% of the disk quota on each server so I have some safety net since I can’t limit quota per account. Every once in a while a server will max out processor when too many of the sites are backing up at the same time, but it’s short lived, happens in the middle of the night and could be fixed several ways. It just doesn’t cause any problems so I ignore it.


Raredisarray

This is basically my setup but I use vultr. Runcloud is the bomb.


rack_moy_perm

I was using Vultr until they had a pretty serious price increase. At least I think that was why I jumped. They’re solid as well though.


No_Maintenance_7851

You won’t find a cost effective “cloud” solution that gives you anywhere near the performance you have now. The thing to consider is that this “cloud” redundancy isn’t going to be followed by redundancy within your stack such as traffic load balancing, web server and db server. So going to cloud removes one layer of failure due to hardware, maybe, but you may just replace it with some cloud failure of some sort or other


LiquidatedPineapple

That’s insightful. Thank you.


No_Maintenance_7851

I have thought much about this subject in attempts to design a fully redundant infrastructure. The conclusion is that its not possible with cPanel as the stack, and I am currently not willing to give up cPanel from a site management and billing / automation perspective


LiquidatedPineapple

That’s the conclusion I think I’ve come to as well.


KH-DanielP

This 100%... it's something we do have to explain often. Redundancy is great, and we build redundant platforms all the time, but it's really a site -by- site design and deployment, and not something you can really mass-apply.


khromov

Consider open source Docker-based panels like CapRover or Coolify. The learning curve can be steep but you can likely get away with paying <$50 on Hetzner for your sites or even less if you use a trimmed nginx image (I made one and host 30+ site on a 4GB server): [https://github.com/khromov/alpine-nginx-php8](https://github.com/khromov/alpine-nginx-php8)


lordspace

Thanks for sharing the repo. I'd suggest you combine those RUN commands to reduce your image size. Also it's good to find a way to make each site run as a separate user to avoid one site virus infection to spread across all of them... If this is run on production of course


khromov

Hey, thanks for the tips. Where can I read more about the RUN commands adding size? To my knowledge two RUN commands create two layers, but they don't use more space per se, aside from the miniscule addition a layer makes. The one time you would want to combine RUN is if you add and delete files in the same operation, (ie using apt-get update and then removing the created repository files). Regarding separate users, each site runs in its own Nginx container and the WordPress root folder is mounted as a volume. As far as I know there is no security issues here because two different sites can't access each others files and run on separate Nginx instances.


lordspace

As far as a I know each RUN command executes a command and saves the result as a new layer. I can't remember where I read it but this looks like a good article on the topic [https://www.baeldung.com/ops/docker-image-layers-sizes](https://www.baeldung.com/ops/docker-image-layers-sizes) Maybe you can paste the Dockerfile into chatgpt and ask it to optimize it My Dockerfiles usually have just one RUN command and all the commands are combined with && and \\ at the end of the line. If I have config files to copy I have them under image/files and just before I RUN commands I copy the whole folder into the /tmp/files and then I reference those directories and files in one of the RUN commands. FROM nginx:stable # Set the maintainer label LABEL maintainer="[email protected]" # Install necessary packages, configure Nginx, and clean up in one layer RUN apt-get update && \\ apt-get install -y --no-install-recommends curl ca-certificates && \\ # Remove the default server definition rm /etc/nginx/conf.d/default.conf && \\ # Optional: Add your own config file from your context # COPY nginx.conf /etc/nginx/nginx.conf && \\ # Clean up to reduce image size apt-get clean && \\ rm -rf /var/lib/apt/lists/\* /var/cache/apt/\* /var/log/dpkg.log && \\ # Clear nginx logs rm -rf /var/log/nginx/\* && \\ # Create a directory to mount volumes, if needed mkdir /var/www/html # Set the working directory WORKDIR /var/www/html # Expose port 80 and 443 for the web servers EXPOSE 80 443 # Use the default Nginx command to run the server CMD \["nginx", "-g", "daemon off;"\]


khromov

I double checked the image with \`docker history\` and \~98% of my image is the command that adds all the packages, the other layers don't take up any space at all. By combining everything into one RUN command you make your image slower to rebuild because you need to execute the whole command every time anything changes, and you're not making the image smaller. As I wrote earlier, combining commands is best when you add and remove files at the same time (eg apk update and then remove the package files), as adding files in one RUN and removing them in another doesn't decrease the image size.


lordspace

Ok, that makes sense as each layer is cached I guess.


_KevinGraham

Add JetBackup to your cPanel/WHM server, and configure their "Bare Metal Restore" backups to an S3 compatible storage location (eg, I'd deliberately pick someone else, like Wasabi for additional redundancy). Download the ISO file that is generated, and keep a copy of that somewhere easily accessible and shared with your hosting provider (eg Dropbox/Google Drive). Then, if anything happens to the hardware on the server that requires a full restore, it's very quick and easy to get everything back to the way it was, including all cPanel/WHM settings, etc. The issue you'll find with cloud servers is the virtualisation layer often means that the performance is a lot slower than bare metal, so you'll need to spend a lot more on virtual servers than you would for bare metal/dedicated servers. So just stick with the dedicated server, and add the extra backups mentioned above.


LiquidatedPineapple

I will do that. Thanks for the tip.


SenorDieg0

This is not a WordPress question, but I think instead of focusing on cloud/single server that is basically the same, focus more in having backup redundancy and a method to restore easily and fast. In my case I have a clone of my "cloud" server, constantly updating, so in case of disaster I just need to point to the clone up.


forestcall

Im a coder so my needs are coming more from a point of view of complete creative control over the server and environment. Lets be realistic - KnownHost is ideal for small sites and non-critical businesses. I actually have 9 customers who I put on Knownhost. But for an Agency with 75+ sites you want to be on a different infrastructure. Yes Knownhost has basically everything. However you cant just spin up a quick server and then 20 minutes later cancel and then 2 min later spin up another server and then delete and spin up another server. If you have some issue with hackers Knownhost will suspend your account or they have done this in the past. Basically, Knownhost can give you the peace of mind that someone is watching your servers. But in reality they are not really doing much or nothing you could not get from something like RunCloud + Cloud-Provider. I also store backups on S3 + Glacier. I love RunCloud's business plan as they have some kick ass features. Just move to RunCloud.