Как стать автором
Обновить

Комментарии 12

Пост выглядит как беспардонная реклама Kubernetes.

Если вы почитаете подробнее про 12factor, то увидите что там отсутствует какая-либо привязка к какой-либо технологии, и описанные факторы применимы к любому приложению и любой архитектуре. Указанные же в посте 7 факторов завязаны на облака, контейнеры, и… и на этом можно заканчивать перечисление. Область применимости данных «факторов» весьма ограничена и безальтернативно требует использования Kubernetes, а посему ни о каких «19 факторах» можете и не мечтать. «Спасибо, такое нам не надо».
Не реклама, а контекст. В статье неоднократно упоминается Kubernetes как окружение, в котором запускаются приложения с перечисленными («добавленными») факторами, а ещё она находится в соответствующем хабе (помимо прочих).

Вам не надо, но почему вы за всех? Авторы вот за всех не говорят, а явно обозначают, для кого. В вводное примечание добавили ещё раз про Kubernetes, чтобы убрать остатки возможного диссонанса.
12fa — набор общих рекомендаций. В заголовке указано что этому набору общих (это важно) рекомендаций не хватает ещё семи. Семантически в этом месте подразумевается что недостающие семь рекомендаций являются такими же общими, как и базовые 12. Но далее в статье они вдруг оказываются завязанными на какую-то конкретную технологию. Говоря простым языком, заголовок — clickbait. Потому что я, увидев заголовок и первый абзац, зашел узнать что-то новое, чего можно было бы применить в любом проекте, и был весьма разочарован.

Выделенное курсивом обычно подразумевает цитату или иносказательное выражение, добро пожаловать в интернет.
Если бы Kubernetes не был стандартом де-факто для запуска тех самых [микро-]сервисов, о которых речь, то можно было бы и подумать про clickbait, а так могу лишь оставить это на ваш вкус (точнее, ваше отношение к K8s).
Но ведь 12 факторов тоже не везде применимы.
Некоторые из них применимы только к вёб-приложениям.
И хотя авторы в самом начале пишут, что 12 факторов применимы только к вёб и SaaS приложениям, называют они своё творение просто «The Twelve-Factor App». Не «The Twelve-Factors for Web and SaaS applications» или как-то так.
Как же так? Кликбейт? Реклама вёб-приложений?

Хотя соглашусь, что упомянуть в заголовке Kubernetes и облака было бы не лишним.
Скорее речь идет про довольно однобокое описание факторов — только в контексте kubernetes.

Та же «наблюдаемость» — это широкое понятие и фактор, который следует обеспечить любым (!) приложениям, вне зависимости от архитектуры или того, как они развернуты. Наблюдаемость — это возможность определять внутреннее состояние системы и процессов в ней по выходным данным (метрикам, логам, трейсам).

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

эти 19 факторов никоим образом не прибивают приложение к кубернетесу. Мы же знаем, что тот же роллинг апдейт можно построить без него (и его делали в до-куб-овую эпоху). Безопасность (рут в контейнере и пр.) — то же безотносительно к кубернетесу.
То что кубернетес стал практически отраслевым стандартом… Ну, что ж. Это такой же "стандарт", как и Линукс на серверах. Можно это принять и эффективно оседлать техологию, а можно решать задачи альтернативными путям.

Против демонстрации на примере k8s ничего не имею, всё-таки это сейчас самый популярный инструмент, а само описание пунктов 13-16 легко натянется и на другой и останется верным.


А вот пункты 17-19 это уже что-то из разряда IBM Cloud only, к ним как раз больше всего вопросов. Но надо понимать что раз статья из блога IBM Cloud — значит и писать они будут про себя.

Не согласен, что пункты 17-19 относятся только к IBM Cloud only. Это все нужно в обычном кубернетесе реализовывать, если реально думать о безопасности, управляемости и пр.

Более корректно было бы направить стрелки в обратную сторону, поскольку Prometheus сам ходит и опрашивает endpoint'ы, а Grafana сама забирает данные из Prometheus, но в смысле общей иллюстрации это не так критично.

Ну, это некритично по другой причине так-то — есть потоки данных (а они именно такие как на диаграмме), а есть диаграмма сетевых соединений. Иногда на них стрелочки идут в разных направлениях )))))


Минимумы и ограничения для контейнеров

Картинка как будто запутывает и намекает, что общее выделение ресурса для контейнера будет request + limit. Но мне всегда казалось, что request — это минимальное значение, а limit — это то, выше которого никогда не прыгнешь.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий