Getting a Cloud Server, Setting Backups
Non-recommended cloud providers
There are plenty of cloud providers where you can order VPS and dedicated servers. We don’t recommend using VPS and dedicated servers from AWS, Google Cloud, or Microsoft Azure because:
- They're overengineered and excessively expensive.
- Someone has to cover the cost of their free tiers, startup programs, and extensive marketing.
- They have too many infrastructure layers to navigate.
- They try to lock you in at every step.
- Their support is poor or non-existent unless you pay for a premium plan.
- The learning curve is steep.
- They still charge for traffic a lot.
Recommended cloud providers
Based on our 12+ years of experience, we recommend using smaller providers that offer nearly 100% uptime, great performance, free or affordable traffic, and much better pricing:
- Hetzner: Affordable but your account could be blocked if you're not from the EU.
- DigitalOcean: Global data centers, but slightly more expensive than others on this list.
- OVH: A French provider offering very affordable VPS and unlimited traffic.
- Scaleway: Another French provider with affordable pricing, though its data centers are EU-based.
- Vultr: Similar to DigitalOcean but also offers cloud bare-metal servers.
There are many other cloud providers to choose from, but remember: to deploy a public service/app/project, you need a public IP address and the ability to connect via SSH.
If you want to start deploying without waiting when your account is approved and get free credits, create an account at DigitalOcean (go here to get $200 in credits) or Vultr (check promo codes here).
Create a cloud server
No matter which provider you choose from the list above, the steps to get and log into a server are the same:
- Create an account.
- Generate an SSH key on your local machine (the computer you use for development).
- Select a VPS with the required resources.
- Choose the operating system — we recommend Ubuntu 22.04, as it's used in our examples and has extensive documentation. Ubuntu 24.04 may also work, but it's newer, so not everything may work out of the box.
- Add the SSH key to the server.
- Create the server.
- Once the server is ready, log into it from your local machine.
ssh root@ip_address_of_server
If you can SSH into your server, congratulations! You’re ready to install the necessary tools to deploy your project.
Backups
Backups aren’t necessary if you don’t plan to store any data on your server. For example, if your project has one service and a database—where the service is on Server A and the database on Server B (assuming you’re not using a managed database)—you'll need backups for Server B. Server A will only need backups if it stores important data (e.g., user files, avatars, important logs).
All cloud providers offer the ability to create backups or snapshots. Always enable this feature for servers containing user data. If automated backups (e.g., every 24 hours) aren’t available, or you want backups more frequently, you can set up a backup service on a cheaper server within the same data center to avoid external traffic. This service will back up the required data at set intervals and with the number of versions you need. We will provide a guide on setting this up in the next book update.