When you're setting up a new website, there's a bunch of little tasks that you have to do that suck. They're important, but they don't give you the joy of creating something new, they're just... plumbing.
In particular I'm thinking of:
No one decided to learn web development because they were super stoked on DNS. The good news is that you can use Cloudflare (for free) to make all these plumbing tasks a little less painful.
In the rest of this post I'll go over the pros and cons of using Cloudflare, plus a short video guide on how to start using it.
Cloudflare is a reverse proxy service that you put in-between you website visitors and your website's server. All requests that hit your website are routed through Cloudflare's servers first. This means that they can provide:
This is a whooole lot of bullshit that I don't want to set up myself, if I can avoid it, so it's nice when Cloudflare handles it for me.
In addition to the features I listed above, there are a few nice I've found when using Cloudflare:
The biggest main con I see for using Cloudflare is that you're not learning to use open source alternatives like self-hosted NGINX to do the same job. If you are an NGINX expert already then you're a big boy/girl and you can make your own decisions about what tools to use. If you're a newer developer and you've never set up a webserver like NGINX and Apache, then you're robbing yourself of useful infrastructure experience if you only ever use Cloudflare for everything.
That said, I think that newer developers should start deploying websites using services like Cloudflare, and then learn how to use tools like NGINX.
Another, more abstract downside, is that some double-digit percentage of the internet's websites use Cloudflare. If you're worried about centralization of control of the internet, then Cloudflare's growing consolidation of internet traffic is a concern. Personally I don't really care about that right now.
This video shows you how to get set up with Cloudflare.
Once you've set up Cloudflare, you'll need to start creating some DNS records. I've written a guide on exactly this topic to help you get set up. I suggest you check it out so you can give your website a domain name.
If you have any feedback or questions email me at [email protected]