Сервер (від англійської: serve, “обслуговувати”) — це виділена або інша спеціалізована фізична машина для виконання сервісного ПЗ, простими словами – це фізичний комп’ютер для зберігання даних та забезпечення до них прямого доступу.
Завдяки серверам функціонують сайти, сервіси, мобільні програми та інші платформи, які так чи інакше пов’язані з інтернетом.
Як влаштований сервер, чим відрізняється від звичайного ПК
Такий комп’ютер складається з таких компонентів, що і побутові (клієнтські) ПК:
- Центральні процесори.
- Оперативна пам’ять.
- Накопичувачі даних різного типу.
Але є й відмінності:
- Обчислювальна потужність вища, ніж у клієнтських ПК. Ви, напевно, чули про серверні пам’ять і процесори — це і є внутрішні компоненти таких комп’ютерів.
- Працює під керуванням серверних операційних систем. Наприклад, Microsoft Windows Server різних версій.
- Не має в комплекті потужних відеокарт, оскільки практично ніколи не використовується для виведення графіки на екран.
- Забезпечений дублюючими джерелами безперебійного живлення. Навіть при виході з ладу одного, двох і більше ДБЖ, server не припинить свою роботу, як і у разі знеструмлення головної мережі живлення.
Цілодобова доступність — одна з основних вимог, яка пред’являється до будь-якого сервера. Якщо вони всі разом стануть недоступними, то звичний світоустрій сучасної людини порушиться: не вийде відправити емейл, замовити таксі, здійснити покупку в інтернет-магазині.
Має специфічні системи охолодження. Завдяки їм забезпечується стабільна робота компонентів машини та захист від перегріву.
Корпуси складаються один на одного горизонтально. Є й вертикальне розташування, але менш поширене.
Як виглядають сервери: стійки та блейди
Для звичайних користувачів це завжди абстрактне, велике і незрозуміле. Але давайте подивимося, як виглядає типовий сервер:

