2

Как Web живёт на серверах

Заглядываем под капот: кухня цифрового мира

⏱️ 90 минут
🎯 Понимание инфраструктуры
📅 Занятие 2 из 22-24

Что такое сервер НА САМОМ ДЕЛЕ?

В прошлый раз мы договорились, что сервер — это "здание" в цифровом городе. Но из чего состоит это здание? Давайте разберёмся.

Простая истина: Сервер = Компьютер

Ваш ноутбук и сервер — родственники. У обоих есть процессор, память, диски. Но есть три ключевых отличия:

Характеристика Ваш ноутбук Сервер
Владелец Личный, делает то, что хотите вы Общий, работает для всех пользователей
"Лицо" Есть экран, клавиатура, красивый корпус Нет дисплея, управляется удалённо, только лампочки и порты
Режим работы Выключается, уходит в сон Работает 24/7/365 — никогда не спит
Надёжность Сломается — вы расстроитесь Имеет резервные блоки питания, диски, вентиляторы
2 блока питания
💾
Много дисков (RAID)
🌀
Мощные вентиляторы
💡
Индикаторы работы

"Ферма" серверов — Дата-центр

Один сервер — солдат. Где живёт целая армия? В дата-центре (центре обработки данных).

Аналогия: Многоэтажная парковка

Дата-центр — это многоэтажная парковка для серверов. Вместо машин — серверные стойки. Вместо этажей — залы. Идеальные условия для "капризных питомцев".

⚡ Непрерывное электричество

Два независимых ввода, мощные аккумуляторы (ИБП), дизель-генераторы. Сервер банка не должен отключаться даже при отключении города!

❄️ Идеальный климат-контроль

Серверы греются как утюги. Мощные кондиционеры, фальшполы с холодным воздухом, температура +18-22°C всегда.

🌐 Супер-скоростной интернет

Несколько провайдеров, гигабитные и терабитные каналы. Ваш домашний Wi-Fi — тропинка, канал дата-центра — 10-полосное шоссе.

🚨 Физическая безопасность

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

Факт: Крупные компании имеют свои дата-центры по всему миру

Google, Яндекс, Amazon строят дата-центры в разных странах и регионах. Если один выйдет из строя (пожар, наводнение), нагрузка автоматически перераспределится на другие. Это называется гео-распределённость.

"Кухня ресторана" — Модель обработки запроса

Как только браузер нашёл сервер (по DNS), начинается магия обработки вашего запроса.

1
Клиент (Вы в браузере)

Делаете заказ: "Хочу ленту новостей!" (HTTP-запрос)

2
Официант (Веб-сервер: Nginx/Apache)

Принимает заказ у входа и несёт его на кухню. Может сразу отдать готовый салат (статическую картинку).

3
Шеф-повар (Backend-приложение: Python/Java/PHP)

Выполняет сложную логику: "Найти посты друзей, исключить заблокированных, добавить рекламу".

4
Холодильник (База данных: MySQL/PostgreSQL)

Хранит ВСЕ данные: логины, посты, лайки, сообщения. Быстро находит нужное по запросу шефа.

5
Клиент (снова Вы)

Получаете готовое "блюдо" — отрисованную страницу с вашей лентой. Вся цепочка: 100-300 мс.

🔍 Практическая демонстрация в браузере

Откройте DevTools (F12) → вкладка Network. Обновите страницу. Вы увидите все "заказы", которые делает браузер:

// Пример HTTP-запроса
GET /api/newsfeed HTTP/1.1
Host: vk.com
Authorization: Bearer ваш_токен
User-Agent: Chrome/91.0
Ответ сервера:
Status: 200 OK
Content-Type: application/json

{
  "posts": [
    {"id": 1, "text": "Привет!", "author": "Катя"},
    {"id": 2, "text": "Отличная погода", "author": "Петя"}
  ]
}

Проблема масштаба: 'Вкусно и точка' на Арбате

Один ресторан (сервер) справляется. А если это 'Вкусно и точка' в субботу в обед? Очередь на улицу! Что делать?

📈 Вертикальное масштабирование (Scale Up)

Делаем повара сильнее: Более мощный CPU, больше RAM, больше дисков.
👍 Просто — купили мощный сервер
👎 Дорого, есть предел, единая точка отказа

🔄 Горизонтальное масштабирование (Scale Out)

Нанять много поваров: 100 одинаковых серверов вместо одного супер-сервера.
👍 Дёшево, отказоустойчиво, легко масштабируется
👎 Сложно управлять вручную

Главный официант (Load Balancer)

При горизонтальном масштабировании нужен умный распределитель — балансировщик нагрузки. Он стоит на входе и говорит: "Вы — к повару №1, вы — к повару №15, вы — к повару №47". Распределяет очередь равномерно.

💎 Философия современных облаков

Не один гигантский сервер, а сотни тысяч одинаковых, дешёвых. Если один сломался — выкинули, поставили новый. Если нагрузка выросла — добавили ещё 100 таких же. Управляет этим армией DevOps-инженер с помощью систем оркестрации (Kubernetes).

Ключевые термины лекции

Сервер Дата-центр 24/7/365 Официант Шеф-повар База данных Вертикальное масштабирование Горизонтальное масштабирование Балансировщик нагрузки Источник бесперебойного питания RAID
💡 Мысль для размышления

Когда вы ставите лайк в соцсети, этот лайк проходит путь: ваш телефон → интернет → балансировщик → один из сотен серверов → база данных (которая тоже распределена). Вся операция занимает 100-300 мс и должна быть надёжной. За эту надёжность отвечает инфраструктура, которую проектируют DevOps-инженеры.

Задания для самостоятельного изучения

  • Задание 1: Найдите в интернете фотографии современных дата-центров Google или Яндекс. Обратите внимание на порядок, охлаждение, стойки. Сравните с представлением "серверной комнаты" из фильмов.
  • Задание 2: Откройте браузер, нажмите F12 → вкладка Network. Зайдите на любой сайт. Посчитайте, сколько запросов делает браузер для загрузки одной страницы (строк в таблице). Удивились?
  • Задание 3: Подумайте: какой бизнес мог бы обойтись вертикальным масштабированием (одним мощным сервером), а какому обязательно нужно горизонтальное (много серверов)?

🔜 Что дальше?

Вы теперь знаете, как устроена "кухня" интернета. Но остался один волшебный момент: как браузер находит этот сервер по имени vk.com? Кто переводит человеческие имена в машинные адреса? На следующей лекции мы откроем "телефонную книгу Интернета" — DNS.