Why your own server
Free platforms are convenient but restricted: they sleep, they throttle, they change terms. A small server costs little and removes those questions.
More importantly, you learn how things actually work. That's useful experience in its own right and something to talk about at interview.
Step 1. Rent one
For a learning project the smallest configuration suffices: one or two cores, a gigabyte or two of memory. Choose a provider with a comprehensible control panel and backups.
Take a widely used operating system with long-term support — it has the most instructions written for it.
Step 2. First connection and security
Do this before anything else, not afterwards.
Connect over an encrypted session with the credentials you were given.
Set up key-based login and disable password login. A server with password login is brute-forced around the clock — not an exaggeration; check the logs after a day.
Create a separate user for work instead of the main administrator.
Enable the firewall and open only what's needed: your connection port, plus plain and secure web.
Turn on automatic security updates.
Half an hour's work that spares you very unpleasant surprises.
Step 3. Install what's needed
The minimum: version control, build tools, and whatever your project is written in. Simplest of all is to install container tooling and run the project inside it: then almost nothing else is needed on the server.
Step 4. Put the project up
Fetch the code from the repository, create an environment variables file (passwords only here, never in code), and start it.
Check the application responds locally on the server before configuring anything else.
Step 5. A web server in front
Your application listens on some internal port. Exposing that directly isn't advisable. A web server sits in front, accepting requests and passing them along.
It also handles the secure connection, serving files and rate limiting.
Step 6. Domain and secure connection
Point your domain at the server's address, obtain a free certificate and configure automatic renewal. Without a secure connection browsers display a warning and the project looks unserious.
Step 7. Automatic startup
Configure things so everything comes back up after a reboot. Otherwise the server will restart one night and you'll learn about it from your users.
What's most often forgotten
Backups. Set them up immediately: a scheduled database dump stored somewhere else. Without that, one mistake erases everything.
Testing that backups restore. A backup never restored is a hope, not a backup.
Disk space. Logs grow and one day fill the disk. Configure rotation.
Passwords in the repository. Check before deploying.
How long it takes
The first time, an evening or two while it's unfamiliar. The second time, an hour. And the experience stays with you: an account of configuring a server sounds far weightier at interview than "deployed on a free platform in two clicks".
Хватит читать — пора делать
На CohortX можно найти команду под пет-проект и получить тот самый опыт, о котором спрашивают на собеседовании.
Похожие статьи
- Where to find open data for practice projectsThe kinds of sources, how to choose a dataset that yields something interesting, and what to check before you start.
- Где брать открытые данные для учебных проектовКакие бывают источники, как выбрать набор, чтобы получилось интересно, и что проверить перед началом работы.
- Writing test cases and bug reportsThe structure of a good test case, the mandatory parts of a bug report, and a walk-through of bad examples.