Способы доставки приложений
Доставка приложений
Усложнение программных решений, их многообразие и развитие технологий передачи данных привели к формированию проблемы доставки приложения до конечного пользователя. Популяризация информационных технологий, безусловно, началась с концепции персональных компьютеров. Проблемы доставки приложений, как таковой не существовало, поскольку изначально ПК подразумевал только один способ их размещения - локально.
В настоящее время, любой постоянный пользователь ПК может назвать ряд сервисов и решений, используемых им и не являющимися при этом локальными (почта, ICQ, веб - решения, удаленные хранилища данных и т.п.).
В данной лекции мы рассмотрим вопрос доставки приложений до конечного пользователя и технологии виртуализации, как один из способов.
Способы доставки приложений
Множество программных продуктов и решений доставки приложений до конечного пользователя можно разделить, в зависимости от подхода к решению на:
В данной лекции мы рассмотрим особенности каждого из способов, а также наиболее распространенные сценарии их использования.
Терминальный доступ
Данный способ является наиболее "старым". До того, как компьютеры стали персональными, архитектура любого приложения предполагала наличие мэйнфрейма (высокопроизводительный компьютер со значительным объемом оперативной и внешней памяти) и управляемых им устройств -терминалов.
Таким образом, схема терминального доступа выглядит следующим образом: все вычислительные задачи выполняются на мощном удаленном компьютере (терминальном сервере), при этом пользователь взаимодействует с сервером посредством терминала (удаленной консоли).
Преимущества терминального доступа:
- Снижение затрат на содержание рабочих станций в сети. Достигается за счет ряда особенностей: во-первых, в качестве терминалов могут быть использованы устаревшие, по текущим меркам, компьютеры, в случае приобретения специализированных терминалов, стоимость сопровождения их также будет меньше стоимости сопровождения ПК. Во - вторых, установка и развертывание терминалов требует меньшего количества времени.
- Снижение затрат на содержание серверов. Реализация данного преимущества зависит от используемой компанией аппаратно - программной конфигурации. В общем случае, можно отметить, что поскольку фактически данные хранятся и обрабатываются на сервере, соответственно уменьшаются и объемы передаваемых данных, снижая стоимость каналов связи и дисковых подсистем серверов.
- Снижение затрат на программное обеспечение. Достигается за счет упрощенных процесса сопровождения ПО и возможности отслеживать использование лицензионного ПО.
- Более высокий уровень безопасности. При терминальном доступе данные не выходят за пределы сервера.
- Простота масштабирования информационных решений. Обеспечивается за счет параллельного использования нескольких серверов (балансировка нагрузки при работе с данными и приложениями).
В качестве недостатков решений терминального доступа можно выделить следующее:
- Необходимость обеспечения бесперебойной работы терминального сервера.
- Высокие требования к аппаратному обеспечению сервера. Чем больше пользователей, тем выше требования и, соответственно, цена сервера.
- Пиковые нагрузки сервера будут замедлять работу всех терминалов без исключения.
Веб - приложения
Частично, функционирование веб - приложения напоминает терминальный доступ. Также имеется клиент и сервер. Сервером приложения при этом, очевидно, является удаленный веб - сервер, а клиентом - браузер.
Веб - приложение состоит из клиентской и серверной частей.
На стороне клиента реализован пользовательский интерфейс, формируются и передаются серверу запросы, обрабатывается результат.
На стороне сервера осуществляется хранение и обработка информации, формирование веб - страницы и возврат ее клиенту.
Преимущества веб - приложений:
- Приложение не зависит от операционной системы клиента и его программного обеспечения. Обязательно только наличие соответствующего браузера и подключения к глобальной сети. Отсутствует проблема совместимости различных версий программного решения.
- Мобильность. Развитие Интернета, мобильной связи, беспроводных технологий, в совокупности с многообразием соответствующих устройств позволяет, фактически, всегда быть не только "на связи", но и обеспечивают возможность работы при отсутствии фиксированного рабочего места.
- Требования к ресурсам. Большинство вычислений выполняется на стороне сервера, поэтому необходимый минимум аппаратного и программного обеспечений определяется соответствующими требованиями браузера и операционной системы.
- Аппаратная архитектура приложения (иногда и логика) скрыты от пользователя. Кроме того все вопросы администрирования и сопровождения приложения решаются поставщиком.
Недостатки веб - приложений:
- Стоимость, доступность и качество связи. Как ни дико это звучит в настоящее время, в определенных местах и регионах стоимость трафика и "ширина" каналов связи оставляют желать лучшего.
- Возможности браузеров. Ряд специализированных приложений в настоящий момент не могут быть перенесены на веб - основу. В частности, построение сложных 3D моделей.
- Безопасность. В случае, если вы пользуетесь услугами стороннего поставщика веб - приложений, это означает, что ваши персональные данные и т.п. информация хранятся у поставщика, соответственно их сохранность целиком зависит от него.
Виртуализация
В основе технологии виртуализации лежит отделение представления от реализации. Иными словами, пользователь имеет дело с представлением решения, в то время как реальная архитектура:
- скрыта от него
- может иметь совершенно иную, отличную от представления структуру.
Впервые технология виртуализация была применена компанией IBM в 1960х. При этом виртуализация использовалась для логического разделения ресурсов ЭВМ на несколько виртуальных машин (программная система эмулирующая аппаратное обеспечение). В виртуальной машине ни один процесс не может монопольно использовать ресурс, таким образом все системные ресурсы считаются ресурсами совместного использования.
Более научное определение виртуализации - изоляция вычислительных процессов и ресурсов друг от друга.
Появление x86 технологий приостановило развитие виртуализации, т.к. изначально данная архитектура не была предназначена для нее. Однако, последующий рост производительности персональных компьютеров позволил вернуться к "старым" разработкам.
В частности, одной из причин невозможности использования виртуализации на x86 были, с одной стороны, особенности использования аппаратных устройств, таких, как видеоадаптер, дисковые контроллеры и т.д. (они проектировались для монопольного использования одной ОС). Позднее эта проблема была решена при помощи эмуляции устройств.
Использование виртуализации на x86 платформах началось в конце 1990х с виртуализации рабочих станций. Поскольку росло количество используемых клиентских операционных систем, программных продуктов и т.п. возникла необходимость в поддержке нескольких версий программной архитектуры на одном рабочем месте.
Виртуализация серверной инфраструктуры стала применяться несколько позднее и, в свою очередь, была связана с решением задач консолидации вычислительных ресурсов.
Формирование спроса на решения виртуализации для корпоративных систем пришлось на середину 2000х. Таким образом акцент с решений исполнения виртуальных машин сместился на решения управления виртуальной инфраструктурой.
Подводя итог обозначим основные сценарии использования решений виртуализации:
- разработка, отладка и тестирование ПО;
- моделирование реальных ИТ - сред в исследовательских и аналитических целях;
- консолидация серверов для задач повышения производительности оборудования и поддержки унаследованных приложений;
- развертывание прикладного решения в условия реальной ИТ - среды;
- использование разнородных ОС на одном ПК.
Подробнее о технологиях, принципах и особенностях виртуализации будет рассказано в последующих лекциях.
Термины
Терминальный сервер - сервер, предоставляющий клиентам вычислительные ресурсы для решения задач.
Клиент - сервер - ИТ - архитектура, предполагающая разделение заданий между поставщиками услуг (серверами) и конечными потребителями (клиентами).
Веб - приложение - клиент - серверное программное решение, предназначенное для выполнения на веб - серверах.
Виртуализация - представление набора вычислительных ресурсов, в виде логического объединения, обладающего рядом преимуществ по сравнению с фактической конфигурацией.
Мэйнфрейм - высокопроизводительный компьютер, предназначенный для организации хранилищ данных и выполнения значительных вычислительных операций. Иногда, под этим термином понимают компьютер архитектуры IBM System серий 360, 370, 390.
Виртуальная машина - программная (-аппаратная) система, эмулирующая аппаратное обеспечение определенной платформы.
Краткие итоги
Вопрос доставки приложений может быть решен различными путями и виртуализация, хотя и является одним из возможных решений, как концепция создавалась для других задач. Как и в случае с иными разработками постепенно повышающаяся компьютерная грамотность общества и расширение областей применения ИТ внесли свои коррективы.
Представленные в данной лекции способы доставки приложений не являются исчерпывающими, более того, уже сейчас формируется тенденция к созданию объединенных решений, особенно на стыке веб - технологии и виртуализации (Cloud Computing). Подробнее об этом будет рассказано в одной из заключительных лекций.