032 - How To Host A Website (Part 2)
5 Sep, 2017
Picking up from last week, this episode shares some of the options you can try for hosting a full blown web app, so you can show off your work when you’re learning to code.
If you missed last week’s episode which was all about how to host a static website, go back and listen to episode 31. Today we’re talking about hosting applications with dynamic content, i.e. you need a database and have written the backend code.
To review the basics, you will need a domain name (most of the time!) and web hosting to have a website–go back and listen to episode 31 to hear more about these. To host an app you will also need a database server, and the good news is that you can usually get the hosting bundled in with this. But you will almost always need to buy the domain separately.
Here’s the overview of services I talk about in this episode (this is not a comprehensive list, just my experience!!):
Heroku
- Heroku link
- My #1 recommendation for small scale apps & proofs of concept
- It’s free! You can host up to 5 free apps on Heroku.
- You interact with Heroku from the Heroku command line, but don’t be scared off by this…they’ve got great tutorials and documentation.
- You can also link Heroku to your GitHub master branch for automatic, continuous deployment.
- You get a nice domain name, or can create your own: your-app-name.herokuapp.com
- You can get a database server for free, and lots of other services as well (both paid and free). Look in the ‘add-ons’ section.
- Be aware if you want to scale up: you can get quality service for lower prices with other service providers once you need to leave the Heroku free tier.
Amazon Web Services
- AWS link
- Works for static sites, works for more complicated sites too
- To host an app you’ll use EC2 (web server), S3 (file storage), and RDS (relational database server) or DynamoDB (NoSQL database server).
- All of these services can be used for FREE for 12 months or more, and after that they’re still massively inexpensive for simple, low-traffic demo apps.
- There’s a steep learning curve for using Amazon Web Services, and also for getting all the services to work with each other correctly. Personally, I think it pays off in the long run.
- You do need your own domain name when using AWS. You can get one through Route 53 on AWS, or any domain registrar.
- Unfortunately, you do need a credit card to sign up for AWS. If you’re not in the US, be wary of any fees your card company may charge–AWS services are billed in US dollars.
Other Services
- Azure
- Digital Ocean
- Read this blog post for further comparison on these!