Представлен Otto, инструментарий для создания микросервисов из изолированных приложений
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. Для упрощения работы клиентская и серверная части объединены в один исполняемый файл.
Источник: http://www.opennet.ru/opennews/art.shtml?num=43055
|
0 | Tweet | Нравится |
|