Stackato 3.0, выпущенный в конце 2013 года, стал огромной вехой для продукта. Мы добавили множество новых функций, и он получил капитальный ремонт сверху вниз.
Мы заменили нашу реализацию Cloud Foundry версией 2 проекта с открытым исходным кодом, который стал серьезным обновлением. Cloud Foundry v2 была полностью переписана и принесла новые API, как внутренние, так и внешние. Stackato 3.0 был полностью совместим с Cloud Foundry v2 из коробки.
Мы заменили нашу собственную реализацию LXC на Docker в Stackato 3.0. Более чем 3-летний опыт работы ActiveState с LXC позволил нам провести четкую линию вокруг функциональности Docker, которую мы использовали, когда Docker приближается к уровню зрелости 1.0.
В Stackato 3.0 мы заменили другие основные внутренние компоненты Stackato, такие как вышедший на пенсию Doozerd. Мы также полностью выполнили сборку, встраивая устаревшие сборки, чтобы сохранить обратную совместимость со Stackato 2.10.
Кроме того, веб-консоль JavaScript была полностью переписана с нуля в 3.0. Теперь он построен поверх Backbone.js и Twitter Bootstrap.js.
Да, 3.0 был огромной вехой для Stackato и PaaS. Так что же принесет 3.2? В этом посте я расскажу о 10 моих любимых функциях нового релиза Stackato 3.2.
1. Зоны размещения
Одна из жалоб, которые я слышал о PaaS в целом, заключается в том, что «PaaS означает, что мне не нужно заботиться о том, где запускается мое приложение. Экземпляры распределены по кластеру. Проблема в том, что мне все равно. У меня есть критически важные системы, У меня есть конфиденциальные данные, у меня есть машины с определенным оборудованием, которые я бы предпочел использовать только в определенных приложениях ».
До настоящего времени решением этой проблемы было бы наличие отдельных кластеров PaaS, но это противоречит концепции единой платформы PaaS.
Мы не сомневаемся в безопасности контейнеров Linux , но есть все еще веские причины для четкого разделения экземпляров приложений на конкретные машины или участки сети.
В Stackato экземпляры приложений всегда были равномерно распределены по DEA (агентам выполнения Droplet). Каждый DEA работает на отдельной виртуальной машине. В Stackato 3.2 Зоны размещения предоставляют возможность группировать DEA и указывать, что для этих DEA развернуты только определенные приложения.
2. Зоны доступности
Наши разработчики определенно были «в зоне» в последние несколько месяцев. Также следует отдать должное IBM, которая представила код этой функции в Cloud Foundry в то же время, когда мы начали работу над ней.
У вашего уровня инфраструктуры есть возможность размещать машины в разных физических сетях, но в одной и той же близости с низкой задержкой. Вы можете сделать это вручную или использовать функциональность, предоставляемую AWS [http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html], OpenStack или CloudStack .
До сих пор этот уровень избыточности не демонстрировался на уровне PaaS. Это означает, что, хотя вы можете использовать 2 или 3 зоны доступности на уровне инфраструктуры, экземпляры конкретного приложения могут быть распределены по DEA, которые находятся в одной зоне доступности. Если эта зона выходит из строя, то и ваше приложение тоже.
Подобно зонам размещения, вы можете указать Stackato, где находится DEA, с помощью «зон доступности». Когда Stackato распространяет экземпляры приложения, это гарантирует равномерное распределение экземпляров по зонам доступности. Следовательно, любое приложение, работающее как минимум в двух экземплярах, не будет отключено, если вы потеряете одну зону доступности.
Как Зоны размещения и Зоны доступности связаны друг с другом? Каждая зона размещения в идеале должна быть распределена по зонам доступности.
3. Использование кластера
Понимание того, что происходит с кластером Stackato, всегда очень востребовано специалистами по эксплуатации, и так будет всегда. Вы никогда не можете иметь слишком много информации. Stackato 3.2 дает отличное представление об использовании памяти и выглядит потрясающе в веб-консоли.
Во-первых, у нас есть резюме. Это показывает использование памяти по всему кластеру. Мы можем видеть «Назначено через квоты», «Всего физических», «Всего сообщено», «Нераспределено», «Распределено» и «В настоящее время используется». Мы также видим проценты по использованию и назначению.
Затем мы можем углубиться в информацию об использовании памяти в наших DEA. Визуальное представление сделано действительно хорошо, поэтому я могу сразу увидеть все мои DEA и визуально идентифицировать и неровности.
Эта развертка также обеспечивает просмотр зон размещения или зон доступности.
4. Приложения с поддержкой SSO
Нажмите, Сохранить! Это все, что требуется в Stackato 3.2 для включения аутентификации в приложении.
Теперь, когда пользователь посещает это развернутое приложение, ему будет предложено войти в систему, используя свои учетные данные Stackato. Когда они это сделают, они получат доступ к приложению, и приложение получит следующие заголовки HTTP с каждым отправленным ему HTTP-запросом.
x-authenticated-user-id: 5d30c4r3-9985-4aa7-b371-146a7b0832b0
x-authenticated-user-username: jouser
x-authenticated-user-email: [email protected]
Я люблю эту функцию! Это не только упрощает создание аутентифицированного приложения, но и позволяет без особых усилий добавлять в него социальные функции.
Stackato уже давно поддерживает интеграцию LDAP как способ беспрепятственной аутентификации пользователей с помощью Stackato, использующего LDAP в качестве единственного источника правды. Это означает, что если вы используете LDAP со Stackato, ваши развернутые приложения проходят проверку подлинности на основе существующей базы данных LDAP.
Сколько разработчиков знают, как интегрировать систему LDAP своих компаний в свои приложения или имеют доступ для этого? Теперь они не должны. Эта функция обеспечивает хорошее чистое разделение проблем.
5. Группы LDAP
Делая дальнейшую интеграцию с LDAP, Stackato 3.2 интегрируется с группами LDAP. Теперь в Stackato 3.2 вы можете определить, какие группы LDAP авторизованы для использования Stackato, а какие имеют привилегии администратора Stackato.
Эта функция еще больше упростит жизнь системным администраторам. Они могут управлять тем, кто имеет доступ к своему кластеру Stackato из своих существующих инструментов LDAP, и они контролируют, кто из этих пользователей является администратором в системе.
6. Автоматическое масштабирование приложения
Stackato всегда облегчал владельцам приложений увеличение или уменьшение количества экземпляров их приложений для удовлетворения спроса. Это была либо одна команда из командной строки, либо щелчок в веб-консоли, либо вызов HTTP-API Stackato.
Способность Stackato интегрироваться с такими инструментами, как New Relic, предоставила пользователям возможность писать простые сценарии, которые извлекают метрики из New Relic или других систем мониторинга, и пинговать API Stackato для соответствующего увеличения и уменьшения. Эти простые сценарии также могут быть развернуты в Stackato.
Но кто хочет написать скрипт и интегрироваться со сторонними сервисами, когда вы можете просто использовать автоматическое масштабирование приложений Stackato 3.2?
Stackato 3.2 предоставляет возможность включить автоматическое масштабирование. Эта функция настраивается так, что вы можете выбрать минимальное и максимальное количество экземпляров, которые вы хотите запустить. Вы также можете контролировать пороги ЦП, при которых он будет увеличиваться и уменьшаться.
В моем примере выше у меня всегда будет как минимум 3 экземпляра моего приложения (распределенных по моим зонам доступности — см. Выше), но не более 10 экземпляров. Если среднее использование процессора поднимется выше 65%, то Stackato автоматически добавит мне больше экземпляров. Если среднее значение падает ниже 25%, то Stackato начнет удалять экземпляры, чтобы сэкономить ресурсы сервера.
Теперь я могу спать по ночам, зная, что масштабирование моего приложения решено. Мне не нужно тратить время на написание и тестирование моих собственных сценариев, чтобы справиться с этим.
7. Перезапустите необходимое отслеживание
Есть много ситуаций, когда вы переконфигурируете свое приложение, которое затем требует его перезапуска. Одной из причин этого может быть изменение переменных среды. Я не знаю, как внедрить переменные среды в работающий процесс без перезапуска этого процесса. Другой причиной, по которой требуется перезапуск приложения, является включение единого входа (см. Выше # 4) для вашего приложения.
Stackato 3.2 отслеживает любые изменения, внесенные в конфигурацию приложения, и сравнивает их с текущим состоянием запущенного приложения. В веб-консоли вы увидите постоянное предупреждение о том, что приложение необходимо перезапустить.
Что мне действительно нравится в этом, так это то, что если вы отмените свои изменения до перезапуска приложения, то предупреждение прекратится.
Хотя это полезно для отдельных владельцев приложений, администраторы также могут использовать эту функцию.
При просмотре всех запущенных приложений в системе администраторы могут видеть, к каким приложениям были применены изменения, без последующей перезагрузки.
Как администратор может увидеть, что изменилось? Просто — просто нажмите на Временную шкалу приложения и посмотрите, какие изменения были применены с момента последнего перезапуска приложения.
Если что-то не понятно, администратор может оставить комментарий для владельцев приложения.
8. Улучшен интерфейс
С пользовательским интерфейсом именно мелочи приносят наибольшую радость. Хорошие пользовательские интерфейсы тонкие, соответствуют хорошей компоновке. Веб-консоль получила много обновлений в Stackato 3.2 после своего возрождения в 3.0.
Одной из таких функций являются вкладки боковой панели. Согласовано в каждом разделе и обеспечивает простой доступ к подразделам. Когда я нажимаю на консоль, я чувствую, что это правильно.
Другие обновления интерфейса включают в себя соответствующие кнопки и значки. Например, существует четкое различие между тем, что является удалением, и тем, что является диссоциацией .
Верхнее меню теперь стало намного светлее, а на страницах, где отображаются списки объектов (Пользователи, Организации, Пространства, Приложения), всегда есть приятные параметры поиска и фильтрации.
Я упоминал, насколько более быстрый пользовательский интерфейс? 3.0 был огромным улучшением по сравнению с 2.10, но с 3.2 кажется, что тренировочные колеса оторвались. Навигация вокруг супер реагирует.
9. Описание приложения
По функциональности это маленький, но с точки зрения полезности, он большой. Да, я один из тех, кому грустно, когда в потрясающем проекте на GitHub нет описания файла README.
В Stackato 3.2 теперь вы можете редактировать описание каждого приложения и предоставлять ссылки в этом описании на внешние ресурсы. Это можно либо добавить в файл stackato.yml, предоставленный в App Store веб-консоли, либо отредактировать на странице приложения веб-консоли.
10. Лучшее исправление
«Като патч» был частью Stackato в течение некоторого времени. Это способ применения небольших исправлений и обновлений безопасности для кластера Stackato.
В версии 3.2 команда поддержки Stackato предоставила свой список пожеланий обо всем, что они хотели бы улучшить в этой области, и это было сделано.
Патчи теперь оркестрируются и отслеживаются для каждого компьютера, но при этом они могут применять исправления в кластере с помощью одной команды kato. Машины могут обновляться индивидуально. Определенные машины могут быть исключены из получения определенных обновлений. Также патчи теперь можно откатить.
«kato patch status» показывает состояние всех патчей на всех машинах.
Вывод
Это мой топ-10 вихревых туров, которые вы можете увидеть в Stackato 3.2. Но это не останавливаться на достигнутом. Улучшенная интеграция с CloudStack и Citrix CloudPlatform, более детальный контроль над разрешениями пользователей, поддержка Amazon RDS для Oracle и многое другое.
Посетите страницу продукта Stackato, чтобы узнать больше или проверить запись нашего вебинара Stackato 3.2 .
— Подробнее см .: http://www.activestate.com/blog/2014/04/10-awesome-features-stackato-32#sthash.YLwKm1mG.dpuf.