раздел 01

Что такое сервер

Что это

Сервер - это компьютер, который работает круглосуточно и обслуживает запросы других машин по сети. Когда вы открываете сайт, ваш браузер (клиент) посылает запрос серверу, а сервер отдаёт страницу в ответ. Физически это обычный компьютер, просто без монитора и клавиатуры: стоит в дата-центре, управляется удалённо через терминал.

Чем отличается от вашего компьютера

| | Ваш ноутбук | Сервер | |---|---|---| | Работает | Когда вы его включили | 24/7, без перерывов | | Адрес в сети | Меняется, обычно за роутером | Постоянный публичный IP | | Управление | Мышь, клавиатура, экран | Удалённо, по SSH из терминала | | Задача | Личная работа | Обслуживать запросы пользователей | | Доступность | Только вам | Всему интернету (если разрешите) |

Физический и виртуальный

Физический (bare metal) сервер - это реальная железка целиком ваша. Все ядра, вся память, весь диск - только под вас. Дорого, но максимум контроля и производительности.

Виртуальный сервер (VPS/VDS) - это кусок мощного физического сервера, нарезанный на части специальной программой (гипервизором). На одной железке живёт много изолированных виртуальных серверов, и каждый ведёт себя как отдельный компьютер. Вы платите только за свой кусок. Это самый частый вариант для старта.

VPS (Virtual Private Server) и VDS (Virtual Dedicated Server) - почти синонимы, разница в технологии виртуализации. Для начинающего разница не принципиальна: это виртуальный сервер с гарантированными ресурсами.

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

Почему работает 24/7

Сервер стоит в дата-центре - здании с резервным питанием, охлаждением и резервными каналами интернета. Если пропадёт городское электричество, включатся аккумуляторы и дизель-генераторы. Поэтому сервер не зависит от того, что у вас дома выключили свет или вы закрыли ноутбук.

Пример

Телеграм-бот на Python. На ноутбуке вы запускаете python bot.py - бот отвечает, пока терминал открыт. Закрыли - бот молчит. На сервере вы запускаете тот же скрипт (обычно внутри Docker или systemd), он крутится постоянно, и бот отвечает всем и всегда, даже когда ваш ноутбук выключен.

Антипаттерны

  • Держать прод на своём ноутбуке. Выключился ноут или интернет - продукт лёг. Сервер для того и нужен.
  • Брать физический сервер для маленького проекта. Дорого и избыточно. Начните с VPS.
  • Путать сервер и сайт. Сервер - это машина. Сайт - это программа, которая на ней работает. На одном сервере может жить несколько сайтов.

Что дальше

Разберём, из чего сервер состоит: ядра, память, диск, сеть и ОС - и что на что влияет.