Разница между виртуализацией и частными облачными вычислениями

Меня смущают виртуализация и частные облачные вычисления. Для чего они служат? Их цели? Можно ли их комбинировать, допустим, мы строим виртуализированные серверы на частном облаке?

Насколько я понимаю, облачные вычисления охватывают идею IaaS (инфраструктура как услуга). Другими словами, я мог бы начать с минимального количества серверов на «голом железе» и расширять его по мере необходимости, и эти серверы объединялись бы в одну большую машину за счет разделенных вычислений и хранения данных.

При этом можем ли мы построить виртуализацию в частном облаке? Например, я мог бы купить около 10 серверов (особенно серверы, как в проекте opencompute), склеить их вместе как частное облако, используя openstack, и, возможно, используя Xen или Kvm для создания виртуализированных серверов. Это возможно? Это идеально?

Пожалуйста, укажите мне правильную школу джедаев.


person Haikal Nashuha    schedule 13.02.2013    source источник


Ответы (5)


Облако относится к давнему использованию значка облака на сетевой диаграмме для обозначения внешнего или неопределенного ресурса. Происхождение термина относится к размещению компонентов вашей сетевой инфраструктуры за пределами вашей собственной среды... и, таким образом, в одном из облаков на вашей сетевой диаграмме. Сегодня этот термин расширился, чтобы охватить множество различных идей, и в значительной степени загрязнен конкурирующими определениями.

IaaS / PaaS / SaaS / LBaaS / и т. д. и т. д.

Это все услуги. Очень соответствует идее доступа к компонентам вашей инфраструктуры... как к сервису, существующему в облаке на диаграммах вашей сетевой архитектуры.

Однако каждое из этих решений «aaS» имеет разные методологии достижения своих целей. Некоторые из них не соответствуют классическому термину «облако». Например, некоторые компоненты «aaS» не могут быть внешними по отношению к вашей сетевой архитектуре. Здесь могут вступить в игру такие вещи, как «частное облако».

Частное облако — ужасный термин. Это оксюморон. Поскольку он не является внешним по отношению к вашей среде, он не является облаком на вашей диаграмме. Но из-за того, что люди исказили значение термина «облако» почти до бессвязности, мы застряли с этим термином, по крайней мере, на данный момент. Так что терпите меня, когда я говорю «частное облако». На самом деле это не облако в классическом смысле. Это то, что по-английски мы бы назвали «неправильным названием».

Теперь важно не путать сами облачные решения «aaS» с принципами гибкого проектирования, которым будут следовать крупные поставщики облачных услуг, такие как amazon или Rackspace, при разработке решений «aaS».

Принцип эластичного проектирования будет делать акцент на горизонтально масштабируемой инфраструктуре без совместного использования. Проще всего описать эту идеологию на примере «скот против щенков». В прошлом мы смотрели на ресурсы сервера так же, как на щенков. Мы назвали их. Мы хорошо к ним относились. Мы научили их трюкам. И если они заболевали, мы вылечивали их. Мы сделали все возможное, чтобы эти серверы работали хорошо. Мы выращивали их вертикально. Мы оптимизировали их. Больше оперативной памяти, процессора, ресурсов для разработки... и т. д. В эластичной модели мы относимся к нашим ресурсам как к скоту. У них есть серийные номера. Мы вкладываем минимальные усилия, чтобы научить их чему-либо. Они максимально однородны. Любая возникающая оптимизация происходит при управлении конфигурацией и используется всеми ими как автономные решения. Если один заболеет, стреляем ему в голову и заменяем другим из стада. Преимущество этой парадигмы проектирования заключается в том, что если вы начнете стрелять по своим стойкам серверов из дробовика, скорее всего, вся окружающая среда компенсирует это. Конечно, этот уровень устойчивости легче описать в теории, чем достичь на практике.

Теперь, что касается виртуализации, связанной с «облаком». На самом деле нет НЕОБХОДИМОГО отношения. Облаку не нужно иметь ничего общего с виртуализацией. У вас может быть сервисно-ориентированный ресурс за пределами вашей среды, на который вы полагаетесь и который не использует виртуализацию. Но большинство существующих решений «aaS» поддерживаются технологиями виртуализации. Они совершенно не обязательно должны быть такими, но из-за общей вероятности того, что они будут связаны с виртуализацией, эти два термина для многих целей были объединены в умах непосвященных.

Re OpenStack и частное облако.

