Суббота, 18.05.2024, 21:35
Приветствую Вас, Гость | RSS
Меню сайта
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Главная » 2015 » Сентябрь » 29 » Представлен Otto, инструментарий для создания микросервисов из изолированных приложений
00:39
Представлен Otto, инструментарий для создания микросервисов из изолированных приложений
Компания HashiCorp, известная разработкой системы Vagrant, представила проект Otto, в рамках которого разработан новый инструментарий для создания и развёртывания приложений, упакованных в изолированные контейнеры или образы для различных облачных окружений. Otto продвигает концепцию микросервисов, включающих определённую программу и необходимые для её работы зависимости. При этом микросервисы для привязаны к конкретной технологии изоляции и могут быть сформированы для различных систем. Код проекта написан на языке Go (Vagrant написан на Ruby) и распространяется под лицензией MPL 2.0 (Mozilla Public License). Otto позиционируется как продолжение развития Vagrant, учитывающее накопленный при создании данного проекта опыт и расширяющее возможности средствами развёртывания и интеграции с циклом разработки ПО. При этом Vagrant не прекращает своё существование и будет поддерживаться и улучшаться в обозримом будущем. Ставя перед Otto более широкие задачи разработчики решили не изобретать колесо и использовали в новом проекте уже проверенные и зарекомендовавшие технологии Vagrant при создании системы автоматического управления окружением разработчика. Со временем Otto заменит собой Vagrant, но это произойдёт не сразу и пока оба проекта будут сосуществовать. Otto предоставляет инструменты для автоматической сборки самодостаточного окружения, необходимого для работы разрабатываемого приложения, и развёртывания этого окружения в типовых системах виртуализации и контейнерной изоляции. На основании типа приложения Otto автоматически подбирает зависимости, например, для PHP-программ он загрузит, установит и настроит в окружении PHP и связанные с ним средства разработчика. Если приложение зависит от внешних сервисов, таких как СУБД, Otto самостоятельно определит это и установит в окружении нужные версии данных сервисов, а также необходимые для этих сервисов зависимости. Поддерживается интеграция с Docker, который может вызываться для загрузки и запуска подготовленных в Otto микросервисов. Базовая конфигурация приложения задаётся в форме Appfile. Например, для приложения на языке Ruby 2.1, хранящем данные в СУБД PostgreSQL, Appfile может выглядеть следующим образом: application { name = "my-app" type = "ruby" dependency { source = "github.com/hashicorp/otto/examples/postgresql" } } customization "ruby" { ruby_version = "2.1" } Параметры запуска окружения и лимиты выбираются в соответствии с типовыми требованиями для указанных зависимостей. Конфигурация может быть подобрана автоматически при помощи выполнения команды "otto compile" в директории с кодом приложения. Создать локальное окружение для тестирования и разработки можно командой "otto dev". Для создания инфраструктуры для эксплуатации этого окружения (например, в Amazon Web Services) достаточно выполнить команду "otto infra". Для подготовки образа с приложением для запуска в созданной инфраструктуре следует выполнить команду "otto build". Для запуска окружения в созданной инфраструктуре нужно выполнить команду "otto deploy". Таким образом разработчику не нужно заботиться о выборе систем изоляции и подбирать зависимости, Otto всё сделает самостоятельно с использованием наиболее хорошо зарекомендовавших себя методов, подходящих для текущих условий. Одновременно с Otto представлена платформа Nomad, предназначенная для управления кластером серверов и запуска окружений с приложениями в данном кластере. Nomad абстрагируется от отдельных серверов и местоположения приложений, предлагая пользователю лишь определить что он хочет запустить, а вопрос где и как будет запущено окружение берёт на себя. Для выполнения окружений может быть использован Docker, но Nomad не ограничивается им и позволяет использовать драйверы для запуска с использованием иных платформ контейнерной изоляции или виртуализации для Linux, Windows, BSD и OS X. Для упрощения работы клиентская и серверная части объединены в один исполняемый файл
Просмотров: 194 | Добавил: muge | Рейтинг: 0.0/0
Всего комментариев: 0
Имя *:
Email *:
Код *:
Форма входа
Поиск
Календарь