Файл: Проектирование архитектуры информационной системы. Эволюция архитектур ис.docx

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 27.04.2024

Просмотров: 17

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.


В первые дни переход на серверный компьютер большего размера (обычно мэйнфрейм) требовал значительных финансовых затрат.

Сегодня серверная архитектура остается жизнеспособным выбором архитектуры.

Нулевой клиент, или ультратонкий клиент, - это серверная вычислительная модель, которая сегодня часто используется в инфраструктуре виртуальных рабочих столов (VDI). Типичное устройство нулевого клиента представляет собой небольшую коробку, которая соединяет клавиатуру, мышь, монитор и подключение Ethernet/FastEthernet к удаленному серверу. На сервере размещено все: операционная система клиента и все программные приложения. К серверу можно получить доступ по беспроводной сети или с помощью кабеля.

На основе такой архитектуры реализованы, например, информационный киоск электронной очереди, информационное табло (инфомат).



Рисунок 6 – Инфомат

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

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

Клиент-ориентированная архитектура

В клиент-ориентированных архитектурах клиенты представляют собой микрокомпьютеры в локальной сети, а сервер - серверный компьютер в той же сети. Прикладное программное обеспечение на клиентских компьютерах отвечает за логику представления, логику приложения и логику доступа к данным; сервер просто обеспечивает хранение данных.



Рисунок 7 – Клиент-ориентированная архитектура

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


Достижения в области архитектурных конфигураций

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

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

Одно из современных инструментальных средств для виртуализации – Docker контейнеры.

Виртуализация хранилища предполагает объединение нескольких сетевых устройств хранения данных в то, что выглядит как единое хранилище. Сеть хранения данных (SAN) использует виртуализацию хранилища для создания высокоскоростной подсети общих устройств хранения данных.

В этой среде такие задачи, как резервное копирование, архивирование и восстановление, выполняются проще и быстрее.


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

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

Облачные вычисления могут быть реализованы тремя способами: частное облако, публичное облако и гибридные облака. В общедоступных облаках услуги предоставляются «как услуга» через Интернет практически без контроля над базовой технологической инфраструктурой. Частные облака предлагают действия и функции “как услуга”, но развертываются через корпоративную сеть или размещенный центр обработки данных. Гибридные облака сочетают в себе возможности как публичных, так и частных облаков. В этом сценарии действия и задачи распределяются в частные или общедоступные облака по мере необходимости.

Сторонники облачных вычислений указывают на ряд преимуществ модели облачных вычислений. Во-первых, при использовании облака выделяемые ресурсы могут быть увеличены или уменьшены в зависимости от спроса. Эта способность, называемая эластичностью, делает облако масштабируемым — облако может увеличиваться в периоды пикового спроса и уменьшаться в периоды меньшего спроса. Приложения в облаке могут расширяться по мере добавления пользователей и изменения требований приложения. Во-вторых, облачные клиенты могут получать облачные ресурсы простым способом. С поставщиком облачных услуг заключаются соглашения об определенном объеме вычислений, хранилищ, программного обеспечения, процессов или других ресурсов. После использования этих ресурсов они могут быть освобождены, если больше не требуются. В-третьих, облачные сервисы обычно имеют стандартизированные API (интерфейсы прикладных программ). Это означает, что службы стандартизировали способ взаимодействия программ или источников данных друг с другом. Эта возможность позволяет клиенту легче создавать связи между облачными сервисами. Наконец, модель облачных вычислений позволяет клиентам выставлять счета за ресурсы по мере их использования. Использование облака измеряется, и клиенты платят только за используемые ресурсы — так же, как вы используете электричество в своей квартире. Эта функция делает облачные вычисления очень привлекательными с финансовой точки зрения.


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

Однако для заказчиков облачных вычислений смысл заключается в передаче ИТ-технологий, приложений и навыков на аутсорсинг с оплатой за использование. Концепция облачных вычислений привлекла внимание организаций всех размеров.

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

Сравнение архитектур

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

Каждая из только что рассмотренных архитектур имеет свои сильные и слабые стороны.

Архитектуре клиент-сервер отдается предпочтение из-за стоимости инфраструктуры (аппаратного обеспечения, программного обеспечения и сетей, которые будут поддерживать прикладную систему).

Архитектура клиент-сервер обладает высокой масштабируемостью, поскольку серверы могут быть добавлены в инфраструктуру (или удалены из нее) при изменении потребностей обработки. Инструменты разработки графического интерфейса, используемые для создания приложений для клиент–серверных архитектур, могут быть интуитивно понятными и простыми в использовании. Разработка приложений для этих архитектур может быть быстрой и безболезненной. Однако имейте в виду, что архитектуры клиент–сервер действительно предполагают дополнительную сложность нескольких уровней аппаратного обеспечения (например, серверов баз данных, веб-серверов, клиентских рабочих станций), которые должны эффективно взаимодействовать друг с другом. Проектные группы часто недооценивают трудности, связанные с созданием безопасных и эффективных клиент–серверных приложений.


Создание архитектурного проекта

Создание архитектурного проекта начинается с нефункциональных требований. Первым шагом является уточнение нефункциональных требований до более подробных требований, которые затем используются для выбора используемой архитектуры (серверной, клиентской или клиент-серверной) и программных компонентов, которые будут размещены на каждом устройстве. В архитектуре клиент–сервер также необходимо решить, следует ли использовать двухуровневую, трехуровневую или n-уровневую архитектуру. Затем нефункциональные требования и дизайн архитектуры используются для разработки спецификации аппаратного и программного обеспечения.

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

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

Эксплуатационные требования

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

Требования к технической среде Требования к технической среде определяют тип аппаратного и программного обеспечения, на котором будет работать система. Эти требования обычно касаются программного обеспечения операционной системы (например, Windows, Linux), программного обеспечения системы баз данных (например, Oracle) и другого системного программного обеспечения (например, Internet Explorer).

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

Требования к системной интеграции Требования к системной интеграции - это требования, которые требуют, чтобы система работала с другими информационными системами, как внутри компании, так и за ее пределами. Обычно они определяют интерфейсы, через которые будет осуществляться обмен данными с другими системами.