Блог компанії 3v-Hosting
Історія віртуалізації: як з'явилися перші VPS
10 хв.
Віртуалізація, важлива частина сучасних обчислень, часто використовується без особливих роздумів. Сьогодні віртуальні приватні сервери (VPS) використовуються для всього, від особистих блогів до бізнес-додатків. Вони можуть масштабуватися вгору або вниз у міру необхідності, є гнучкими і більш доступними, ніж фізична інфраструктура. Однак перехід до VPS-хостингу не був швидким і легким. Він заснований на багаторічних змінах у використанні комп'ютерів, починаючи з мейнфреймів і закінчуючи контейнерними сервісами. У цій статті розповідається про те, як розвивалася віртуалізація, про технології, які зробили VPS можливими, і про зміни, які перетворили галузь.
Народження систем розподілу часу
Ідея віртуалізації з'явилася ще до появи сучасних операційних систем і хмарних сервісів. Вона зародилася в 1960-х роках з появою систем поділу часу, які дозволяли багатьом користувачам одночасно використовувати обчислювальні ресурси. У минулому комп'ютери були дуже великими і дорогими. Необхідно було ефективно використовувати апаратне забезпечення.
У 1961 році система сумісного поділу часу (CTSS) Массачусетського технологічного інституту (MIT) стала першою системою, в якій комп'ютер могли одночасно використовувати багато людей. Ця система стала початком того, що в кінцевому підсумку призвело до появи віртуалізованих середовищ. CTSS була першою системою, в якій були створені ізольовані сеанси користувачів, що є однією з найважливіших ідей VPS.
Хоча це не були віртуальні машини в сучасному розумінні, вони представили кілька важливих концепцій:
- Розподіл ресурсів
- Ізоляція сеансів користувачів
- Одночасне виконання
У цю епоху також зародилася ідея, що одна машина може представлятися різним користувачам як кілька логічних машин - ідея, яка лягла в основу майбутніх досягнень в області віртуалізації.
IBM і революція в області мейнфреймів
Справжній прорив стався в кінці 1960-х років завдяки IBM. IBM представила повну віртуалізацію на апаратному рівні за допомогою монітора віртуальної машини (VMM) з випуском System/360 Model 67, а потім System/370. Ці системи могли копіювати багато різних типів комп'ютерних середовищ і запускати їх всі на одному головному комп'ютері.
Це призвело до створення операційної системи VM/370, яка дозволяла запускати кілька незалежних операційних систем на одному комп'ютері. Кожен користувач міг запускати свою власну ОС окремо, повністю контролюючи своє середовище. Це найраніша форма того, що ми зараз називаємо віртуальною машиною.
Ключові особливості цієї системи включали:
- Повна апаратна емуляція
- Рівень гіпервізора (попередник сучасних гіпервізорів, таких як KVM, ESXi)
- Повна ізоляція на рівні ОС
- Можливість одночасного запуску декількох операційних систем
З сучасної точки зору, робота IBM по суті винайшла віртуалізацію серверів, і не випадково, що через десятиліття віртуалізація як і раніше тісно пов'язана з системами IBM.
Ера Unix і ізоляція на рівні процесів
У той час як IBM була лідером в області віртуалізації мейнфреймів, в середовищах Unix відбувалася еволюція іншого роду. У 1970-х і 80-х роках системи Unix почали використовувати chroot, введений в Unix версії 7 в 1979 році, для ізоляції процесів.
chroot дозволяє адміністраторам змінювати кореневий каталог для процесу. Завдяки цьому створюється враження, що кореневим каталогом є інший каталог. Іншими словами, він створює «в'язницю», в якій працює програма. Ця базова форма ізоляції стала великим кроком у напрямку ідеї віртуалізації на рівні додатків.
Хоча chroot ніколи не розроблявся для забезпечення безпеки або віртуалізації як такої, він надихнув на розробку більш надійних контейнерних середовищ, таких як:
- FreeBSD Jails (2000)
- Solaris Containers (2004)
- Linux Containers (LXC)
Пізніше ці середовища перетворилися на сучасні контейнерні платформи, але про це ми поговоримо трохи пізніше.
У цю епоху системні адміністратори Unix почали уявляти собі світ, в якому на одному сервері можуть співіснувати кілька ізольованих середовищ - ранню версію VPS-хостингу.
Виникнення віртуалізації x86 і програмних гіпервізорів
До 1990-х років персональні комп'ютери на базі архітектури x86 були широко поширені, але вони не мали такої ж підтримки віртуалізації, як мейнфрейми IBM. Це створювало проблему: як забезпечити повну віртуалізацію на звичайному обладнанні, яке не було для цього призначене?
Це стало можливим завдяки програмній віртуалізації, яка використовувала розумні технології для емуляції роботи гостьової ОС навіть без апаратної підтримки. Однією з найбільш важливих компаній у цій галузі була VMware, заснована в 1998 році. VMware Workstation (випущена в 1999 році) була першою програмою, яка дозволяла запускати більше однієї операційної системи x86 одночасно на настільному комп'ютері.
Незабаром за нею послідував VMware ESX Server, повнофункціональний гіпервізор типу 1, призначений для серверів. Рішення VMware перетворило галузь, забезпечивши:
- Консолідацію серверів
- Абстракцію апаратного забезпечення
- Швидке розгортання нових середовищ
- Підвищення відмовостійкості та надмірності
Поява хостингу віртуальних приватних серверів стала прямим результатом цих досягнень. Тепер хостинг-провайдери могли розділити один потужний фізичний сервер на кілька ізольованих віртуальних машин, кожна з яких мала власну операційну систему і ресурси.
На цьому етапі термін «VPS-хостинг» почав входити в основний IT-словник.
Інші статті на тему VPS в нашому блозі:
- Як підібрати параметри сервера під час вибору VPS
- Проблеми з продуктивністю VPS або Чому гальмує мій сервер?
- Значення резервного копіювання під час використання віртуальних приватних серверів (VPS)
- Для яких завдань підходить VPS-сервер
Відкритий вихідний код і демократизація віртуалізації
У той час як VMware домінувала в комерційному секторі, спільноти відкритого вихідного коду розробляли свої власні альтернативи. Зокрема:
- Xen (випущений в 2003 році) представив паравіртуалізацію, яка забезпечувала кращу продуктивність на апаратному забезпеченні x86.
- KVM (Kernel-based Virtual Machine), об'єднана з ядром Linux в 2007 році, стала де-факто стандартом для віртуалізації на базі Linux.
Ці технології зробили рішення віртуальних приватних серверів простими і доступними. Хостинговим компаніям більше не потрібні були дорогі комерційні ліцензії; вони могли створювати свою інфраструктуру за допомогою гіпервізорів з відкритим вихідним кодом і інструментів управління на базі Linux.
Екосистема провайдерів VPS різко розширилася в кінці 2000-х і на початку 2010-х років, що призвело до появи таких популярних платформ, як:
- Linode (заснована в 2003 році)
- DigitalOcean (2011)
- Vultr (2014)
- 3v-Hosting (2016)
Кожен з цих сервісів використовував переваги легкої віртуалізації, щоб запропонувати розробникам дешеві, гнучкі та масштабовані серверні інстанси.
Ця епоха також збіглася з широким поширенням хмарних обчислень і DevOps, що прискорило попит на ізольовані, відтворювані серверні середовища - саме те, що надавав VPS.
Контейнери: нова хвиля віртуалізації
VPS-хостинг як і раніше залишається базовою послугою, але поява контейнерів змінила підхід до віртуалізації. Контейнери відрізняються від традиційних віртуальних машин (ВМ). ВМ віртуалізують цілі операційні системи. Контейнери, навпаки, забезпечують ізоляцію на рівні процесів при спільному використанні одного ядра. Це призводить до:
- Меншого споживання ресурсів
- Швидшого запуску
- Спрощення перенесення
У 2013 році Docker зробив контейнеризацію доступною для розробників по всьому світу. Kubernetes, випущений незабаром після цього, представив оркестрацію, яка дозволила здійснювати великомасштабне розгортання і управління контейнерними додатками.
Важливо пам'ятати, що контейнери не замінюють VPS, а є додатковим рівнем. У багатьох хмарних інфраструктурах контейнери працюють всередині віртуальних машин, які працюють на фізичних серверах.
Таким чином, модель VPS як і раніше є основною частиною багатьох сучасних структур, забезпечуючи гнучкий компроміс між «голими» металевими і контейнерними робочими навантаженнями.
VPS-хостинг в сучасну епоху
Сьогодні віртуальні приватні сервери є повсюдними. Вони забезпечують роботу всього, від ігрових серверів і платформ електронної комерції до CI/CD-конвеєрів і VPN. Їх популярність можна пояснити наступними факторами:
- Економічна ефективність
- Гнучкість
- Передбачувана продуктивність
- Ізоляція від інших користувачів
Хмарні провайдери, такі як AWS (з EC2), Google Cloud (з Compute Engine) і Microsoft Azure, пропонують інстанси, схожі на VPS, хоча і під різними брендами і з різними моделями білінгу.
У той же час традиційні провайдери VPS продовжують процвітати, пропонуючи:
- Root-доступ і повний контроль над сервером
- Простіші моделі ціноутворення
- Регіональна присутність і суверенітет даних
- Функції, орієнтовані на розробників (попередньо встановлені середовища)
У міру того як віртуалізація продовжує розвиватися з такими тенденціями, як прикордонні обчислення, безсерверні обчислення і конфіденційні обчислення, скромний VPS залишається надійною і важливою частиною цифрової екосистеми.
Висновок
Перехід від великих мейнфреймів до повністю ізольованих віртуальних середовищ - це історія безперервних інновацій. Від систем IBM VM/370 до сучасного VPS-хостингу на базі KVM віртуалізація завжди розширювала межі можливостей апаратного забезпечення. VPS-хостинг - відмінний варіант, тому що він ефективний, доступний і гнучкий. Це результат багаторічних удосконалень апаратного та програмного забезпечення.
Віртуалізація продовжуватиме відігравати ключову роль у розробці майбутніх технологій. Інфраструктура Інтернету, як і раніше, формуватиметься на основі трьох основних принципів 1960-х років: спільне використання ресурсів, ізоляція та масштабованість. Ці принципи можуть бути реалізовані за допомогою легких контейнерів, мікро-VM або хмарних сервісів.