420 likes | 579 Views
Cloud Computing. Краткий обзор. Виртуализация. Эталонная модель. Выводы. Краткий обзор. История развития Ключевые технологии Спрос порождает предложение Определение “Cloud Computing”. Виртуализация. Эталонная модель. Выводы.
E N D
Краткий обзор Виртуализация Эталонная модель Выводы
Краткий обзор История развития Ключевые технологии Спрос порождает предложение Определение “Cloud Computing” Виртуализация Эталонная модель Выводы
Эволюция технологии распределенных вычислений, 1950-2010-х годов.
5 ключевых технологий, сыгравших важную роль в реализации Cloud computing: Распределенные системы Виртуализация Web 2.0 Utility computing Сервис-ориентированность
Распределенная система - это набор независимых компьютеров, представляющийся пользователям единой системой. Три основные вехи привели к облачным вычислениям: мэйнфреймы, кластеры и грид.
Виртуализация– это процесс запуска специализированного программного обеспечения под операционной системой, называемой хостом, дающего возможность создавать виртуальные машины, обладающие заданными характеристиками реальных компьютеров, и запускать на них независимо друг от друга различные гостевые операционные системы.
Web 2.0 - этот термин отражает новый способ разработки приложенийи предоставления их через Интернет. Web2.0 делает веб-страницы интерактивными и гибкими, обеспечивая увеличение пользовательского опыта, путем получения веб-доступа ко всем функциям, которые обычно присущи приложениям для настольных ПК. Это возможно благодаря внедрению стандартов и технологий, таких как XML, асинхронный JavaScript и XML (AJAX), WebServices и другие. Эти технологии позволяют создавать приложения с возможностью вклада пользователей, которые теперь стали поставщиками контента.
Сервис-ориентированная архитектура (SOA) - модульный подход к разработке программного обеспечения, основанный на использовании распределённых, слабо связанных заменяемых компонентов, оснащённых стандартизированными интерфейсами для взаимодействия по стандартизированным протоколам.
SOA представляет собой стиль создания архитектуры ИТ, направленный на превращение программы в ряд связанных сервисов - стандартных бизнес-задач, которые можно при необходимости вызывать через сеть. Это может быть Интернет, локальная сеть, объединяющая различные технологии и сочетающая сервисы из Нью-Йорка, Лондона и Гонконга так, как если бы они были установлены на локальной машине. Для выполнения определенной бизнес-задачи можно объединять множество таких сервисов.
SOA вводит 2 важных концепций, которые также имеют основополагающее значение для облачных вычислений: качество обслуживания (QoS) и Software-as-a-Service (SaaS). QoSопределяет набор функциональных и нефункциональных атрибутов, которые могут использоваться для оценки поведения службы с разных точек зрения. Это могут быть метрики производительности, такие как время отклика, или атрибуты безопасности, целостность, надежность, масштабируемость и доступность.
Идея Utility computingсостоит в предоставлении компьютерных ресурсов для обработки и хранения данных в качестве сервиса, оплачиваемого в зависимости от объема потребляемых ресурсов. Здесь можно провести аналогию с коммунальными платежами (оплатой газа, электричества или воды).
Cloud computing – это программно-аппаратное обеспечение, доступное пользователю через Интернет или локальную сеть в виде сервиса, позволяющего использовать удобный интерфейс для удаленного доступа к выделенным ресурсам (вычислительным ресурсам, программам и данным).
Краткий обзор Определение виртуализации Преимущества и недостатки Основные разновидности Виртуализация Эталонная модель Выводы
Под термином «виртуализация» обычно понимается абстракция вычислительных ресурсов и предоставление пользователю системы, которая «инкапсулирует» собственную реализацию.
Преимущества виртуализации: • Эффективное использование вычислительных ресурсов. • Сокращение расходов на инфраструктуру. • Снижение затрат на программное обеспечение. • Повышение гибкости и скорости реагирования системы. • Несовместимые приложения могут работать на одном компьютере. • Повышение доступности приложений и обеспечение. непрерывности работы предприятия. • Возможности легкой архивации. • Повышение управляемости инфраструктуры.
Недостатки использования виртуальных машин: • Обеспечение единовременной работы нескольких виртуальных машин потребует достаточного количества аппаратных мощностей. • В зависимости от используемого решения, операционная система виртуальной машины может работать медленнее, чем на "чистом" аналогичном аппаратном обеспечении.
Рассмотрим основные разновидности виртуализации, такие как: • виртуализация серверов (полная виртуализация и паравиртуализация). • виртуализация на уровне операционных систем. • виртуализация приложений. • виртуализация представлений.
Виртуализация серверов подразумевает запуск на одном физическом сервере нескольких виртуальных серверов. Виртуальные машины или сервера представляют собой приложения, запущенные на хостовой операционной системе, которые эмулируют физические устройства сервера.
В данном типе виртуализации сформировалось 2 направления: • Поддержка неоднородных операционных сред. • (Технически проблема решается путем одновременной работы на одном компьютере нескольких виртуальных машин, каждая из которых включает экземпляр операционной системы. Но реализация этого режима выполнялась с помощью двух принципиально разных подходов: полной виртуализации и паравиртуализации) • Поддержка однородных вычислительных сред. • (Подразумевает изоляцию служб в рамках одного экземпляра ядра операционной системы (виртуализация на уровне ОС), что наиболее характерно для хостинга приложений провайдерами услуг. Конечно, тут можно использовать и вариант виртуальных машин, но гораздо эффективнее создание изолированных контейнеров на базе одного ядра одной ОС)
Полная виртуализация (Full, Native Virtualization). Используются не модифицированные экземпляры гостевых операционных систем, а для поддержки работы этих ОС служит общий слой эмуляции их исполнения поверх хостовой ОС, в роли которой выступает обычная операционная система.
Паравиртуализация (paravirtualization). Модификация ядра гостевой ОС выполняется таким образом, что в нее включается новый набор API, через который она может напрямую работать с аппаратурой, не конфликтуя с другими виртуальными машинами. При этом нет необходимости задействовать полноценную ОС в качестве хостовогоПО.
Виртуализация на уровне ядра ОС (operatingsystem-levelvirtualization). Этот вариант подразумевает использование одного ядра хостовой ОС для создания независимых параллельно работающих операционных сред. Для гостевого ПО создается только собственное сетевое и аппаратное окружение (Virtuozzo, OpenVZи SolarisContainers).
Виртуализация приложений подразумевает применение модели сильной изоляции прикладных программ с управляемым взаимодействием с ОС, при которой виртуализируется каждый экземпляр приложений, все его основные компоненты: файлы (включая системные), реестр, шрифты, INI-файлы, COM-объекты, службы. Приложение исполняется без процедуры инсталляции в традиционном ее понимании и может запускаться прямо с внешних носителей (например, с флэш-карт или из сетевых папок).
Виртуализация представлений (рабочих мест). Виртуализация представлений подразумевает эмуляцию интерфейса пользователя. Т.е. пользователь видит приложение и работает с ним на своём терминале, хотя на самом деле приложение выполняется на удалённом сервере, а пользователю передаётся лишь картинка удалённого приложения. В зависимости от режима работы пользователь может видеть удалённый рабочий стол и запущенное на нём приложение, либо только само окно приложения.
Краткий обзор Эталонная модель облачных вычислений Модели обслуживания Модели развёртывания Основная часть Эталонная модель Выводы
Инфраструктура-как-услуга (IaaS) решения являются самыми популярными. Они предоставляют настраиваемую инфраструктуру по требованию. Доступные опции в рамках IaaS, варьируются от одиночных серверов до всей инфраструктуры, в том числе сетевых устройств, балансировки нагрузки, баз данных и веб-серверов.
Платформа-как-услуга (PaaS) решения обеспечивают разработку и платформы развертывания для запуска приложений в облаке.
SaaS (softwareas a service — программное обеспечение как услуга) модель использования ПО, при которой поставщик разрабатывает веб-приложение и самостоятельно управляет им, предоставляя доступ к ПО через Интернет. • В модели SaaS: • приложение приспособлено для удаленного использования; • одним приложением пользуется несколько клиентов (мильтитенантность); • оплата взимается либо в виде ежемесячной абонентской платы, либо на основе объёма операций; • техническая поддержка приложения включена в оплату; • модернизация и обновление приложения происходит оперативно и прозрачно для клиентов.
Мультитенантность— это возможность изолированнообслуживать пользователей из разных организацией (т.е. независимых подписчиков SaaS) в рамках одного сервиса (одной инсталляции или развертывания). Основным здесь является соблюдение изолированности подписчиков друг от друга.
Структура для развертывания нового SaaS-приложения в облаке
Краткий обзор Преимущества Cloud Недостатки Cloud Пример Основная часть Эталонная модель Выводы
Преимущества: Доступность и отказоустойчивость Всем пользователям, из любой точки где есть Интернет, с любого компьютера, где есть браузер. Экономичность и эффективность Плати столько, сколько используешь. Простота Не требуется покупка и настройка программ и оборудования, их обновление. Гибкость и масштабируемость Неограниченность вычислительных ресурсов (память, процессор, диски).
Недостатки: Постоянное соединение с сетью Если нет доступа в сеть - нет работы, программ, документов. Безопасность Не все данные можно доверить стороннему провайдеру в интернете. Зависимость от "облачного" провайдера Всегда остаётся риск, что провайдер однажды не сделает резервную копию данных.