БИБЛИОТЕКА НОРМАТИВНЫХ ДОКУМЕНТОВ

ГОСТ Р ИСО/МЭК 19941-2021. Национальный стандарт Российской Федерации. Информационные технологии. Облачные вычисления. Интероперабельность и переносимость

9.2 Соображения относительно переносимости облачного приложения

Некоторые соображения, связанные с переносом приложения из одного окружения в другое, приведены в таблице 10.

 

Таблица 10

 

Пример соображений, связанных с облачной переносимостью

приложений

 

Темы

Соображения

Понимание полных или деловых целей для переноса приложения

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

Определение того, что считается приложением

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

Декомпозиция приложения на элементы

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

Понимание зависимости приложения

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

Перенос, сборка и покупка

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

Перенос, сборка и покупка

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

 

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

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

 

Таблица 11

 

Пример соображений, связанных с аспектами переносимости

приложений

 

Аспекты переносимости приложений

Пример соображений при переносе приложений

Синтаксический аспект

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

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

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

Инструкции приложений

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

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

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

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

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

 

Поддержка инструкций приложения. Приложения написаны на определенном языке. Этот язык может быть языком общего назначения, таким как C# или Java, или языком спецификаций, таким как BPEL. В любом случае целевая среда должна поддержать все используемые виды инструкций

Метаданные приложений

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

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

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

Поведение приложений

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

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

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

Политика, право и организация

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

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

Местоположение данных. Фактическое местоположение данных (или метаданные) может быть важным фактором по юридическим или другим причинам

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

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

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

 

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

Контракт. Контракты между сторонами могут определять специальные условия для приложений и их переносимости