The OpenNET Project / Index page

[ новости/++ | форум | wiki | теги ]

28.09.2015 23:23  Представлен 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. Для упрощения работы клиентская и серверная части объединены в один исполняемый файл.

  1. Главная ссылка к новости (https://www.hashicorp.com/blog...)
  2. OpenNews: Проект CoreOS представил Rocket, конкурирующий с Docker инструментарий управления контейнерами
  3. OpenNews: Docker и CoreOS объединили усилия в разработке единого формата контейнеров
  4. OpenNews: Выпуск Kubernetes 1.0, системы управления кластером изолированных контейнеров
  5. OpenNews: Доступен Docker 1.8. Представлена система для запуска Docker-контейнеров поверх гипервизора
Лицензия: CC-BY
Тип: Программы
Ключевые слова: otto
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение Линейный вид | Ajax | Показать все | RSS
 
  • 1.3, Аноним, 02:04, 29/09/2015 [ответить] [смотреть все]
  • +/
    А есть примеры, где удобно применять?
     
     
  • 2.5, Аноним, 02:20, 29/09/2015 [^] [ответить] [смотреть все] [показать ветку]
  • +/
    Ну может и найдёшь пару весьма специфических use-cases на всю отрасль ... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.11, Аноним, 15:20, 29/09/2015 [^] [ответить] [смотреть все]  
  • –1 +/
    Понимаете ли, отрасль растёт горизонтально И рубероиды и Go-пники, пьющие смузи... весь текст скрыт [показать]
     
     
  • 4.12, grec, 17:16, 29/09/2015 [^] [ответить] [смотреть все]  
  • +2 +/
    И так будет бесконечно и все погрязнет в вечном дебаге.
     
     
  • 5.13, Аноним, 17:31, 29/09/2015 [^] [ответить] [смотреть все]  
  • +/
    Подтверждаю, не вечно, но иногда бывает.
     
  • 4.14, Crazy Alex, 19:06, 29/09/2015 [^] [ответить] [смотреть все]  
  • –4 +/
    Если б кто-нибудь внятно описал, зачем всё это надо - ретарды, пьющие пиво, нена... весь текст скрыт [показать]
     
     
  • 5.15, аноним2, 19:40, 29/09/2015 [^] [ответить] [смотреть все]  
  • +2 +/
    про системное окружение почитай
     
  • 5.16, Аноним, 19:59, 29/09/2015 [^] [ответить] [смотреть все]  
  • +4 +/
    Если неясно зачем контейнеры и почему они могут быть предпочтительнее, чем вирту... весь текст скрыт [показать]
     
     
  • 6.22, Crazy Alex, 00:26, 30/09/2015 [^] [ответить] [смотреть все]  
  • +/
    Да я вообще от каких-либо серверов уже лет несколько, как далёк Десктопы, мобил... весь текст скрыт [показать]
     
  • 5.17, Аноним, 22:02, 29/09/2015 [^] [ответить] [смотреть все]  
  • +/
    Я ничего не имею против того, чтобы меня ненавидели ретарды Для табя, и прочих ... весь текст скрыт [показать]
     
     
  • 6.18, grec, 22:20, 29/09/2015 [^] [ответить] [смотреть все]  
  • +/
    Очень все раздуто. Главное много, что бы солидно?
     
     
  • 7.19, Аноним, 22:26, 29/09/2015 [^] [ответить] [смотреть все]  
  • +/
    Зависит от масштабов И кстати да, на десятке виртуалок с 1 физикой методология ... весь текст скрыт [показать]
     
     
  • 8.36, Имячко, 16:53, 12/05/2016 [^] [ответить] [смотреть все]  
  • +/
    Отчего же не принесет На микросервисной архитектуре для CI CD очень даже принес... весь текст скрыт [показать]
     
  • 6.23, Crazy Alex, 00:30, 30/09/2015 [^] [ответить] [смотреть все]  
  • +/
    Так, меня с тигарами-иденами путать не надо - Другое дело, что я вообще не люб... весь текст скрыт [показать]
     
     
  • 7.25, Аноним, 09:13, 30/09/2015 [^] [ответить] [смотреть все]  
  • +/
    - Хорошо, не буду - Суть микросервисов - на каждый сервис отдельная виртуалка к... весь текст скрыт [показать]
     
     
  • 8.27, Crazy Alex, 10:37, 30/09/2015 [^] [ответить] [смотреть все]  
  • +/
    Ага, ясно Звучит разумно, вот кто бы раньше это так внятно сформулировал Спаси... весь текст скрыт [показать]
     
     
  • 9.30, Crazy Alex, 13:21, 30/09/2015 [^] [ответить] [смотреть все]  
  • +/
    Только идее "одна виртуалка - один сервис" сто лет в обед ;-)
     
     
  • 10.34, Аноним, 11:21, 01/10/2015 [^] [ответить] [смотреть все]  
  • +/
    Контейнеры кстати тоже, а чрут ещё раньше Вот только раскрутили эту тему пару л... весь текст скрыт [показать]
     
  • 7.26, Аноним, 09:27, 30/09/2015 [^] [ответить] [смотреть все]  
  • +/
    - И ещё, по интеграции на десктопе Именно за это любят варган Какой-нибудь Dev... весь текст скрыт [показать]
     
     
  • 8.28, Crazy Alex, 10:46, 30/09/2015 [^] [ответить] [смотреть все]  
  • –1 +/
    Универсальность - я имел в виду, что контейнеры - это linux on linux Ну а насчё... весь текст скрыт [показать]
     
     
  • 9.29, Аноним, 11:42, 30/09/2015 [^] [ответить] [смотреть все]  
  • +1 +/
    - А вконтейнерах на десктопе можно всякую блобню запускать, типа хромого и скупо... весь текст скрыт [показать]
     
     
  • 10.31, Crazy Alex, 13:29, 30/09/2015 [^] [ответить] [смотреть все]  
  • +/
    Собственно, меня и смущает, что контейнеры на десктопе создают иллюзию, что можн... весь текст скрыт [показать]
     
     
  • 11.32, Аноним, 13:49, 30/09/2015 [^] [ответить] [смотреть все]  
  • +/
    - С контейнерами на десктопе - ситуация очень двойственная И согласен и нет Пр... весь текст скрыт [показать]
     
  • 7.37, Имячко, 17:03, 12/05/2016 [^] [ответить] [смотреть все]  
  • +/
    Тесная интеграция это хорошо, но начиная с определенной сложности ПО, это уже пл... весь текст скрыт [показать]
     
  • 4.35, Аноним, 11:33, 02/10/2015 [^] [ответить] [смотреть все]  
  • +/
    Лучше бы код писали, чем страдать фигней
     
     
  • 5.38, Имячко, 17:04, 12/05/2016 [^] [ответить] [смотреть все]  
  • +/
    Развиваться тоже надо Не только кодите - еще и изучайте новшества ... весь текст скрыт [показать]
     
  • 1.4, Аноним, 02:12, 29/09/2015 [ответить] [смотреть все]  
  • +/
    Да раньше было удобно юзать вагрант но потом это стало жутко не удобно, да и смы... весь текст скрыт [показать]
     
     
  • 2.7, Michael Shigorin, 12:27, 29/09/2015 [^] [ответить] [смотреть все] [показать ветку]  
  • –1 +/
    А что с ними дальше делаете Мне-то интересно в контексте http altlinux org m... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.8, Аноним, 13:20, 29/09/2015 [^] [ответить] [смотреть все]  
  • +1 +/
    Варган, конечно очень удобен, как управляющая инфраструктура, даже сам на него п... весь текст скрыт [показать]
     
     
  • 4.9, Michael Shigorin, 13:42, 29/09/2015 [^] [ответить] [смотреть все]  
  • +/
    Спасибо.  Хотя вместо творческой транслитерации неплохо бы в подобных случаях использовать исходные названия, шоб можно было найти. :)
     
     
  • 5.10, Аноним, 14:18, 29/09/2015 [^] [ответить] [смотреть все]  
  • +/
    http kubernetes io Главное здесь - это объединение ресурсов кластера Отсюда ... весь текст скрыт [показать]
     
  • 4.21, Аноним, 22:32, 29/09/2015 [^] [ответить] [смотреть все]  
  • +/
    Да полностью с вами согласен вагрант для win и osx Хотя мне он уже без надобнос... весь текст скрыт [показать]
     
     
  • 5.24, Аноним, 08:56, 30/09/2015 [^] [ответить] [смотреть все]  
  • +/
    А мне удобен именно на линуксе К нему деплой среды прикручивать удобно глубоко ... весь текст скрыт [показать]
     
  • 3.20, Аноним, 22:29, 29/09/2015 [^] [ответить] [смотреть все]  
  • +1 +/
    Ну я разрабатывал веб приложения и тестировал на целевой платформе, OSX не шибк... весь текст скрыт [показать]
     
     
  • 4.33, Аноним, 13:52, 30/09/2015 [^] [ответить] [смотреть все]  
  • –1 +/
    Кстати, как вам virt-install Меня интересует с точки зрения быстрого поднятия к... весь текст скрыт [показать]
     
  • 4.39, Имячко, 17:08, 12/05/2016 [^] [ответить] [смотреть все]  
  • +/
    >>А что с ними дальше делаете?  Мне-то интересно в контексте http://altlinux.org/m-p (оно умеет и чруты выпекать, и в первом приближении -- образы vm, помимо всего прочего).
    > Ну я разрабатывал веб приложения и тестировал на целевой платформе, (OSX не
    > шибко целевая для веба), а потом пересел на Linux ну, а
    > с qvm весь смысл вагранта испарился, да и если посудить вагрант
    > только вначале был нужен до прихода докера. Думаю вам вагрант не
    > нужен, он собственно сейчас вообще не нужен.

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

    Мило дело.
    git clone какую-то хрень
    cd в какую-то хрень
    vagrant up

    И вот ты уже используешь любую хрень с самой нетривиальной настройкой/требованиями к ОСи.

     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:


      Закладки на сайте
      Проследить за страницей
    Created 1996-2017 by Maxim Chirkov  
    ДобавитьРекламаВебмастеруГИД  
    Hosting by Ihor