Подходит ли вам OpenStack — это очень личное решение. И это зависит от очень многих вещей. Запуск инфраструктуры самостоятельно может быть очень дорогостоящим. Что еще более важно, это может быть очень трудно сделать хорошо. Для малого бизнеса или организации развертывание собственной инфраструктуры IaaS, вероятно, не имеет смысла, если кто-то, кто занимается экономией на масштабе, может удовлетворить ваши потребности. Вот где такие компании, как Amazon, заполняют пробел.

Для некоторых организаций использование решения IaaS в собственной среде может иметь смысл, даже если оно потенциально или активно обслуживается предложениями Amazon или Rackspace. Некоторые люди достаточно велики и используют достаточно ДРУГОЙ инфраструктуры, поэтому размещение их собственных эластичных приложений является финансово приемлемым. Есть и другие причины, кроме чисто практических результатов. Многие крупные организации сталкиваются с ограничениями политики, такими как HIPAA, FISMA или Sarbanes Oxley. Иногда для удовлетворения этих требований политики, а также любых требований их собственной внутренней политики требуется немного доплатить.

Есть и другие причины, чтобы выйти за рамки общих предложений Amazon или Rackspace. Представьте, что вы предоставляете среду автоматической сборки и тестирования, подобную jenkins, и хотите предоставить гетерогенные гипервизоры или физические узлы для автоматического запуска и тестирования программного обеспечения для компиляции. OpenStack, вероятно, справится с этим. И если он не может справиться конкретно с тем, что вы имеете в виду, это открытый исходный код. Вы можете заставить его обрабатывать то, что вам нужно.

Есть миллион причин использовать OpenStack или не использовать его. В конечном счете, это очень личное решение для любого человека или компании. И тот, который требует серьезных исследований. Но есть сценарии, в которых оба являются отличными решениями.

Когда мы создавали nova (вычислительный компонент в стиле OpenStack ec2) в НАСА, мы якобы были сосредоточены на предоставлении ресурсов HPC или линейки бизнес-ресурсов эластичным образом. В конечном итоге Amazon создала собственное предложение HPC. И даже сейчас работает над преодолением препятствий, связанных с соблюдением политики FISMA. Но всегда будут времена, когда ваши потребности в специализации сделают предложения на рынке дженериков менее выгодными. Однако помимо технических причин конкурировать с Amazon есть еще одна важная причина. И это для поддержки ОТКРЫТЫХ стандартов в этой новой технической области.

Развитие технологий очень похоже на органический рост дерева. Все начинается с почки, которая может превратиться в лист. Любая новая технология возникает как маленькая вещь, требующая много ресурсов для роста. Не все эти технологии выживают. Но некоторые делают. А те, которые действительно нуждаются в деньгах и усилиях, делают это в бешеном темпе. Однако по мере роста этих технологий некоторые из них становятся ответвлениями. Некоторые даже становятся стволами. Чтобы иметь ствол, из которого вырастает миллион других технологий, необходимы открытые стандарты, контролируемые ответственным сообществом. Правительство и многие организации, такие как IBM, признают это, и это одна из основных причин столь быстрого роста OpenStack. Именно поэтому BSD, а затем Linux сделали это. Потенциал эластичных методов проектирования для изменения ландшафта технологий является исключительным. И для того, чтобы сегодняшние многообещающие технологии стали ответвлениями, из которых завтра возникнет гораздо больше новых технологий, нам потребуются сильные открытые стандарты, чтобы сделать наши магистральные технологии здоровыми.

person Matt Joyce    schedule 08.03.2013
comment
+1 за пример щенков и крупного рогатого скота - person zarazan; 08.10.2013

Во-первых, облачные вычисления — это очень общая концепция. Это не ограничивается IaaS. PaaS (платформа как услуга) и SaaS (программное обеспечение как услуга) также являются технологиями облачных вычислений. Когда вы говорите об облачных вычислениях, вам лучше указать, какую технологию вы хотите сослаться. Во-вторых, IaaS построен на технологии виртуализации. Никакой виртуализации, никакого IaaS. Услуги PaaS и SaaS могут быть построены непосредственно на «голых железных» машинах. Таким образом, виртуализация не всегда связана с частными облачными вычислениями.

From what I understand, cloud computing embraces the idea of IaaS (infrastructure as a service). In other words, I could start with minimal number of bare metal servers and expand it as requirement needs, and those servers are consolidated into one big machine through divided computing and data storing.

