Решения

Интеграторам систем управления и разработчикам IoT

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

Качественное рабочее окружение

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

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

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

  • Программы доступны в разных версиях и вариантах компиляции
  • Последние версии программ
  • Свежие обновления стабильных версий программ
  • Меньше ошибок и потерь времени на диагностику и устранение проблем
  • Дополнительные инструменты Jetware для эксплуатации приложения

Неизменяемые или загрузочные образы

Менеджер рабочих окружений Jetware позволяет собирать загрузочные или неизменяемые образы с компонентами из коллекции программ Jetware и из частных репозиториев. Кроме ядра Linux 64-bit для x86, могут использоваться другие аппаратные платформы и другие операционные системы, в том числе и не POSIX-совместимые.

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

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

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

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

  • Сборка загрузочных образов из пакетов
  • Вариации пакетов для разных профилей использования
  • Быстрая сборка большого числа образов
  • Интеграция сборки образов в Continuous Integration
  • Разворачивание приложений на большом числе серверов
  • Установки и обновления на удаленных или автономных устройствах

Разворачивание приложений на устройствах

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

Изоляция работает в операционной системе Yocto Linux, Wind River Linux и в других POSIX-совместимых операционных системах, включая операционные системы реального времени. Требования к вычислительным ресурсам устройства определяются только требованиями приложений и его зависимостей. Изоляция не приносит дополнительных накладных расходов и сохраняет возможность совместного использованию разными приложениями разделяемых файлов и оперативной памяти, и позволяет эффективно экономить расход ресурсов.

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

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

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

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

  • Изоляция приложений друг от друга и операционной системы
  • Обновление приложений по компонентам или одной транзакцией
  • Надежное обновление приложений на удаленных устройствах
  • Сборка и разворачивание приложение на устройствах по требованию
  • Миграция вычислений ближе к данным
  • Continuous Delivery при развитии систем управления