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

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

8.2 Синтаксическая переносимость данных

8.2.1 Общие положения

Синтаксическая переносимость данных связана с форматом и кодированием данных в подходящие артефакты данных, которые могут быть переданы и декодированы другой системой, такой как служба облачных вычислений или система потребителя службы облачных вычислений. Чтобы быть переносимым, каждый артефакт должен быть закодирован с использованием такого формата обмена, который может быть декодирован целевой системой, что может потребовать преобразование форматов. Обычно артефакт помечается типом кодировки, который может быть указан расширением файла или типом MIME. Примерами являются файлы документов офисных приложений, изображения и фотографии, значения, разделенные запятыми (Comma separated values, CSV), и XML-файлы. Артефакт данных может содержать другие артефакты данных, закодированные в том же или ином формате. Примеры: zip-файл, содержащий другие артефакты данных, и иерархическая файловая система, содержащая каталоги артефактов данных.

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

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

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

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

8.2.2 Синтаксическая переносимость данных для служб облачных вычислений с типом возможностей инфраструктуры

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

Артефакты данных связаны с образами виртуальных машин, файловыми хранилищами, хранилищами медиа, базами данных и т.д. Единые форматы упаковки особенно полезны для переносимости данных инфраструктуры. Примерами могут служить открытый формат виртуализации (Open Virtualisation Format, OVF), Zip и tar. Конкретный формат упакованных объектов данных несущественен для службы облачных вычислений с типом возможностей инфраструктуры. Например, для того чтобы файл или объект данных можно было сохранить в инфраструктуре хранения в службе облачных вычислений, нет необходимости службе облачных вычислений знать что-либо о синтаксисе и формате данных файла или объекта данных. Вполне возможно, что содержимое такого файла доступно только компонентам приложения, принадлежащим потребителю службы облачных вычислений.

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

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

8.2.3 Синтаксическая переносимость данных для служб облачных вычислений с типом возможностей платформы

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

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

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

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

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

8.2.4 Синтаксическая переносимость данных для служб облачных вычислений с типом возможностей приложения

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

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

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

В отличие от артефактов данных инфраструктуры и платформы, форматы данных приложения не обязательно представлены посредством общепринятых форматов, таких как типы MIME, например. Даже если используется общий формат, могут быть определены дополнительные синтаксические правила, структурные и грамматические, которые дополнительно уточняют структуру содержимого артефакта данных. Специфичные для приложения форматы данных обычно выражаются посредством формата обмена данными, определенного на языках, которые предоставляют больше возможностей по структуризации, таких как схемы XML, Schematron (см. ИСО/МЭК 19757-3) и UML. Для того чтобы артефакты данных имели смысл при переносе данных между системой потребителя службы облачных вычислений и облачной службой, а также между службами облачных вычислений, необходима взаимная поддержка форматов обмена данными конкретными приложениями.

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

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