База знаний → Серверы и DevOps

Серверы и DevOps

Своя машина в интернете: как её арендовать, настроить, положить на неё сайт и сделать так, чтобы обновления выкатывались сами, а падение было видно раньше, чем о нём напишет клиент.

22 темы 5 этапов примерно 6–9 месяцев при часе в день уровень: нужны основы кода

пройдено 0 из 22
Этап 1 · Linux и сеть
Что такое арендованный сервер 2 дня

Кусок чужого компьютера в аренду: процессор, память, диск и адрес в интернете. Стоит от нескольких долларов в месяц. Отличие от хостинга-конструктора простое — здесь всё ваше и всё на вас.

Что уметь в конце

  • Выбрать размер сервера под задачу и не переплатить
  • Подключиться к нему из терминала
Командная строка Linux 3 недели

Файлы и папки, права, поиск, просмотр журналов, установка программ, редактирование прямо на сервере. Мыши здесь нет — и это быстрее, когда привык.

Что уметь в конце

  • Пройти путь: подключиться, поставить программу, запустить, посмотреть журнал
  • Найти, что занимает место на диске
Пользователи и права 1 неделя

Почему нельзя работать из-под главного администратора, как завести отдельного пользователя для сайта и почему «дать всем полный доступ» — не решение, а будущая беда.

Сеть и файрвол 1 неделя

Порты, открытые наружу, — это двери в ваш сервер. Правило: закрыто всё, кроме того, что нужно. Плюс умение проверить, кто и куда стучится.

Что уметь в конце

  • Оставить открытыми только нужные порты
  • Посмотреть, какие программы слушают сеть
Вход по ключу 2 дня

Пароль подбирают роботы круглосуточно, ключ — нет. Настраивается за десять минут, после чего вход по паролю выключается совсем.

Этап 2 · Сайт на сервере
nginx 2 недели

Программа, которая принимает запросы: отдаёт готовые файлы сама, а всё остальное передаёт вашему приложению. Здесь же сжатие, кеш и переадресация.

Что уметь в конце

  • Поднять сайт на своём домене и передать часть адресов приложению
  • Прочитать журнал обращений и найти в нём ошибку

Где учить

Домены и DNS 3 дня

Записи, которые связывают имя сайта с адресом сервера, а почту — с почтовой службой. Отдельно стоит понять, почему изменения «доезжают» не мгновенно.

Что уметь в конце

  • Направить домен и его поддомены на свой сервер
  • Проверить, какие записи видит мир прямо сейчас
Сертификаты и https 2 дня

Бесплатный сертификат выпускается и продлевается автоматически. Без него браузер показывает предупреждение, а поисковики понижают сайт.

Где учить

Приложение как служба 1 неделя

Программа, запущенная руками, умрёт вместе с вашим сеансом. Служба поднимается при старте сервера и перезапускается сама после сбоя.

Журналы системы 3 дня

Куда пишутся сообщения служб, как их читать и как не дать им съесть диск. Первое место, куда смотрят, когда «всё сломалось».

Этап 3 · Контейнеры
Docker 3 недели

Приложение упаковывается вместе со своим окружением и запускается одинаково на ноутбуке и на сервере. Лечит болезнь «у меня работает».

Что уметь в конце

  • Собрать образ своего приложения и запустить его на сервере
  • Понимать, где живут данные контейнера и почему они исчезают

Где учить

Несколько контейнеров вместе 1 неделя

Приложение, база, кеш и обратный прокси описываются одним файлом и поднимаются одной командой. Для большинства проектов этого достаточно навсегда.

Хранилище образов 2 дня

Куда складывать собранные образы, чтобы сервер их забирал: публичный реестр или свой. Здесь же версии и правило «никогда не выкатывать latest».

Kubernetes необязательно

Оркестратор для десятков сервисов и нескольких машин. Малому проекту он приносит больше сложности, чем пользы, — беритесь, когда задача сама потребует.

Где учить

Этап 4 · Автоматизация
Автоматическая сборка и выкладка 2 недели

Правка попала в основную ветку — тесты прошли, образ собрался, сервер обновился. Ручная выкладка по вечерам заканчивается ровно здесь.

Где учить

Секреты и переменные окружения 3 дня

Пароли и токены не живут в коде — никогда. Их место в переменных окружения или хранилище секретов, а в репозитории лежит только образец с пустыми полями.

Резервные копии 1 неделя

Копия, которую ни разу не восстанавливали, копией не считается. Расписание, хранение вне того же сервера и обязательная проверка восстановлением.

Что уметь в конце

  • Настроить ежедневную копию базы и файлов
  • Восстановить систему на чистой машине по своей инструкции
Инфраструктура как код необязательно

Серверы и сети описываются файлами и создаются командой. Нужно, когда машин становится много или их приходится пересоздавать регулярно.

