- PVSM.RU - https://www.pvsm.ru -
Возможно, вы уже слышали достаточно новый для рынка не_онлайн проектов термин — Web-Scale IT [1], который по мнению Gartner в 2017 году займет не менее 50% рынка корпоративного IT.
В этом году — это один из основных модных терминов.
Ситуация на корпоративных рынках сейчас активно напоминает фразу про подростковый секс — все говорят что имели (= умеют), но реально — дела обстоят невесело.
Буквально каждый вендор рассказывает про BigData, конвергентные решения, перспективы и прочее.
Мы в свою очередь смеем надеяться, что у нас с этим реально все весьма неплохо, но тут всегда виднее со стороны и ваше мнение может не совпадать с нашим.
Все же попробуем рассказать о том, как мы пытаемся изменить рынок, который в ближайшее время будет составлять десятки миллиардов долларов ежегодно и почему мы считаем что время традиционных решений для хранения и обработки данных подходит к своему закату.
Предпосылки оной надежде — наша история, про которую мы больше в блоге вспоминать не будем, но позволит избежать ненужных дискуссий про «очередных пионеров велосипедо-строителей».
Компания основана в Кремниевой долине в 2009 году ключевыми инженерами Google (разработчиками Google Filesystem), Facebook, Amazon и других глобальных проектов, а с 2012 года расширяется в Европу и подключает инженеров из ключевых Европейских команд (например, Badoo).
Названы самым быстрорастущим технологическим стартапом последних 10 лет, уже вошли в рейтинг Gartner [2] как визионеры (технологические лидеры) индустрии конвергентных решений.
По мнению Forbes, являемся лучшим в мире «облачным» стартапом для работы [3]
Да, у нас есть инженеры в России, и будет значительно больше. Растем.
Собственно, в нашем ДНК — крупнейшие в мире интернет проекты, с основной идеей — работать всегда и для любого масштаба / объема данных.
Базируемся на open-source компонентах, доведенных до ума с помощью большого напильника — Cassandra [4] для хранения метаданных файловой системы (с маневром обхода CAP теоремы [5] по принципу «умный в гору не пойдет» и доработкой в строну CA), Apache Zookeper [6] для хранения конфигурации кластера, Centos Linux и файловая система EXT4.
Активное использование BigData [7] технологий внутри (по настоящему, а не маркетинг).
В общем, умеем.
Ремарка — просьба понять и не сильно шуметь, если термины покажутся неудачно переведенными — на эту тематику словарей еще не издавалось, многие понятия уже устоялись (хотя и являются однозначными англицизмами). Всегда рады, если подскажете более адекватную терминологию — в конце концов, мы планируем писать много интересных статей.
К статье приложены иллюстрации (того как работает Nutanix), и детальное техническое описание будет в последующих статьях (вы же не хотите читать статью всю ночь?)
Итак, поехали! (с) Гагарин.
….
Для начала, стоит попробовать вообще определиться, что подразумевается под сим столь одиозным термином, причем желательно без маркетингового пустословия.
В упрощенном смысле — нативное объединение двух или более различных компонент (сеть, виртуализация и т.д.) в один юнит.
Нативность — ключевое слово в данном случае, ибо мы не говорим просто об упаковке различных компонент в едином пакете, но имеем ввиду полную и изначальную интеграцию.
В случае с Nutanix, мы говорим о том, что наша платформа объединяет в себе компьютинг и хранение данных. Другие компании могут например говорить (и это тоже будет гипер-конвергентным) о том, что объединяют CХД (систему хранения данных) с сетью, или множество других вариантов.
Нативная интеграция двух или более компонент в случае Web-scale дает линейное (горизонтальное) масштабирование без каких-либо лимитов.
Как следствие, мы получаем существенные преимущества:
Перенос всей логики из (крайне сложного) пропиетарного оборудования (спец-процессоры, ASIC / FPGA) в 100% программную реализацию.
Как пример, в Nutanix мы выполняем любые (и зачастую уникальные — такие как дедупликация RAM кэша, распределенная map/reduce отложенная дедупликация данных на кластере и т.д.) операции программно.
Многие спросят — это же должно дико “тормозить”? Никоим образом.
Современные процессоры Intel умеют очень многое, причем очень быстро.
Как пример — вместо применения аппаратных спец. адаптеров для компрессии и дедупликации (как делают некоторые архаичные вендоры) — мы просто используем аппаратные инструкции процессора Intel для подсчета sha1 [8] контрольных сумм.
Компрессия данных (отложенная и “на лету”)?
Легко, свободный алгоритм snappy [9], используемый Google.
Резервирование данных?
RAID устаревшая и мертвая технология (которой многие вендоры пытаются сделать мощный фейслифтинг, с лошадиными дозами ботокса), давно не используется крупными онлайн проектами. Почитайте например вот это — почему RAID мертв для больших данных [10].
Если очень коротко, то проблема RAID даже не только скорость его работы, но время восстановления после отказов аппаратных узлов (дисков, полок, контроллеров). Например, в cлучае с Nutanix, после отказа жесткого диска на 4TB, восстановление целостности системы (количества реплик данных) для 32 узлов в кластере под тяжелой нагрузкой, занимает всего 28 минут. [11]
Сколько времени будет перестраиваться большой массив (скажем на сотни терабайт) и RAID 6 — думаем, вы сами в курсе (многие часы, иногда сутки).
Учитывая, что уже сейчас готовы гелиевые диски на 10TB [12], для традиционных СХД наступают совсем тяжелые времена.
На самом же деле, «все гениальное — просто». Вместо использования сложных и медленных RAID систем, данные должны разбиваться на блоки (так называемые extent groups в нашем случае) и просто “размазываться” по кластеру с нужным количеством копий, причем в peer to peer режиме (в русскоговорящем пространстве пример торрентов сразу всем понятен).
Кстати, отсюда вытекает новый для многих (но не для рынка) термин — RAIN (Redundant/Reliable Array of Inexpensive/Independent Nodes) — резервируемый / надежный массив из недорогих / независимых нодов.
Ярким представителем данной архитектуры как раз и является Nutanix.
Звучит сложно? Сокращаем: выносим всю логику работы из железа в чисто программную реализацию на стандартном X86-64 оборудовании.
Ровно так-же как делает Google / Facebook / Amazon и прочие.
Какие преимущества?
Идея проста и лежит на поверхности — уходим от концепции выделенных управляющих систем (контроллеры, центральные узлы метаданных,
Перефразируя — чисто распределенная система.
Традиционные производители всегда исходят из того, что оборудование должно быть надежным, что в общем-то в целом возможно (но какой ценой?).
Между тем как для распределенных систем подход принципиально отличается — всегда исходят из того что любое оборудование в итоге откажет и обработка этой ситуации должна быть полностью автоматической, без влияния на жизнеспособность системы.
Мы говорим о «самоизлечивающихся» системах, причем излечение должно происходить максимально быстро.
Если логика управления требует координации (так называемые «master» узлы), то выбор оных должен быть полностью автоматическим и любой участник кластера может стать таким мастером.
Что это все означает в реалиях?
Последовательное и линейное (горизонтальное) расширение обозначает возможность стартовать с определенного количества ресурсов (в нашем случае — 3 узла / нода / сервера) и масштабироваться линейно для получения линейного-же прироста производительности. Все пункты, которые мы обсуждали выше, являются критичными для получения такой возможности.
Как пример, обычно вы имеете трех-уровневую архитектуру (сервера, система хранения данных, сеть), каждый элемент которой масштабируется независимо. Если увеличили число серверов — то СХД и сеть при этом остались старые.
C гипер-конвергентной платформой типа Nutanix, при добавлении каждого нода, вы получите увеличение:
Сложно? Упрощяем:
Преимущества:
…
В следующих статьях мы дадим больше технических подробностей и расскажем, для начала, как работает наша NDFS — распределенная файловая система нового поколения, построенная на ext4 + NoSQL.
Из дополнительных анонсов — наша система управления KVM [14], которая работает по тем-же принципам, безлимитно масштабируема и не имеет точек отказа.
Мы будем выступать на Highload 2014 [15], показывать наши решения «вживую». Приходите.
Хорошего дня!
p.s. да-да, мы обязательно расскажем что мы выбрали из CAP и как решали вопрос Сходимости-Доступности-Партиционирования
p.p.s. (если кто-то дочитал до этого места) для внимательных — конкурс, угадайте как называется наше решение для управления KVM и получите приз (в Москве).
Автор: shapa
Источник [16]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/virtualizatsiya/72106
Ссылки в тексте:
[1] Web-Scale IT: http://www.gartner.com/newsroom/id/2675916
[2] рейтинг Gartner: http://finance.yahoo.com/news/gartner-positions-nutanix-visionary-inaugural-180400505.html
[3] лучшим в мире «облачным» стартапом для работы: http://www.forbes.com/sites/louiscolumbus/2014/09/26/the-best-cloud-based-enterprise-software-startups-to-work-for-in-2014/
[4] Cassandra: http://cassandra.apache.org
[5] CAP теоремы: http://ru.wikipedia.org/wiki/Теорема_CAP
[6] Apache Zookeper: http://zookeeper.apache.org
[7] использование BigData: http://go.nutanix.com/rs/nutanix/images/nutanix-mapreduce-capacity-summary.pdf
[8] инструкции процессора Intel для подсчета sha1: http://en.wikipedia.org/wiki/Intel_SHA_extensions
[9] snappy: https://code.google.com/p/snappy/
[10] почему RAID мертв для больших данных: http://www.storagenewsletter.com/rubriques/market-reportsresearch/why-raid-dead-for-big-storage-cleversafe/
[11] 32 узлов в кластере под тяжелой нагрузкой, занимает всего 28 минут.: http://www.nutanix.com/blog/2014/03/03/nutanix-disk-self-healing-laser-surgery-vs-the-scalpel/
[12] гелиевые диски на 10TB: http://www.computerworld.com/article/2604311/wd-leapfrogs-seagate-with-world-s-highest-capacity-10tb-helium-drive-new-flash-drives.html
[13] мозг: http://www.braintools.ru
[14] KVM: http://www.linux-kvm.org/page/Main_Page
[15] Highload 2014: http://www.highload.ru
[16] Источник: http://habrahabr.ru/post/240859/
Нажмите здесь для печати.