Даже для небольшой вычислительной системы, состоящей из одного «персонального» компьютера, установленной на нем ОС и нескольких прикладных программ, полное архитектурное описание может занять десятки тысяч страниц.
В большинстве случаев пользователю не приходится иметь дело с такими подробными описаниями. На практике описание архитектуры вычислительной системы можно произвести в разных аспектах и на разных уровнях иерархии.
Адекватный уровень архитектурного описания задается спецификой осуществляемой деятельности. Было отмечено, что основным типом деятельности при создании учрежденческих вычислительных систем является интеграция из серийных комплектующих и независимо разработанных программ. Такой интеграционной деятельности соответствует уровень архитектурного описания, ограниченный спецификацией внешних интерфейсов этих единиц оборудования и программ. Эти интерфейсы становятся внутренними элементами интегрируемых систем и остаются в этом смысле «деталями реализации».
«Платформой» называют совокупность элементов системы, являющуюся неизменной на момент внедрения или на период разработки нового элемента вычислительной системы (программы, программного пакета или программной системы). Соответственно, говорят о платформе внедрения или платформе разработки.
В качестве платформы для внедрения (или разработки) ОС выступает применяемое оборудование. Совокупность его характеристик называют аппаратной платформой.
Например, аппаратную платформу для простейшей ОС могут составить архитектура процессора, интерфейсы терминального оборудования (видеокарты, клавиатуры и координатного манипулятора). В более сложных случаях аппаратную платформу составляют десятки аппаратных интерфейсов различных устройств.
В качестве платформы для внедрения (или разработки) прикладной программы, прикладного пакета или прикладной системы обычно выступает ОС.
«Граница» между платформой и прикладной системой может проводиться в разных случаях по-разному, и зависит это от того, какие именно компоненты ВС на момент внедрения являются неизменными. Например, система управления базами данных может внедряться (или разрабатываться) на платформе ОС, в качестве платформы может выступать аппаратное обеспечение. WWW-сайт может внедряться на сложной платформе, включающей определенные ОС, системы управления базами данных (далее — СУБД), http-сервер и т.п.
В некоторых случаях в качестве платформы прикладной программы выступает другая прикладная программа, пакет или система. Например, простой WWW-сайт может включать в себя статические страницы и несколько программ на таких языках, как Perl или PHP, и разворачиваться на любой аппаратной платформе и с любой ОС, предоставляющей файловую структуру и интерпретатор с соответствующего языка.
Стабильность платформы подразумевает: 1) положительный прогноз доступности аппаратных комплектующих для ремонта или модернизации системы. Отдельные модели конкретных производителей постепенно снимаются с производства, производители могут уходить с рынка. Важен прогноз коммерческой доступности заменяющего оборудования, совместимого (взаимозаменяемого) с выбывающем. Если заменяющие комплектующие будут недоступны, потребуется переработка или замена других элементов системы; 2) положительный прогноз поддержки сторонних программных компонентов или возможности их замены. Отдельные версии программ могут выводиться из эксплуатации потребителями и терять поддержку разработчика.
Не менее важным чем стабильность свойством является масштабируемостьплатформы, которая означает ее пригодность к эксплуатации при изменении количественных требований к ней (например, производительности или скорости отклика, объема сохраняемых и обрабатываемых данных, количества поддерживаемых сеансов связи).
Чаще всего встает задача «масштабирования вверх», то есть обеспечения функционирования внедренного элемента системы при повышении этих параметров. В большинстве случаев масштабирование вверх требует замены оборудования на более производительное. Это может потребовать перехода на компоненты иной аппаратной архитектуры или изменения топологии системы (например, перехода с однопроцессорной системы на многопроцессорную).
Существенные проблемы с масштабированием вверх возникли при массовой интеграции персональных компьютеров, получивших распространение в 1980—1990-х гг., в целостные вычислительные системы в 1990—2000-х гг. В большинстве случаев персональные компьютеры эксплуатировались под ОС семейства Windows, выбор которой в качестве платформы затруднял масштабирование.
Однако иногда речь может идти и о «масштабировании вниз», например, создании «персональной» топологии для эксплуатации программы, изначально разработанной для коллективного пользования в сети. Проблемой может оказаться слишком «громоздкая» платформа (например, полнофункциональную ОС и СУБД трудно перенести на мобильное устройство типа «персонального коммуникатора» или «смартфона»).
Насколько это возможно, требования к масштабируемости платформы должны быть определены на этапе постановки задачи на разработку или закупку, и потенциальные платформы должны быть оценены на предмет возможности и стоимости их масштабирования.
При создании вычислительных систем общего назначения со слабо прогнозируемыми сроками эксплуатации и требованиями к масштабируемости важным является выбор платформы для прикладных программных элементов на возможно более высоком уровне абстракции (без привязки к аппаратной архитектуре, особенностям конкретных ОС и прикладных систем, но с ориентацией на существующие перспективные стандарты).
Миграция
При разработке и внедрении новой программной системы предполагается, что платформа в основном будет оставаться неизменной в течение срока эксплуатации данной системы. Однако такое предположение может и не оправдаться (удачно реализованные программы часто эксплуатируются гораздо дольше, чем предполагалось). В таком случае при исчерпании потенциала платформы или ее устаревании может встать задача переноса системы на другую платформу — миграции.
Процесс миграции, может быть разложен на три более элементарных процесса:
· миграция данных (перевод их из формата, поддерживаемого старой системой, в формат, поддерживаемый новой);
· миграция приложений (замена, переработка или новая разработка прикладных программ, реализующих функциональность системы);
Трудоемкость миграции обратно пропорциональна степени стандартизованности соответствующих интерфейсов. Так, например, при применении ОС, удовлетворяющей стандарту, миграция с одной аппаратной платформы на другую сводится к организационным действиям, данные и приложения могут ей не затрагиваться, а большинство операторов могут и не заметить перехода (идеальный случай, в жизни не реализуемый). При применении не стандартизированных платформ миграция может потребовать замену ОС, что повлечет за собой миграцию приложений и, возможно, персонала.