Серверний комп’ютер перед встановленням у стійку
Такий комп’ютер зовсім не обов’язково має бути дуже великим. Вони бувають розміром із телевізійну приставку і навіть менше.
Виділені або спеціалізовані комп’ютери встановлюються в стійку, а вона забирається в спеціальну скриньку, або шафу. Це практичніше — у такому виконанні, наприклад, простіше вирішити питання охолодження одразу всіх машин.
Основна відмінність стійки від блейда в тому, що стійка є незалежним комп’ютером, що встановлюється в корпус. Блейди ж працюють один з одним у єдиному шасі.
Все вищезгадане обладнання зберігається в окремій серверній кімнаті. У ній регулюється як вологість, так і тиск повітря і навіть запиленість простору. Таку кімнату за складністю технологічних умов можна порівняти з виставковими залами кращих картинних галерей світу.
Для чого потрібний сервер
Кожна така машина проектується з урахуванням головного завдання її використання. Ось кілька прикладів:
- Зберігання даних.
- Розгортання сайтів, соцмереж, додатків.
- Розгортання хостингу для громадських сайтів.
- Майнінг.
- Організація VPN-шлюзів.
- Резервне копіювання даних із основного сервера.
- Створення єдиного внутрішнього простору для організації.
Основне призначення — це зберігання даних та отримання до них загального доступу.
Так, зберігати інформацію можна і на офісному комп’ютері, але такий спосіб сильно програє за рівнем безпеки та збереження даних. Виділена машина надійно захищена від внутрішніх та зовнішніх впливів. Тому сервери використовують і державні та комерційні структури (наприклад, банки).
Як працює сервер
Головне завдання — обробка запиту користувача. Іноді такі машини навіть називають «роздавачами» (мається на увазі відповіді). Схема роботи така:
- Клієнт створює запит — наприклад, зберегти зображення або інший файл.
- Він надсилає запит на сервер.
- Машина обробляє та виконує цей запит.
Наголосимо, що це фізична машина, де зберігаються різні типи файлів. Виділений або спеціалізований комп’ютер завжди підключений до мережі – не обов’язково тільки до інтернету – завдяки чому користувач може отримати доступ до файлів у будь-який час.
Серверами можуть називатися і програмні компоненти, призначені для регламентації рівня доступу до даних на комп’ютерах користувача.
Закріпимо, як працює виділена машина, на прикладі ланцюжка browser-server:
- Браузер формує запит та надсилає його на веб-сервер. Запит відбувається через протокол HTTP.
- Програмне забезпечення (у нашому випадку – HTTP-server) розшифровує отриманий запит та виконує його. Наприклад, виявляє у сховищі необхідний документ і повертає його через той же протокол HTTP.
Як працює динамічний сервер
Він вміє змінювати наявні дані перед тим, як надіслати їх. Відрізняється від статичного тим, що має розширене програмне забезпечення: зазвичай це пара «БД – сервер додатків». Другий компонент у цій парі покращує юзабіліті та підвищує швидкість доставки контенту. Схема його може бути досить складною, не в цьому суть.
Простий приклад: є стандартні HTML-сторінки та є сторінки-шаблони. У такий шаблон можна автоматично підтягувати інформацію відразу з кількох БД, навіть якщо вони дуже великі та важкі. Часто такі машини використовуються на дуже великих публічних веб-сайтах, наприклад, на ресурсах «Вікіпедії».
Як працює статичний сервер
Цей тип працює як фізична машина у зв’язку з програмним забезпеченням (HTTP-server). На відміну від динамічного, статичний передбачає передачу своїх даних від початку без будь-яких змін.
Статичний сервер обслуговує лише статичний контент: будь-які файли (у тому числі HTML, JavaScript, CSS), які доступні в момент їх запиту клієнтом. Він не призначений для обслуговування контенту, що динамічно генерується — який не існує, але його необхідно створювати «на льоту». Наприклад, після отримання певної інформації з бази даних, з використанням серверної мови і так далі.
Які бувають сервери за прямим призначенням
Це традиційна схема класифікації, з якої ми розпочнемо.
Веб-сервер
Це програмне (та апаратне) забезпечення, що використовує HTTP та інші протоколи для відповіді на запити клієнтів, зроблені через WWW.
Така машина дозволяє “відображати” вміст сайту шляхом зберігання, обробки та доставки веб-сторінок кінцевим користувачам. Крім HTTP, вона також підтримує SMTP (простий протокол передачі пошти) і FTP (протокол передачі файлів), які використовуються для електронної пошти, передачі / зберігання файлів, відповідно.
Файловий сервер
Це фізичний комп’ютер, що відповідає за централізоване зберігання, розповсюдження та керування даними, файлами та папками, щоб інші комп’ютери в тій же мережі могли отримати доступ до них.
SQL
SQL Server — сервер БД для розробок Microsoft. Це рішення, створені задля управління реляційними БД. Являє собою програмний продукт, який зберігає / витягує дані, які запитують інші веб-додатки. Одне чи кілька їх функціонують у тому ж чи іншому комп’ютері.
SQL — мова програмування спеціального призначення, призначена для обробки даних у системі управління реляційними БД.
Отже, SQL Server — це спеціалізована або виділена машина з базою даних, що реалізує мову структурованих запитів (SQL).
Сервер програми
Це форма проміжного програмного забезпечення, яке знаходиться між ОС, інструментами (СУБД або іншими зовнішніми компонентами), зв’язком та сторонніми веб-додатками.
Функціональне призначення цього типу полягає в тому, щоб обробляти запити як хост (або контейнер), часто – для дотримання необхідної або іншої логіки.
Принт-сервер
Це програма, фізична машина або мережевий пристрій для віддаленого керування пристроями друку: принтерами, сканерами, МФУ та іншими пристроями.
З його допомогою підключають через мережу принтери до клієнтських пристроїв — наприклад, стаціонарних ПК або ноутбуків. Машина приймає завдання на друк та надсилає їх на вказаний принтер. Основною альтернативою таким пристроям є прямий IP-друк.
Проксі
Це система та відповідний маршрутизатор, які забезпечують шлюз між користувачами та інтернетом. Проксі допомагає запобігти проникненню зловмисників у приватну мережу. Його часто називають посередником, оскільки він знаходиться між кінцевими користувачами та веб-сторінками, які вони відвідують.
Коли комп’ютер підключається до Інтернету, він використовує IP-адресу. Він схожий на табличку із поштовою адресою справжнього будинку, яка повідомляє перехожим номер чи вулицю. Також і проксі: він повідомляє вхідним даним, куди їм потрібно «йти», і позначає вихідні дані зворотним адресою (для аутентифікації інших пристроїв).
Спрощено це просто комп’ютер в інтернеті з власною IP-адресою.
Message transfer agent
Його також називають поштовим, що не зовсім коректно, але добре відображає сценарій використання.
Кожен email, що відправляється, проходить через ряд поштових комп’ютерів на шляху до передбачуваного одержувача. Може здатися, що повідомлення надсилається миттєво. Насправді, відбувається складна серія поетапних відправлень.
Які бувають сервери з технічних особливостей
Це дещо інша класифікація, але знати про неї також корисно, особливо якщо ви хочете розгорнути власний сайт і бути в курсі технічної специфіки та архітектури.
Віртуальний сервер
Має ті ж можливості, що і фізичний, але не має базового фізичного обладнання. Фізичний може створювати кілька окремих віртуальних — з гіпервізором або механізмом контейнера з використанням технології віртуалізації. При цьому ресурси фізичних машин (ЦП та пам’ять, наприклад) задіяні спільно.
Фізичний виділений
Купується або орендується для потреб певного бізнесу і зазвичай використовуються великими організаціями, які потребують виключно високого рівня безпеки даних. Або організаціями, які висувають підвищені вимоги до ємності машин.
VPS
Віртуальний приватний сервер (скор. VPS або VDS) – вид хостингів для симуляції середовища виділеної фізичної машини в умовах загального сервера. Так, дещо заплутане визначення, але воно точно відображає суть цієї послуги.
Хостинг VPS — одна з найпопулярніших послуг і причин цього безліч:
- Користувач має так званий кореневий доступ. Це повна незалежність щодо звернення до машини. Наприклад, можна ставити абсолютно будь-які програми або вносити зміни в конфігурації без необхідності звертатися до вибраного хостера, як у випадку з віртуальним хостингом.
- Краща продуктивність, ніж більшість віртуальних хостингів.
- Він значно доступніший за вартістю, ніж повноцінний виділений.
- Надійніше в плані збереження даних, а значить і безпечніше.
VPS найзручніший варіант для постачальників SaaS-сервісів, розробників, фрілансерів та взагалі будь-яких бізнесів, які виросли з послуги типу virtual hosting.
Віртуальний хостинг
Віртуальний хост фокусується на рішеннях віртуальної інфраструктури, включаючи віртуальний сервер, комп’ютери, сховища даних, гібридні платформи.
Його не можна плутати з віртуальним сервером — він вже спочатку заточений під розгортання сайту. Суть цього полягає в тому, що провайдер дає вам у тимчасове користування власну інфраструктуру (CPU, RAM, сховище для файлів). При цьому ваш сайт розташовуватиметься на одній машині ще з десятком інших таких же сайтів, що схоже на гуртожиток при університеті.
Це найдешевший варіант для вебмастерів-початківців, яким потрібно протестувати щось або розгорнути перший сайт.
Використовуючи віртуальний хостинг, ви можете запускати відразу кілька веб-сервісів — з різними назвами хостів та різними URL-адресами, які є окремими сайтами.
Резюме + бонус: як вибрати сервер
Визначте головне завдання або мету, яку ви збираєтеся вирішити за допомогою розгортання власної виділеної чи спеціалізованої машини.
Продуктивність сервера тримається на трьох китах: процесор, оперативна пам’ять та накопичувач.
Процесор
Якщо у вас буде акцент для багатопотокових задачах, то головне – обсяг кеш-пам’яті CPU та кількість ядер. Якщо ж планується вирішувати однопотокові завдання, основним пріоритетом буде тактова частота.
На продуктивність процесора впливають такі показники:
- Тактова частота.
- Архітектура.
- Розрядність шини.
- Тип та обсяг кеш-пам’яті.
А ось важливість кількості ядер процесора часто переоцінюється.
- Машина постійно виконуватиме велику кількість процесів одночасно? Значить багатоядерність стає пріоритетом у побудові системи.
- Машина використовуватиметься для обробки однопоточних запитів? Тоді розумніше наголошувати на тактовій частоті, а не гнатися за кількістю ядер.
Оперативна пам’ять та накопичувачі
Ось сім рекомендацій, які допоможуть вам побудувати ефективний та швидкий сервер:
- Вибирайте виключно зовнішні RAID.
- Вибирайте оперативну пам’ять із підтримкою ECC.
- Добре, якщо є підтримка гарячої заміни накопичувачів.
- Обсяг та сумарна кількість слотів для RAM залежать не тільки від оперативної пам’яті, але і від обмежень для конкретної моделі процесора. Найкраще вибирати серверну пам’ять стандарту DDR4 (з частотою від 2133 до 2666 МГц).
- Підтримка додаткового блоку живлення точно не буде зайвою.
- Вибирайте спеціалізовані серверні SSD. Вони відрізняються підвищеною довговічністю та вищою продуктивністю, ніж клієнтські компоненти. Якщо ви не плануєте використовувати твердотільний накопичувач, звертайте увагу на швидкість обертання шпинделя. Чим вона вища, тим швидше працюватиме диск.
- Кеш-пам’ять CPU не особливо важлива при надсиланні важких /об’ємних даних (наприклад, звук без стиснення або відео). Однак при роботі з БД або передачею інших щільних масивів кеш набуває чи не вирішального значення. Робочий діапазон серверної кеш-пам’яті CPU, що підходить більшості завдань — від 8 до 16 мегабайт.