Где учить

Этап 5 · Эксплуатация
Мониторинг и оповещения 2 недели

Показатели сервера и приложения, графики, пороги и сообщение в мессенджер, когда что-то пошло не так. Цель — узнавать о сбое раньше клиента.

Где учить

Безопасность сервера 1 неделя

Обновления безопасности, блокировка перебора паролей, отдельные права для служб, ограничение исходящих соединений. Сервер в интернете сканируют круглосуточно — это не пугалка, а факт из журналов.

Когда одной машины мало 1 неделя

Вертикальный рост, несколько копий приложения за балансировщиком, отделение базы, раздача файлов через сеть доставки. Важнее всего понять, что именно упирается, — иначе платите за лишние мощности.

Сверка с зарубежной картой необязательно

Полная карта профессии с инструментами на любой вкус — у коллег из roadmap.sh. Наша короче: здесь то, без чего не запустить и не удержать реальный проект.

Куда смотреть

Knowledge base → Servers and DevOps

Servers and DevOps

Your own machine on the internet: how to rent it, set it up, put a site on it, and make updates roll out by themselves — so that a failure is seen by you before the client writes about it.

22 topics 5 stages about 6–9 months at an hour a day level: basic coding needed

0 of 22 done
Stage 1 · Linux and networking
What a rented server is 2 days

A slice of someone else's computer: processor, memory, disk and an address on the internet, from a few dollars a month. Unlike a website builder, everything here is yours — and everything is your responsibility.

What you should be able to do

  • Pick a size that fits the job without overpaying
  • Connect to it from a terminal
The Linux command line 3 weeks

Files and folders, permissions, search, reading logs, installing software, editing right on the server. There is no mouse here — and once you are used to it, that is faster.

Users and permissions 1 week

Why you should not work as the main administrator, how to create a separate user for a site, and why "give everyone full access" is a future disaster rather than a solution.

Networking and the firewall 1 week

Open ports are doors into your server. The rule: everything closed except what is needed. Plus being able to see who is knocking.

Key-based login 2 days

Robots guess passwords around the clock; they cannot guess a key. Ten minutes of setup, after which password login is switched off entirely.

Stage 2 · A site on the server
nginx 2 weeks

The program that receives requests: it serves ready files itself and passes everything else to your application. Compression, caching and redirects live here too.

Where to learn

Domains and DNS 3 days

The records that tie a name to a server address and mail to a mail service. Worth understanding why changes do not take effect instantly.

Certificates and https 2 days

A free certificate is issued and renewed automatically. Without it the browser warns visitors and search engines rank the site lower.

Where to learn

Running the app as a service 1 week

A program started by hand dies with your session. A service starts with the server and restarts itself after a crash.

System logs 3 days

Where service messages go, how to read them, and how to stop them eating the disk. The first place to look when "everything is broken".

Stage 3 · Containers
Docker 3 weeks

An application is packed together with its environment and runs the same on a laptop and on a server. It cures the "works on my machine" disease.

Where to learn

Several containers together 1 week

Application, database, cache and reverse proxy described in one file and started with one command. For most projects this is enough forever.

Image registry 2 days

Where built images are kept so the server can pull them: a public registry or your own. Versions belong here too, with the rule never to deploy "latest".

Kubernetes optional

An orchestrator for dozens of services across several machines. For a small project it adds more complexity than value — take it when the work demands it.

Where to learn

Stage 4 · Automation
Automatic build and deploy 2 weeks

A change lands in the main branch — tests pass, the image is built, the server updates. Manual evening deployments end here.

Where to learn

Secrets and environment variables 3 days

Passwords and tokens never live in code. They belong in environment variables or a secret store, while the repository holds only an example file with empty fields.

Backups 1 week

A backup you have never restored is not a backup. A schedule, storage away from the same server, and a restore test that you actually run.

What you should be able to do

  • Set up a daily copy of the database and files
  • Restore the system on a clean machine from your own instructions
Infrastructure as code optional

Servers and networks described in files and created by a command. Needed once there are many machines or they are rebuilt regularly.

Where to learn

Stage 5 · Running it
Monitoring and alerts 2 weeks

Server and application metrics, graphs, thresholds and a message to your messenger when something goes wrong. The goal is to know before the client does.

Where to learn

Hardening the server 1 week

Security updates, blocking password guessing, least privilege for services, limiting outgoing connections. Servers on the internet are scanned constantly — that is a fact from the logs, not a scare story.

When one machine is not enough 1 week

A bigger machine, several copies behind a balancer, a separate database, files served from a delivery network. The main skill is finding what actually runs out — otherwise you pay for unused capacity.

Compare with the full map optional

The complete map of the profession, with tools for every taste, is at roadmap.sh. Ours holds what is needed to launch and keep a real project alive.

Where to look