Questions

How and where to host a mobile app developed in PHP?

I need something that is scalable and reliable. I'm lost and close to being scammed by an outsourcing team not wanting to consult. I'm unfortunately not an expert and only meeting people trying to get me on a long term contract but I just need my MVP to be on the stores.

4answers

I've built a load of apps over the years and tried out many of the major providers. Currently I'm the CEO of a startup making advanced email technology, which is incredibly server intensive, so I feel I'm in a good position to advise!

I'm not sure from your question if you're looking to host the backend or frontend of your mobile app, but what I have to say applies to both really.

I'm going to assume that you're not a systems administrator, and have no desire to be, so I think that rules out self-hosting and colocation. That's when you buy servers to run yourself or rent server space in a shared facility. You'd need to spend a lot of time maintaining these servers, fixing bugs, etc. and it's basically a full time job.

Next up we have the option of renting space on shared servers. You can get instances on Amazon EC2 or Rackspace fairly cheaply, and you'll be able to start out with a default configuration that has an operating system loaded for you already. You'll still have to maintain these though, and the way I look at it, do you really want to be responsible for installing updates and 0-days on a server if you're at an important event, or in the middle of something? I sure don't.

Then we get down to PaaS (Platform as a Service) offerings like Amazon Elastic Beanstalk and Heroku. You'll rent small amounts of scalable space from them which you can increase or decrease at any time. So if you get a spike in traffic, you're covered. You'll get more transparent pricing, more support, and you're not responsible for updates and server maintenance. You get less control of the stack this way (for instance, it's more difficult to install custom packages) but it's far less admin than any of the previous options.

This is where I think you're at, and having used the two I think you'd be best off with Heroku. They have good and bad points (doesn't everyone) but I've been using them for some time now and haven't had any major problems. Deploying code is a couple of lines in a terminal - it's super easy. And maintenance is all taken care of for you.

Some companies have taken PaaS to the next level and just provide you with an API and a nice web interface to interact with them, like Parse. You can host Javascript on Parse, but not PHP, so it's not a good fit for you.

There's other cheaper options too, like shared hosting. As you're using PHP you could host on the majority of web hosts (1and1, Hostgator, etc.). This is a terrible idea, and you shouldn't do it. You'll hit memory limits and other nasties really quickly, and you'll not get the developer support you need.

There's a ton of other hosting companies out there that I didn't mention, and it's a massive topic. You'll also need to think about databases and storage, and who's going to manage the deployment of code.

I'd love to talk to you more about this. Schedule a call if you have any other questions, or if I can explain anything more thoroughly for you.


Answered 9 years ago

I have to agree with Jake Peters. The best answer is AWS if you're comfortable with running LAMP stack servers, relational database servers, elastic load balancers, auto-scaling, etc., which requires a ton of knowledge, especially the way AWS is setup.

For simplicity, Heroku is unquestionably the best option if you'd prefer to spend your time working on marketing your app than learning the ins and outs of how AWS is setup because you'll be forced to learn things like:

What's an EC2 Instance?
What's an RDS Instance?
What are Elastic IPs?
What's IAM?
What's an ELB?
What's an AMI?
What's a bucket and more importantly, a bucket policy?
Am I using the right kernel?

I can go on and on. AWS provides the most flexible, scalable and robust portfolio of services and options, all at your control, but there's a learning curve, for sure.

Once you get comfortable with AWS, you will never want anything else. This is why Netflix, Pinterest, Instagram and a host of others use AWS.

Heroku will help you cut the learning curve and get your app up and running so you can spend time on the most important part of app development: marketing.


Answered 9 years ago

I assume you really mean a back-end code serving mobile app client. If that is the case, you can go with major cloud providers - AWS, Google and Azure.

You may also want to explore a list of cloud PaaS at https://docs.google.com/spreadsheets/d/1tGm1gr6udLvrknhMzw7mRSouWSvMMfyjs8_csSdto64/edit#gid=0

It's a bit outdated, but still good in terms of evaluating a required feature set.


Answered 9 years ago

If you're going the outsourcing route there are a couple of things to know depending on the country you are in. Most "Sr. Level Developers" are people who have only 2 to 4 years developing. What's worked for me in the past is assembling my own team or finding a real Sr. Developer who's been doing it for 10+ years. This will greatly reduce your cost and your head ache. I lost $10K on a project learning this lesson.

In regards to the hosting of the app, Amazon AWS or Rackspace or even Digital Ocean are all great places to start as has been mentioned above.

One last thing, since you're in it deep, avoid making the mistake of pushing things out the door without testing. Get a test dev who's onshore to test your app before you push it out the door. It will greatly save you on the cost of support tickets.


Answered 9 years ago

Unlock Startups Unlimited

Access 20,000+ Startup Experts, 650+ masterclass videos, 1,000+ in-depth guides, and all the software tools you need to launch and grow quickly.

Already a member? Sign in

Copyright © 2024 Startups.com LLC. All rights reserved.