Про Nutanix, Web-Scale, конвергентних платформ і зміні парадигм побудови IT-інфраструктур

Можливо, ви вже чули досить новий для ринку не_онлайн проектів термін — Web-Scale IT, який на думку Gartner в 2017 році займе не менше 50% ринку корпоративного IT.

В цьому році — це один з основних модних термінів.

Ситуація на ринках корпоративних зараз активно нагадує фразу про підлітковий секс — всі кажуть що мали (= вміють), але реально — справи йдуть невесело.

Буквально кожен вендор розповідає про BigData, конвергентні рішення, перспективи та інше.

Ми в свою чергу сміємо сподіватися, що у нас з цим реально все досить непогано, але тут завжди видніше з боку і ваша думка може не збігатися з нашим.

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

image



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

Компанія заснована в Кремнієвій долині в 2009 році ключовими інженерами Google (розробниками Google Filesystem), Facebook, Amazon та інших глобальних проектів, а з 2012 року розширюється в Європу і підключає інженерів з ключових Європейських команд (наприклад, Badoo).
Названі найбільш швидкозростаючим технологічним стартапом останніх 10 років, вже увійшли в рейтинг Gartner як візіонери (технологічні лідери) індустрії конвергентних рішень.
На думку Forbes, є кращим в світі «хмарним» стартапом для роботи
Так, у нас є інженери в Росії, і буде значно більше. Ростемо.

Власне, у нашому ДНК — найбільші в світі інтернет проекти, з основною ідеєю — працювати завжди і для будь-якого масштабу / обсягу даних.
Базуємося на open-source компонентах, доведених до пуття з допомогою великого напилка — Cassandra для зберігання метаданих файлової системи (з маневром обходу CAP теореми за принципом «розумний в гору не піде» і доопрацюванням у бік CA), Apache Zookeper для зберігання конфігурації кластера, Centos Linux і файлова система EXT4.
Активну використання BigData технологій всередині (по справжньому, а не маркетинг).

Загалом, вміємо.

Ремарка — прохання зрозуміти і не сильно шуміти, якщо терміни здадуться невдало переведеними — на цю тематику словників ще не видавалося, багато поняття вже устоялися (хоча і є однозначними англицизмами). Завжди раді, якщо підкажете більш адекватну термінологію — в кінці кінців, ми плануємо писати багато цікавих статей.

До статті додаються ілюстрації (того як працює Nutanix), і детальний технічний опис буде в наступних статтях (ви ж не хочете читати статтю всю ніч?)

Отже, поїхали! © Гагарін.

image



Web-Scale



Для початку, варто спробувати взагалі визначитися, що розуміється під цим настільки одіозним терміном, причому бажано без маркетингового пустослів'я.

Базові принципи:
  • Гіпер-конвергентність
  • Чисто програмна реалізація (Software Defined)
  • Розподілені і повністю самодостатні системи
  • Лінійне розширення з дуже точної гранулярностью


Додатково:
  • Потужна автоматизація та аналітика з допомогою API
  • Самовилікування після відмов обладнання і датацентрів (катастрофостійкість).

Розкриємо зміст?



Гіпер-конвергентність


image

У спрощеному розумінні — нативне об'єднання двох або більше різних компонент (мережа, віртуалізація і т.д.) в один юніт.
Нативность — ключове слово в даному випадку, бо ми не говоримо просто про упаковці різних компонент в єдиному пакеті, але маємо на увазі повну і початкову інтеграцію.

У випадку з Nutanix, ми говоримо про те, що наша платформа об'єднує в собі комп'ютинг і зберігання даних. Інші компанії можуть наприклад говорити (і це теж буде гіпер-конвергентних) про те, що об'єднують СГД (систему зберігання даних) з мережею, або безліч інших варіантів.

Нативна інтеграція двох або більше компонент у випадку Web-scale дає лінійне (горизонтальне) масштабування без будь-яких лімітів.

Як наслідок, ми отримуємо істотні переваги:
  • Масштабування по одній одиниці рішення (як кубики Лего)
  • Локалізація вводу-виводу (вкрай важливо для масивного прискорення операцій I/O)
  • Усунення традиційних СГД як рудиментарних, з інтеграцією в єдине рішення (немає СГД — немає проблем з нею пов'язаних)
  • Підтримка всіх основних технологій віртуалізації на ринку, включаючи open-source (ESXi, HyperV, KVM).


Чисто програмна реалізація


image

Перенесення всієї логіки (вкрай складного) пропиетарного обладнання (спец-процесори, ASIC / FPGA) в 100% програмну реалізацію.

Як приклад, в Nutanix ми виконуємо будь-які (і часто унікальні, такі як дедупликация RAM кешу, розподілена map/reduce відкладена дедупликация даних на кластері і т.д.) операції програмно.
Багато запитають — це ж має дико гальмувати? Жодним чином.

Сучасні процесори Intel вміють дуже багато, причому дуже швидко.
Як приклад — замість застосування апаратних спец. адаптерів для компресії і дедуплікаціі (як роблять деякі архаїчні вендори) — ми просто використовуємо апаратні інструкції процесора Intel для підрахунку sha1 контрольних сум.

Компресія даних (відкладена і «на льоту»)?
Легко, вільний алгоритм snappy, використовуваний Google.

Резервування даних?

RAID застаріла і мертва технологія (якій багато вендори намагаються зробити потужний фейсліфтінг, з кінськими дозами ботокса), давно не використовується великими онлайн проектами. Почитайте наприклад ось це — чому RAID мертвий для великих даних.

Якщо дуже коротко, то проблема RAID навіть не тільки швидкість його роботи, але час відновлення після відмов апаратних вузлів (дисків, полиць, контролерів). Наприклад, у випадку з Nutanix, після відмови жорсткого диска на 4TB, відновлення цілісності системи (кількості реплік даних) для 32 вузлів в кластері займає всього 28 хвилин.

Скільки часу буде перебудовуватися великий масив (скажімо на сотні терабайт) і RAID 6 — думаємо ви самі в курсі (багато годин, іноді добу).

Враховуючи, що вже зараз готові гелієві диски на 10TB, для традиційних СГД наступають зовсім важкі часи.

image

Насправді ж, «все геніальне — просто». Замість використання складних і повільних RAID систем, дані повинні розбиватися на блоки (так звані extent groups в нашому випадку) і просто «розмито» по кластеру з потрібною кількістю копій, причому в peer to peer режимі (в російськомовному просторі приклад торентів відразу всім зрозумілий).

До речі, звідси випливає новий термін — RAIN (Redundant/Reliable Array of Inexpensive/Independent Nodes) — резервованих / надійний масив недорогих / незалежних нодів.

Яскравим представником даної архітектури як раз і є Nutanix.

image

Звучить складно? Скорочуємо: виносимо всю логіку роботи із заліза в чисто програмну реалізацію на стандартному X86-64 обладнанні.
Рівно так само, як робить Google / Facebook / Amazon та інші.

Які переваги?

  • Швидкий (дуже швидкий) цикл розробки і апдейтів
  • Відв'язування від залежностей до пропиетарному обладнання
  • Використання стандартного («ширвжиток») обладнання для вирішення задач будь-яких масштабів.


Розподілені і повністю самодостатні системи


image

Ідея проста і лежить на поверхні — йдемо від концепції виділених управляючих систем (контролери, центральні вузли метаданих, мозок людини, і т.д.) до концепції рівномірного розподілу однакових ролей між безліччю елементів (кожен вузол — сам собі контролер, немає виділених елементів, що бджолиний рій).

Перефразовуючи — чисто розподілена система.

image

Традиційні виробники завжди виходять з того, що устаткування має бути надійним, що в загальному-то в цілому можливо (але якою ціною?).

Тим часом як для розподілених систем підхід принципово відрізняється — завжди виходять з того, що будь-яке обладнання в результаті відмовить і обробка цій ситуації повинна бути повністю автоматичною, без впливу на життєздатність системи.

Ми говоримо про «самоизлечивающихся» системах, причому лікування має відбуватися максимально швидко.

image

Якщо логіка управління вимагає координації (так звані «master» вузли), то вибір їх повинен бути повністю автоматичним і будь-який учасник кластера може стати таким майстром.

Що це все означає в реаліях?

  • Розподіл ролей і відповідальності всередині системи (кластера)
  • Використання BigData принципів (такі як MapReduce) для розподілу завдань
  • Процес «публічних виборів» для позначення поточного майстра


Лінійне розширення з дуже точної гранулярностью



Послідовне і лінійне (горизонтальне) розширення позначає можливість стартувати з певної кількості ресурсів (у нашому випадку — 3 вузла / нода / сервера) і масштабуватися лінійно для отримання лінійного ж приросту продуктивності. Всі пункти, які ми обговорювали вище, є критичними для отримання такої можливості.

Як приклад, зазвичай ви маєте трьох-рівневу архітектуру (сервера, система зберігання даних, мережа), кожен елемент якої масштабується незалежно. Якщо збільшили число серверів — то СГД та мережа при цьому залишилися старі.

C гіпер-конвергентної платформою типу Nutanix, при додаванні кожного нода, ви отримаєте збільшення:

  • Кількості гіпервізора / компьютинговых нодів
  • Кількості контролерів СГД (3 нода = 3 контролера, 300 нодів = 300 контролерів, і т.д.)
  • Процесорні потужності і ємність СГД
  • Кількість нод які беруть участь у вирішенні завдань кластера


Складно? Упрощяем:

  • Можливість масштабувати сервера та СГД по одному мікро-сайту з відповідним лінійним збільшенням продуктивності, починаючи з 3-х і до нескінченності.


Переваги:

  • Можливість стартувати з мінімального розміру
  • Усунення будь-яких «темно-зелених шийок» і точок відмови (так, SLA 100% реальний)
  • Постійна і гарантована продуктивність при розширенні.




image

У наступних статтях ми дамо більше технічних подробиць і розповімо, для початку, як працює наша NDFS — розподілена файлова система нового покоління, побудована на ext4 + NoSQL.

З додаткових анонсів — наша система управління KVM, яка працює за тими ж принципами, безлімітно масштабується і не має точок відмови.

Ми будемо виступати на Highload 2014, показувати наші рішення «наживо». Приходьте.

Доброго дня!

p.s. так-так, ми обов'язково розповімо що ми вибрали з CAP і як вирішували питання Збіжності-Доступності-Партиционирования
p.p.s. (якщо хтось дочитав до цього місця) для уважних — конкурс, вгадайте, як називається наше рішення для управління KVM і отримаєте приз (в Москві).

Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.