Виртуализация

advertisement
Краткий обзор
Виртуализация
Эталонная модель
Выводы
Краткий обзор
История развития
Виртуализация
Ключевые технологии
Эталонная
модель
Спрос порождает предложение
Выводы
Определение “Cloud Computing”
Эволюция технологии распределенных вычислений, 1950-2010-х годов.
5 ключевых технологий, сыгравших важную роль в реализации
Cloud computing:
Распределенные
системы
Web 2.0
Виртуализация
Utility
computing
Сервисориентированность
Распределенная система - это набор независимых
компьютеров, представляющийся пользователям единой
системой.
Три основные вехи привели к облачным вычислениям:
мэйнфреймы, кластеры и грид.
Распределенная система cloud computing
Виртуализация
–
это
процесс
запуска
специализированного программного обеспечения под
операционной системой, называемой хостом, дающего
возможность создавать виртуальные машины, обладающие
заданными характеристиками реальных компьютеров, и
запускать на них независимо друг от друга различные
гостевые операционные системы.
Web 2.0 - этот термин отражает новый способ разработки
приложений и предоставления их через Интернет. Web 2.0
делает веб-страницы интерактивными и гибкими,
обеспечивая увеличение пользовательского опыта, путем
получения веб-доступа ко всем функциям, которые
обычно присущи приложениям для настольных ПК. Это
возможно благодаря внедрению стандартов и технологий,
таких как XML, асинхронный JavaScript и XML (AJAX),
Web Services и другие. Эти технологии позволяют
создавать
приложения
с
возможностью
вклада
пользователей, которые теперь стали поставщиками
контента.
Сервис-ориентированная архитектура (SOA) - модульный
подход
к
разработке
программного
обеспечения,
основанный на использовании распределённых, слабо
связанных
заменяемых
компонентов,
оснащённых
стандартизированными интерфейсами для взаимодействия
по стандартизированным протоколам.
SOA представляет собой стиль создания архитектуры ИТ,
направленный на превращение программы в ряд
связанных сервисов - стандартных бизнес-задач, которые
можно при необходимости вызывать через сеть. Это
может быть Интернет, локальная сеть, объединяющая
различные технологии и сочетающая сервисы из НьюЙорка, Лондона и Гонконга так, как если бы они были
установлены на локальной машине. Для выполнения
определенной
бизнес-задачи
можно
объединять
множество таких сервисов.
SOA вводит 2 важных концепций, которые также имеют
основополагающее значение для облачных вычислений:
качество обслуживания (QoS) и Software-as-a-Service (SaaS).
QoS
определяет
набор
функциональных
и
нефункциональных
атрибутов,
которые
могут
использоваться для оценки поведения службы с разных
точек
зрения.
Это
могут
быть
метрики
производительности, такие как время отклика, или
атрибуты
безопасности,
целостность,
надежность,
масштабируемость и доступность.
Идея Utility computing состоит в предоставлении
компьютерных ресурсов для обработки и хранения
данных в качестве сервиса, оплачиваемого в зависимости
от объема потребляемых ресурсов. Здесь можно провести
аналогию с коммунальными платежами (оплатой газа,
электричества или воды).
Cloud computing – это программно-аппаратное обеспечение,
доступное пользователю через Интернет или локальную сеть в
виде сервиса, позволяющего использовать удобный интерфейс
для удаленного доступа к выделенным ресурсам (вычислительным
ресурсам, программам и данным).
Краткий обзор
Определение виртуализации
Виртуализация
Преимущества и недостатки
Эталонная
модель
Основные разновидности
Выводы
Под термином «виртуализация» обычно понимается абстракция
вычислительных ресурсов и предоставление пользователю системы,
которая «инкапсулирует» собственную реализацию.
Преимущества виртуализации:
Эффективное использование вычислительных ресурсов.
Сокращение расходов на инфраструктуру.
Снижение затрат на программное обеспечение.
Повышение гибкости и скорости реагирования системы.
Несовместимые приложения могут работать на одном
компьютере.
o Повышение доступности приложений и обеспечение.
непрерывности работы предприятия.
o Возможности легкой архивации.
o Повышение управляемости инфраструктуры.
o
o
o
o
o
Недостатки использования виртуальных машин:
o Обеспечение единовременной работы нескольких виртуальных
машин потребует достаточного количества аппаратных мощностей.
o В зависимости от используемого решения, операционная система
виртуальной машины может работать медленнее, чем на "чистом"
аналогичном аппаратном обеспечении.
Рассмотрим основные разновидности виртуализации, такие как:
o виртуализация серверов (полная виртуализация и
паравиртуализация).
o виртуализация на уровне операционных систем.
o виртуализация приложений.
o виртуализация представлений.
Виртуализация серверов подразумевает запуск на одном физическом
сервере нескольких виртуальных серверов. Виртуальные машины или
сервера представляют собой приложения, запущенные на хостовой
операционной системе, которые эмулируют физические устройства
сервера.
В данном типе виртуализации сформировалось 2 направления:
o Поддержка неоднородных операционных сред.
(Технически проблема решается путем одновременной работы на одном компьютере нескольких
виртуальных машин, каждая из которых включает экземпляр операционной системы. Но реализация
этого режима выполнялась с помощью двух принципиально разных подходов: полной виртуализации
и паравиртуализации)
o Поддержка однородных вычислительных сред.
(Подразумевает изоляцию служб в рамках одного экземпляра ядра операционной системы
(виртуализация на уровне ОС), что наиболее характерно для хостинга приложений провайдерами
услуг. Конечно, тут можно использовать и вариант виртуальных машин, но гораздо эффективнее
создание изолированных контейнеров на базе одного ядра одной ОС)
Полная виртуализация (Full, Native Virtualization). Используются не
модифицированные экземпляры гостевых операционных систем, а
для поддержки работы этих ОС служит общий слой эмуляции их
исполнения поверх хостовой ОС, в роли которой выступает обычная
операционная система.
Паравиртуализация (paravirtualization). Модификация ядра гостевой ОС
выполняется таким образом, что в нее включается новый набор API, через который
она может напрямую работать с аппаратурой, не конфликтуя с другими
виртуальными машинами. При этом нет необходимости задействовать
полноценную ОС в качестве хостового ПО.
Виртуализация на уровне ядра ОС (operating system-level virtualization).
Этот вариант подразумевает использование одного ядра хостовой ОС
для создания независимых параллельно работающих операционных
сред. Для гостевого ПО создается только собственное сетевое и
аппаратное окружение (Virtuozzo, OpenVZ и Solaris Containers).
Виртуализация приложений подразумевает применение модели
сильной изоляции прикладных программ с управляемым
взаимодействием с ОС, при которой виртуализируется каждый экземпляр
приложений, все его основные компоненты: файлы (включая
системные), реестр, шрифты, INI-файлы, COM-объекты, службы.
Приложение исполняется без процедуры инсталляции в традиционном
ее понимании и может запускаться прямо с внешних носителей
(например, с флэш-карт или из сетевых папок).
Виртуализация представлений (рабочих мест). Виртуализация
представлений подразумевает эмуляцию интерфейса пользователя. Т.е.
пользователь видит приложение и работает с ним на своём терминале,
хотя на самом деле приложение выполняется на удалённом сервере, а
пользователю передаётся лишь картинка удалённого приложения. В
зависимости от режима работы пользователь может видеть удалённый
рабочий стол и запущенное на нём приложение, либо только само окно
приложения.
Краткий обзор
Эталонная модель облачных вычислений
Основная часть
Модели обслуживания
Эталонная модель
Модели развёртывания
Выводы
Эталонная модель Cloud computing
Инфраструктура-как-услуга (IaaS) решения являются самыми популярными.
Они предоставляют настраиваемую инфраструктуру по требованию. Доступные
опции в рамках IaaS, варьируются от одиночных серверов до всей
инфраструктуры, в том числе сетевых устройств, балансировки нагрузки, баз
данных и веб-серверов.
Платформа-как-услуга (PaaS) решения обеспечивают разработку и
платформы развертывания для запуска приложений в облаке.
SaaS (software as a service — программное обеспечение как услуга)
модель использования ПО, при которой поставщик разрабатывает
веб-приложение и самостоятельно управляет им, предоставляя доступ
к ПО через Интернет.
В модели SaaS:
o приложение приспособлено для удаленного использования;
o одним приложением пользуется несколько клиентов
(мильтитенантность);
o оплата взимается либо в виде ежемесячной абонентской платы,
либо на основе объёма операций;
o техническая поддержка приложения включена в оплату;
o модернизация и обновление приложения происходит
оперативно и прозрачно для клиентов.
Мультитенантность — это возможность изолированно обслуживать пользователей из
разных организацией (т.е. независимых подписчиков SaaS) в рамках одного сервиса
(одной инсталляции или развертывания). Основным здесь является соблюдение
изолированности подписчиков друг от друга.
Структура для развертывания нового SaaS-приложения в облаке
Public, Private, Hybrid
Краткий обзор
Преимущества Cloud
Основная часть
Недостатки Cloud
Эталонная
модель
Пример
Выводы
Преимущества:
Доступность и отказоустойчивость
Всем пользователям, из любой точки где есть Интернет, с любого компьютера, где есть браузер.
Экономичность и эффективность
Плати столько, сколько используешь.
Простота
Не требуется покупка и настройка программ и оборудования, их обновление.
Гибкость и масштабируемость
Неограниченность вычислительных ресурсов (память, процессор, диски).
Недостатки:
Постоянное соединение с сетью
Если нет доступа в сеть - нет работы, программ, документов.
Безопасность
Не все данные можно доверить стороннему провайдеру в интернете.
Зависимость от "облачного" провайдера
Всегда остаётся риск, что провайдер однажды не сделает резервную копию данных.
ПРИМЕР
Download