Hosting Advice and Maybe Some Help Needed - A Move From AWS Before Launch?

Hey everyone...

I'm within a month of launching my app. I've got everything set up on AWS, but I'm having second thoughts. I don't want to change hosting once I'm live, so it is now or never time to consider another option.

Problems with AWS

  • Price of products
  • Cost of support - $100 per month for 1 hour response time.

Setup I Need

Server (PHP)

  • Server separate from database
  • Ability to scale server depending on demand

Database (MySQL)

  • Encrypted at rest
  • Live replica in another data centre
  • Option to ensure it is not publically available - only visible to server(s)

General

  • As much setup done as possible with a GUI rather than lots of lines of code I don't have time to learn

Support

  • Reliable 1 hour response for less than $100 per month.

Feedback I'd Appreciate

  • Who would you recommend I go and try out?
  • Do you have deep experience in using their services and could I employ you for a few hours to answer my immediate questions?
  • (I'd rather not hear if you disagree with my requirements!)

We use Fasthosts for everything. Our twenty or so years with them has been faultless. We have had boxes up with multiple years of up time. You DO get what you pay for. Might cost a little more but it is an area you can not afford to skimp on. You will most likely have to do quite a bit through SSH configuration wise. Likewise database side. Using too much automation and scripts can be a bad move especially if you did not write them nor understand them. Most hosting panels such as WHM (creators of CPanel) are easy to navigate and the support and forums are excellent. Not every feature or setting comes with a GUI though Antony. Database replication is well documented and quite easy to configure. You are in full control of the database remember! You can decide if its encrypted at rest you don’t need the host to do this for you as you will be the host…

Finding it for $100 I’m not sure about either. Really depends on your specifications. You’ll want to spec for as much memory as you can afford. Likewise with storage as you can never have enough. Oh and Linux ALL the way! Industry standard. :wink:

Man there are so many factors. You have the head for it. And a grasp of the stack. I think you’ll soon figure it out.

:slight_smile:

1 Like

You might have a look at Amazon Lightsail. I don’t know about support costs, but the platform itself is much less expensive and has a simplified interface.

We use https://chemicloud.com - they provide managed hosting (on digital ocean I believe) across multiple locations. We’ve found their support to be good.

Then there is https://cloudways.com - they provide managed hosting across multiple cloud vendors including AWS.

And if your just looking for DevOps supports, then you can look at https://bobcares.com

I really like and use Digital Ocean. Prices are typically cheaper than AWS.

I'm not sure what type of support you are needing, but they do provide ticket-based support for free. Other levels of support have costs associated.

This is possible

Server (PHP)

  • Server separate from database
  • Ability to scale server depending on demand

Not sure about a live replica. Data encryption (at rest and in transit) is possible. It's up to you how you expose access. They have VPCs just like AWS. You could also go with one of their Managed Database option or spin up a separate droplet (synonymous to EC2) for the database.

Database (MySQL)

  • Encrypted at rest
  • Live replica in another data centre
  • Option to ensure it is not publically available - only visible to server(s)

They have GUIs for provisioning most of the infrastructure, but if you're talking about a GUI for the Servers to install binaries, etc that's not something you'll get. You could use/setup Webmin or Virtualmin.

General

  • As much setup done as possible with a GUI rather than lots of lines of code I don’t have time to learn

I might be wrong, but I think Antony was just talking about the support being less than $100 per hour.

Correct!

In my own research and experience (and there’s been lot’s of reasearch) i’ve found that outside of the big players like AWS, Google Cloud, Azure etc, its hard to find a provider that gives you everything in one place. (i.e. meeting all your needs listed above)

I’d suggest you take a good look at Digital Ocean as they offer a managed database service that would give you lot of what you want from the AWS managed DB. Yes it probably wont replicate it 6 times over multiple countries, but it should give you what you need in terms of high availability and automatic rolling backups.

I’ve heard not so great things about there customer service though so that’s something to consider.

My vote would be for www.linode.com and here’s why:

They will tick all your boxes (bar 1 that i’ll get to) in terms of price, features and ease of use.

Where i think they excel (and reviews and searches will back this up) is their customer service and the fact they have a part of their business offering professional services (i.e. paid consulting and support)

They also offer Managed Services which is a flat rate fee that offers things like 24/7 monitoring, incident response, etc. This also gives a discount on the professional services and support.

They have s3 that integrates with Wappler, Docker Machines with Wappler, Block Storage to attach to a DB to make it Highly Available, in-built firewall GUI to easily manage that.

The one caveat is a proper Managed DB service like what DO and AWS have.

The good news is that this will be available with Linode any month now, and you might be able to get early Beta access (i did it easily with the Firewall Beta). I do know that the managed DB is happening very soon and it will start off being for MySQL which will be fine for you.

Good luck with your decision and let me know you go.

Cheers!

Hi Anthony,

You forgot to mention your preferred method of deployment? Are you a FTP or Git guy?

I will stab at a guess that you’re the former. In which case here’s what I recommend you do:

Start small, keep it simple. It’s easy to get carried away thinking you’ll need to load balance multiple servers or deploy your own cluster but it won’t be needed at the beginning.

Start with a single VPS instance. This can house your application files and database. You shouldn’t need encryption at rest if your db is within the same environment as your app. You can use this formula for estimating the max number of requests per second:

No. of CPU cores / Avg page request execution time (secs) = Max number of Page Requests per second

So if your PHP app is hosted on a $15/mo Digital Ocean box that has 2vCPUs and on average your app takes around 0.3 seconds to execute a page request, you could probably handle 6-7 requests per second. That’s six people performing an action on your site every single second.

After a few days/weeks you’ll have some metric data to look at to decide if you need to scale up. Scaling up with a VPS provider is usually as simple as selecting a new plan and a reboot of the server. At this stage if the number of simultaneous users warrant it, you can move your SQL database to DigitalOcean’s managed database solution.

Only then once you’ve reached this far should you consider installing load balancers and running multiple instances of your db. It gets complicated pretty quickly at this stage if you don’t have much experience.

So to sum up, if you want to get your hands a little dirty, spin up a VPS. There are plenty of articles online on how to install a LAMP stack and secure your server. Start from here, don’t complicate it. Traffic is 10x cheaper on VPS providers than it is with the big boys and usually includes a TB or two in each plan.

Moving on to support, don’t get your hopes up. Dedicated support directly from the infrastructure provider (i.e AWS or DO) is usually abysmal.

If you don’t want to get your hands dirty and would like the benefit of having someone to shout at if your box goes offline, save your $100/mo and look for a middle-man, usually called Managed VPS hosting. Although they can’t fix hardware or networking issues they can usually pretty quickly find out why your configuration isn’t working or roll-back your recent FTP upload. They’ll also handle any security patches (PHP/Apache) and help you scale up your box if needed. If they’re good then they can also offer suggestions and improvements on your app configuration.

Some managed VPS providers will install cPanel or an equivalent for easy management. Don’t underestimate how much time this might save you. For others it will be overkill.

There’s no point me listing each and every VPS hosting provider as the list will be in the thousands and I don’t want to make this post biased in any way. What I suggest you do is research your provider and try them out. Usually there’s no contract, all you will have lost is perhaps one months charge if things don’t work out.

** I’ve mentioned Digital Ocean as an example. Although I’ve used them and still use them today, they’re are plenty of other providers you can look at. I’ve also not touched on file storage. I’ll assume you’ll use object storage such as S3 for this.

Last and most important point, take regular backups. Even if you use git, take more backups. I can’t stress how important this point is. My hosting provider takes both an automatic offsite file backup and SQL dump twice a day. I do the same once a day to my own external drives which get encrypted and then stored in a secret lair. Some say I’m smart, other’s say I’m paranoid.

3 Likes

Hey there @nshkrsh, @Dave, @kfawcett, @Philip_J, @max_gb, @mebeingken

Thank you so so much for your detailed feedback!

Your insight has been invaluable, and this thread already contains so much hosting knowledge and wisdom. I really appreciate your time to contribute such detail.

I’ve set off on a new journey of discovery, and I’ll document what I find here for everyone’s benefit.

Time is short, so I have decided to follow up with DO and Linode… more details to follow!

Best wishes,
Antony.

4 Likes

Hey @Antony,

Would appreciate to hear your feadback on how your journey went after all this time, as I find myself in a similar situation as you were in back then.

Regards,

1 Like

Well @webmaster, it didn’t go anywhere.
I struggled and struggled to make Docker work with Wappler and DO with no success. FTP didn’t seem to go smoothly either.
There is only so much time you can spend hanging your head against a brick wall, and in the end I have stayed with AWS!