Ваше понимание неверно. Вы можете виртуализировать «голый металлический» сервер во множество виртуальных серверов. Но вы не можете виртуализировать множество «голых» серверов в одну большую машину. Виртуализация не может достичь этого в данный момент. Программное обеспечение IaaS, такое как OpenStack, Eucalyptus, просто используется для управления вашими серверами с нуля. Они могут склеить ваши голые металлические серверы как resource pool, но не как большую виртуальную машину.

person Jeff Li    schedule 13.02.2013
comment
Я до сих пор не могу представить часть облачных вычислений. Хотя я прекрасно понимаю виртуализацию. Допустим, я создаю частное облако, объединяя множество серверов. Итак, как я могу установить облачную ОС? Например, снова я хочу развернуть приложение LAMPP в облаке. Должен ли каждый компьютер иметь свою собственную ОС, и я должен распространять приложение LAMPP на всех компьютерах? Извините, я просто хочу ясно представить ситуацию. - person Haikal Nashuha; 15.02.2013
comment
Прежде всего, вам необходимо установить облачную ОС на «голое железо». Здесь облачная ОС может означать разные программные системы. Например, если вы хотите внедрить технологию IaaS, хорошим выбором может стать OpenStack, Eucalyptus, а CloudFoundry и OpenShift — облачная ОС PaaS. В Интернете есть десятки тысяч документов о том, как их установить. В примере с LAMP ответ по-прежнему зависит от того, какую технологию облачных вычислений вы используете. В облаке IaaS вам необходимо управлять всем программным стеком с уровня ОС. Но это PaaS, вам просто нужно подтолкнуть к нему свои приложения - person Jeff Li; 15.02.2013
comment
Совершенно неверно, что IaaS всегда строится поверх виртуализации. Это вздор. В настоящее время OpenStack поддерживает «голое железо» или контейнеры. И есть другие примеры. - person lzap; 07.02.2014

Частные облачные вычисления, как упоминает Джефф, могут означать любое количество очень произвольных вещей в зависимости от того, кто пытается вам что-то продать. Тем не менее, если мы рассматриваем это как «IaaS с высоко нормализованным API за вашим брандмауэром», то довольно легко указать на различия с виртуализацией.

Большая часть действительно настроена на то, как вы используете ресурсы, доступные через любой из них. В виртуализации основное внимание уделяется разделению аппаратных ресурсов на небольшие части, а затем их выделению и оставлению в работе на неопределенный срок.

Большая разница с облачными вычислениями заключается в том, что все ресурсы обычно считаются эфемерными — раскручивайте их, используйте, удаляйте, когда закончите. Как правило, он также вполне способен поддерживать долговременные ресурсы, но суть в том, что аппаратные ресурсы переназначаются с еще более высокой скоростью изменений, чем легко позволяет виртуализация.

Другое важное отличие заключается в том, что виртуализация по-прежнему обычно рассматривает экземпляры, тома и сети как независимые элементы, подлежащие виртуализации. Облачные вычисления рассматривают их все как довольно унифицированные ресурсы, а инструменты, связанные с облачными вычислениями (например, https://github.com/cloudenvy/cloudenvy, https://github.com/opscode/knife-openstack) использует это, чтобы более эффективно и легко раскручивать и снимать ресурсы.

person heckj    schedule 13.02.2013

Во-первых: облачные вычисления — это не только IaaS, но и PaaS или SaaS…

Но главное, вы должны понимать, что виртуализация — это всего лишь способ построить облако. Если вы спрашиваете о разнице между IaaS и виртуализацией, мой ответ: - IaaS определяет «шаблон виртуальной машины», в котором вы используете различное количество одного шаблона - IaaS способна автоматически перераспределять виртуальные машины - IaaS управляет сетью - IaaS управляет шаблоном виртуальной машины распределение - IaaS может добавить сервер с голым железом или удалить некоторые ... Таким образом, IaaS - это уровень, на котором вам не нужно иметь дело с уровнем виртуализации: это его работа, и вы можете управлять шаблоном виртуальной машины и количеством, которое вы хотите, через API.

Но если вы больше разработчик, я предлагаю вам взглянуть на PaaS, с ним проще иметь дело.

person waxzce    schedule 14.02.2013

Виртуализация — это только часть построения успешной частной облачной среды. Чтобы иметь настоящее частное облако, вы должны быть не только виртуализированы, но и включать мониторинг, управление и автоматизацию.

Вот блог, который я веду, который должен быть вам полезен, если у вас есть другие подобные вопросы: wwww.journeytothecloud.com

person Ben Stephenson    schedule 15.02.2013