Нашел подборку готовых Archi моделей Cloud Native Architectural Models.
Содержит модели для CAAS, собственных облачных приложений, приложений 12/15 Factor с CI/CD/CS, мониторингом и управлением журналами. Компоненты инфраструктуры включают OpenShift, Storage, Cloudforms, JBoss Java Web Server, JBoss Enterprise Application Server, JBoss Business Rules Management, JBoss Data Grid, JBoss Data Virtualization и Ansible.
Да, тут прям оплот RedHat, но архитектурные схемы довольно неплохие, и я думаю могут пригодится при проектировании чего-то нового.
Модель сохранена при помощи coArchi, про него я ранее писал на хабре, кто не знаком, там можно ознакомится с вводной.
#archi #archimate #coarchi
https://github.com/alberttwong/archi_cloudnative
Содержит модели для CAAS, собственных облачных приложений, приложений 12/15 Factor с CI/CD/CS, мониторингом и управлением журналами. Компоненты инфраструктуры включают OpenShift, Storage, Cloudforms, JBoss Java Web Server, JBoss Enterprise Application Server, JBoss Business Rules Management, JBoss Data Grid, JBoss Data Virtualization и Ansible.
Да, тут прям оплот RedHat, но архитектурные схемы довольно неплохие, и я думаю могут пригодится при проектировании чего-то нового.
Модель сохранена при помощи coArchi, про него я ранее писал на хабре, кто не знаком, там можно ознакомится с вводной.
#archi #archimate #coarchi
https://github.com/alberttwong/archi_cloudnative
Какую выбрать платформу для коллективной работы над локализацией приложений?
▫️Есть, наверное всем знакомый Crowdin, предоставляется только как сервис с разными тарифами, но для OpenSource проектов можно попросить бесплатное размещение.
А что есть из On-Premise?
▫️Weblate - веб-система непрерывной локализации с лицензией GPL-3.0 License, довольно зрелое решение. И скорее всего вы найдете его первым при попытке найти OpenSource альтернативу Crowdin
▫️Pontoon - Платформа локализации Mozilla с лицензией BSD-3-Clause License. Очень напоминает своим интерфейсом Crowdin, и на нем кстати ведется работа над переводами Firefox и прочих продуктов Mozilla.
И что выбрать, Weblate или Ponton? Оба решения написаны на Python с использованием Django и имеют очень похожий набор функционала, интеграция с SCM, база переводов, предложения переводов, OAuth.
Я считаю Pontoon куда привлекательнее. внешне, имеет более приятный и отзывчивый интерфейс, на него будет проще пересесть переводчикам, ранее работавшим с Crodwin. Да и само приложение требует значительно меньше ресурсов для работы, weblate к примеру, только, что бы запустится, потребовал 4 ядра и 12 Gi в лимитах контейнера, Ponton же ограничился 2/2 и вполне не плохо работал.
Конечно еще есть такие сервисы как Phrase, POEditor, Transifex, Lokalise и т.п., а если у вас всего один небольшой проект, вы можете обойтись свободным десктопным poedit
Целью было скорее рассказать о Pontoon, ведь он лежит совсем не на верху поисковой выдачи. И может кому-то помочь с выбором.
#localization #crodwin #weblate #ponton #gettext #po
▫️Есть, наверное всем знакомый Crowdin, предоставляется только как сервис с разными тарифами, но для OpenSource проектов можно попросить бесплатное размещение.
А что есть из On-Premise?
▫️Weblate - веб-система непрерывной локализации с лицензией GPL-3.0 License, довольно зрелое решение. И скорее всего вы найдете его первым при попытке найти OpenSource альтернативу Crowdin
▫️Pontoon - Платформа локализации Mozilla с лицензией BSD-3-Clause License. Очень напоминает своим интерфейсом Crowdin, и на нем кстати ведется работа над переводами Firefox и прочих продуктов Mozilla.
И что выбрать, Weblate или Ponton? Оба решения написаны на Python с использованием Django и имеют очень похожий набор функционала, интеграция с SCM, база переводов, предложения переводов, OAuth.
Я считаю Pontoon куда привлекательнее. внешне, имеет более приятный и отзывчивый интерфейс, на него будет проще пересесть переводчикам, ранее работавшим с Crodwin. Да и само приложение требует значительно меньше ресурсов для работы, weblate к примеру, только, что бы запустится, потребовал 4 ядра и 12 Gi в лимитах контейнера, Ponton же ограничился 2/2 и вполне не плохо работал.
Конечно еще есть такие сервисы как Phrase, POEditor, Transifex, Lokalise и т.п., а если у вас всего один небольшой проект, вы можете обойтись свободным десктопным poedit
Целью было скорее рассказать о Pontoon, ведь он лежит совсем не на верху поисковой выдачи. И может кому-то помочь с выбором.
#localization #crodwin #weblate #ponton #gettext #po
Hierarchical Namespace Controller (HNC) - проект из Kubernetes SIG по созданию иерархических (вложенных) пространств имён (sub-namespace) в кластере Kubernetes. Проект развивается с целью решения вопроса мультиарендности (multitenancy) кластера Kubernetes между разными потребителями.
Иерархические пространства имен упрощают совместное использование вашего кластера, делая пространства имен более мощными. Например, вы можете создавать дополнительные пространства имен в пространстве имен вашей команды, даже если у вас нет разрешения на уровне кластера для создания пространств имен, и легко применять политики, такие как RBAC и сетевые политики, ко всем пространствам имен в вашей команде.
Ранее упоминал альтернативное решение, оператор Capsule позволяющий объединить несколько неймспейсов кластера Kubernetes в одно мультиарендное пространство.
#k8s #kubernetes #multitenancy #operator
https://github.com/kubernetes-sigs/hierarchical-namespaces
Иерархические пространства имен упрощают совместное использование вашего кластера, делая пространства имен более мощными. Например, вы можете создавать дополнительные пространства имен в пространстве имен вашей команды, даже если у вас нет разрешения на уровне кластера для создания пространств имен, и легко применять политики, такие как RBAC и сетевые политики, ко всем пространствам имен в вашей команде.
Ранее упоминал альтернативное решение, оператор Capsule позволяющий объединить несколько неймспейсов кластера Kubernetes в одно мультиарендное пространство.
#k8s #kubernetes #multitenancy #operator
https://github.com/kubernetes-sigs/hierarchical-namespaces
GitHub
GitHub - kubernetes-sigs/hierarchical-namespaces: Home of the Hierarchical Namespace Controller (HNC). Adds hierarchical policies…
Home of the Hierarchical Namespace Controller (HNC). Adds hierarchical policies and delegated creation to Kubernetes namespaces for improved in-cluster multitenancy. - kubernetes-sigs/hierarchical-...
Accurate оператор для создания вложенных пространств имён (sub-namespace) в кластере Kubernetes.
Это довольно молодой (сейчас beta) конкурент Hierarchical Namespace Controller (HNC)
И Accurate, и HNC преследуют одну и ту же цель — обеспечить лучшее удобство использования пространства имен в многопользовательских средах Kubernetes.
Accurate более точен, чем HNC, в распространении ресурсов, потому что Accurate использует способ согласия, а HNC использует способ отказа. При использовании Accurate будут распространяться только ресурсы, аннотированные с помощью
Предположим, вы хотите распространять только секрет для извлечения личных изображений. С HNC это может быть довольно сложно, потому что секреты часто генерируются из другого ресурса. Такие сгенерированные секреты часто не могут иметь пользовательские аннотации. Как следствие, такие секреты будут распространяться на подпространства имен, что может вызвать проблемы с безопасностью.
Больше подробностей, вы найдёте в документации.
#k8s #kubernetes #multitenancy #operator
https://github.com/cybozu-go/accurate
Это довольно молодой (сейчас beta) конкурент Hierarchical Namespace Controller (HNC)
И Accurate, и HNC преследуют одну и ту же цель — обеспечить лучшее удобство использования пространства имен в многопользовательских средах Kubernetes.
Accurate более точен, чем HNC, в распространении ресурсов, потому что Accurate использует способ согласия, а HNC использует способ отказа. При использовании Accurate будут распространяться только ресурсы, аннотированные с помощью
accurate.cybozu.com/propagate. При использовании HNC будут распространяться все ресурсы, за исключением специально аннотированных.Предположим, вы хотите распространять только секрет для извлечения личных изображений. С HNC это может быть довольно сложно, потому что секреты часто генерируются из другого ресурса. Такие сгенерированные секреты часто не могут иметь пользовательские аннотации. Как следствие, такие секреты будут распространяться на подпространства имен, что может вызвать проблемы с безопасностью.
Больше подробностей, вы найдёте в документации.
#k8s #kubernetes #multitenancy #operator
https://github.com/cybozu-go/accurate
GitHub
GitHub - cybozu-go/accurate: Kubernetes controller for multi-tenancy. It propagates resources between namespaces accurately and…
Kubernetes controller for multi-tenancy. It propagates resources between namespaces accurately and allows tenant users to create/delete sub-namespaces. - cybozu-go/accurate
🔥2👍1
Опа, нашлась мидлварь для работы с внешним агентом OPA PDP (Policy Decision Point) на .NET - OPA-AspDotNetCore-Middleware
И еще как бонус, WASM агент для OPA на .NET
#opa #aspnet #netcore #pdp
https://github.com/build-security/OPA-AspDotNetCore-Middleware
https://github.com/christophwille/dotnet-opa-wasm
И еще как бонус, WASM агент для OPA на .NET
#opa #aspnet #netcore #pdp
https://github.com/build-security/OPA-AspDotNetCore-Middleware
https://github.com/christophwille/dotnet-opa-wasm
Нашел еще одну утилиту config-syncer (ранее Kubed) - созданную для синхронизации / репликации
Ранее упоминал:
▫️kubernetes-replicator - синхронизирует
▫️kubernetes-reflector синхронизирует
#k8s #kubernetes #integrity
https://github.com/kubeops/config-syncer
ConfigMap и Secret в Kubernetes, но в отличии от аналогов умеет выполнять синхронизацию не только между неймспейсами но и между кластерами Kubernetes.Ранее упоминал:
▫️kubernetes-replicator - синхронизирует
ConfigMap, Secret, Role и RoleBinding между ns▫️kubernetes-reflector синхронизирует
ConfigMap и Secret между ns#k8s #kubernetes #integrity
https://github.com/kubeops/config-syncer
GitHub
GitHub - config-syncer/config-syncer: 🛡️ Kubernetes Config Syncer (previously kubed)
🛡️ Kubernetes Config Syncer (previously kubed). Contribute to config-syncer/config-syncer development by creating an account on GitHub.
Неожиданно для меня, bash скрипт kube-dump для создания чистового дампа yaml манифестов из kubernetes (читай бэкапа), смог набрать 125 звезд на GitHub.
Вчера принесли PR, который добавляет три новых параметра сохранения манифестов Kubernetes.
Стандартная логика не изменилась, но новый функционал появился, в связи с этим выпустил новую минорную версию 1.1.0
#k8s #kubernetes #backup
https://github.com/WoozyMasta/kube-dump
Вчера принесли PR, который добавляет три новых параметра сохранения манифестов Kubernetes.
--detailed — исключает удаление метаданных, файлы сохраняются как есть;--output-by-type — сохраняет ресурсы структурировано по каталогам, сервисы в svc/*, поды в pod/* и т.п. Меня несколько раз просили это сделать, значит параметр нужный;--flat — сохраняет все ресурсы одного типа в один общий файл с списком items:.Стандартная логика не изменилась, но новый функционал появился, в связи с этим выпустил новую минорную версию 1.1.0
#k8s #kubernetes #backup
https://github.com/WoozyMasta/kube-dump
GitHub
GitHub - WoozyMasta/kube-dump: Backup a Kubernetes cluster as a yaml manifest
Backup a Kubernetes cluster as a yaml manifest. Contribute to WoozyMasta/kube-dump development by creating an account on GitHub.
👍1
SLO exporter - это не просто экспортер Service Level Objectives, а скорее нормализатор и класификатор для метрик. Некая мидлварь, которая поможет сначала обработать весь ваш объем метрик Prometheus и уже передать в него самую мякотку.
Как это работает:
Каждое полученное событие имеет метаданные, которые используются для его классификации по определенному домену и классу SLO, как описано в главе рабочей книги SRE «Оповещения об SLO». Кроме того, имя приложения, в котором произошло событие, и идентификатор события также добавляются для облегчения отладки возможного нарушения SLO. Наконец, вы решаете на основе метаданных, было ли событие успешным или неудачным. Затем SLO-exporter предоставляет метрику Prometheus
Также у ребят есть две занимательные статьи на эту тему:
▫️Implementing SRE workbook alerting with Prometheus only
▫️Advanced SLO infrastructure based on slo-exporter
Сам еще не пробовал, но выглядит интересно, думаю как нибудь взять в работу да познакомиться с этим поближе.
#SLO #SLI #prometheus
https://github.com/seznam/slo-exporter
Как это работает:
Каждое полученное событие имеет метаданные, которые используются для его классификации по определенному домену и классу SLO, как описано в главе рабочей книги SRE «Оповещения об SLO». Кроме того, имя приложения, в котором произошло событие, и идентификатор события также добавляются для облегчения отладки возможного нарушения SLO. Наконец, вы решаете на основе метаданных, было ли событие успешным или неудачным. Затем SLO-exporter предоставляет метрику Prometheus
slo_domain_slo_class:slo_events_total{slo_domain="...", slo_class="...", result="..."}. Это дает вам количество успешных или неудачных событий, и это все, что вам нужно для расчета бюджета ошибок (error budget), скорости сгорания (burn rate) и т.п.Также у ребят есть две занимательные статьи на эту тему:
▫️Implementing SRE workbook alerting with Prometheus only
▫️Advanced SLO infrastructure based on slo-exporter
Сам еще не пробовал, но выглядит интересно, думаю как нибудь взять в работу да познакомиться с этим поближе.
#SLO #SLI #prometheus
https://github.com/seznam/slo-exporter
GitHub
GitHub - seznam/slo-exporter: Slo-exporter computes standardized SLI and SLO metrics based on events coming from various data sources.
Slo-exporter computes standardized SLI and SLO metrics based on events coming from various data sources. - seznam/slo-exporter
Хаос-инжиниринг - это весело. На самом деле это ложь, но ниже приведена подборка инструментов и геймификаций которая должна исправить это, при тестированни работы приложений на отказ в кластере Kubernetes. Начиная от простых планировщиков которые будут убивать случайные поды по расписанию вплоть до полноценных игр, где враги - это поды.
▫️ChaosKube - периодически убивает случайные поды;
▫️KubeThanos - убивает половину случайно выбранных подов;
▫️KubeInvaders - похоже на Space Invaders, но инопланетяне - это поды или ноды;
▫️Lens extension Invaders - это расширение для Lens которое добавляет в него KubeInvaders, но убиваем только поды;
▫️KubeDoom - убивайте поды Kubernetes, играя в DOOM;
▫️KubeCraftAdmin - в Minecraft убивайте животных в загонах (неймспейсах), где свинья - pod, корва - deployment, курица - svc, лошадь - rs
▫️Whack-a-pod - игра, цель которой нарушить работоспособность сервиса, бейте молотком по вылезающим из нор кротов (поды) и попробуйте нарушить работу приложения
▫️Kube-Chaos - игра в стиле Twin Stick Shooter для убийства подов
#chaos #chaos_engineering #fun
▫️ChaosKube - периодически убивает случайные поды;
▫️KubeThanos - убивает половину случайно выбранных подов;
▫️KubeInvaders - похоже на Space Invaders, но инопланетяне - это поды или ноды;
▫️Lens extension Invaders - это расширение для Lens которое добавляет в него KubeInvaders, но убиваем только поды;
▫️KubeDoom - убивайте поды Kubernetes, играя в DOOM;
▫️KubeCraftAdmin - в Minecraft убивайте животных в загонах (неймспейсах), где свинья - pod, корва - deployment, курица - svc, лошадь - rs
▫️Whack-a-pod - игра, цель которой нарушить работоспособность сервиса, бейте молотком по вылезающим из нор кротов (поды) и попробуйте нарушить работу приложения
▫️Kube-Chaos - игра в стиле Twin Stick Shooter для убийства подов
#chaos #chaos_engineering #fun
👍3
Chaos Mesh - это облачная платформа Chaos Engineering, которая организует хаос в средах Kubernetes, вносит хаос в приложения и инфраструктуру Kubernetes управляемым способом, который предоставляет простые настраиваемые определения для экспериментов с хаосом и автоматической оркестровки.
Состоит из компонентов:
🔹Chaos Operator: используется для планирования и управления жизненным циклом объектов CRD.
🔹Chaos Dashboard: веб-интерфейс для управления, проектирования и мониторинга экспериментов с хаосом.
Chaos Operator использует CustomResourceDefinition (CRD) для определения объектов хаоса:
▫️pod-kill: выбранный pod уничтожается (потребоваться ReplicaSet или что-то подобное, чтобы обеспечить перезапуск);
▫️pod-failure: выбранный pod будет недоступен в течение указанного периода времени;
▫️container-kill: выбранный контейнер уничтожается в выбранном поде;
▫️netem chaos: сетевой хаос, такой как задержка, дублирование и т.д.;
▫️network-partition: имитация разделения сети;
▫️IO chaos: имитация ошибок файловой системы, таких как задержка ввода-вывода, ошибки чтения/записи и т.д.;
▫️time chaos: выбранному поду будет введено искажение часов;
▫️cpu-burn: имитирует нагрузку на ЦП выбранного пода;
▫️memory-burn: имитирует утилизацию памяти выбранного пода;
▫️kernel chaos: выбранный под будет внедрен с ошибками (slab, bio и т.д);
▫️dns chaos: выбранный под будет содержать ошибки DNS, такие как error, random.
#chaos #chaos_engineering #k8s #kubernetes
https://github.com/chaos-mesh/chaos-mesh
Состоит из компонентов:
🔹Chaos Operator: используется для планирования и управления жизненным циклом объектов CRD.
🔹Chaos Dashboard: веб-интерфейс для управления, проектирования и мониторинга экспериментов с хаосом.
Chaos Operator использует CustomResourceDefinition (CRD) для определения объектов хаоса:
▫️pod-kill: выбранный pod уничтожается (потребоваться ReplicaSet или что-то подобное, чтобы обеспечить перезапуск);
▫️pod-failure: выбранный pod будет недоступен в течение указанного периода времени;
▫️container-kill: выбранный контейнер уничтожается в выбранном поде;
▫️netem chaos: сетевой хаос, такой как задержка, дублирование и т.д.;
▫️network-partition: имитация разделения сети;
▫️IO chaos: имитация ошибок файловой системы, таких как задержка ввода-вывода, ошибки чтения/записи и т.д.;
▫️time chaos: выбранному поду будет введено искажение часов;
▫️cpu-burn: имитирует нагрузку на ЦП выбранного пода;
▫️memory-burn: имитирует утилизацию памяти выбранного пода;
▫️kernel chaos: выбранный под будет внедрен с ошибками (slab, bio и т.д);
▫️dns chaos: выбранный под будет содержать ошибки DNS, такие как error, random.
#chaos #chaos_engineering #k8s #kubernetes
https://github.com/chaos-mesh/chaos-mesh
GitHub
GitHub - chaos-mesh/chaos-mesh: A Chaos Engineering Platform for Kubernetes.
A Chaos Engineering Platform for Kubernetes. Contribute to chaos-mesh/chaos-mesh development by creating an account on GitHub.
Litmus Chaos — это платформа Chaos Engineering с открытым исходным кодом, которая позволяет командам выявлять слабые места и потенциальные сбои в инфраструктурах путем контролируемого запуска тестов хаоса.
Litmus использует облачный подход для создания, управления и мониторинга хаоса. Сама платформа работает как набор микросервисов и использует пользовательские ресурсы Kubernetes для определения хаоса, а также гипотезы стабильного состояния.
Очень похож на Chaos Mesh, возможно будет немного сложнее в настройке, но тем самым и дает большую гибкость, к примеру в Litmus есть Multi Tenant, GitOps (Event-Driven Chaos Injection) и ChaosHub - портал с различными экспериментами от сообщества, хоть их там не много, но уже что-то.
#chaos #chaos_engineering #k8s #kubernetes
https://github.com/litmuschaos/litmus
Litmus использует облачный подход для создания, управления и мониторинга хаоса. Сама платформа работает как набор микросервисов и использует пользовательские ресурсы Kubernetes для определения хаоса, а также гипотезы стабильного состояния.
Очень похож на Chaos Mesh, возможно будет немного сложнее в настройке, но тем самым и дает большую гибкость, к примеру в Litmus есть Multi Tenant, GitOps (Event-Driven Chaos Injection) и ChaosHub - портал с различными экспериментами от сообщества, хоть их там не много, но уже что-то.
#chaos #chaos_engineering #k8s #kubernetes
https://github.com/litmuschaos/litmus
GitHub
GitHub - litmuschaos/litmus: Litmus helps SREs and developers practice chaos engineering in a Cloud-native way. Chaos experiments…
Litmus helps SREs and developers practice chaos engineering in a Cloud-native way. Chaos experiments are published at the ChaosHub (https://hub.litmuschaos.io). Community notes is at https://hack...
Подборка утилит, на тему эмуляции сети и имитации распространенных сетевых проблем:
▫️netem — стандартная linux утилита, обеспечивает функциональность эмуляции сети для тестирования протоколов путем имитации свойств глобальных сетей. Эмулирует переменную задержку, потерю, дублирование и изменение порядка.
▫️slow — bash обёртка над netem, если кому некогда разбираться в параметрах
▫️dummynet — это инструмент для эмуляции сети в реальном времени, первоначально разработанный для тестирования сетевых протоколов. Он имитирует/применяет ограничения очереди и пропускной способности, задержки, потери пакетов и эффекты многолучевости.
▫️Comcast — это инструмент, предназначенный для имитации распространенных сетевых проблем, таких как задержки, ограничения полосы пропускания и отброшенные/переупорядоченные/поврежденные пакеты.
▫️Toxiproxy — это фреймворк для моделирования сетевых условий. Он создан специально для работы в средах тестирования, непрерывной интеграции и разработки, поддерживая детерминированное вмешательство в соединения, но с поддержкой рандомизированного хаоса и настройки.
▫️Muxy — это прокси-сервер, который взаимодействует с вашей системой и контекстом приложения, работая на уровнях 4, 5 и 7, позволяя вам моделировать распространенные сценарии сбоев с точки зрения тестируемого приложения, например, API или веб-приложение.
▫️Pumba — это инструмент командной строки для тестирования хаоса для контейнеров Docker. Pumba нарушает работу ваших контейнеров, вызывая сбой контейнерного приложения, эмулируя сбои сети и стресс-тестируя ресурсы контейнера.
▫️sitespeed.io - инструмент для тестирования скорости работы веб-приложения, позволяет гибко настраивать лимиты подключения со стороны браузера, на выходе имеем как встроенный дашборд так и метрики prometheus с алертами.
#chaos #chaos_engineering #proxy #testing #network
▫️netem — стандартная linux утилита, обеспечивает функциональность эмуляции сети для тестирования протоколов путем имитации свойств глобальных сетей. Эмулирует переменную задержку, потерю, дублирование и изменение порядка.
▫️slow — bash обёртка над netem, если кому некогда разбираться в параметрах
▫️dummynet — это инструмент для эмуляции сети в реальном времени, первоначально разработанный для тестирования сетевых протоколов. Он имитирует/применяет ограничения очереди и пропускной способности, задержки, потери пакетов и эффекты многолучевости.
▫️Comcast — это инструмент, предназначенный для имитации распространенных сетевых проблем, таких как задержки, ограничения полосы пропускания и отброшенные/переупорядоченные/поврежденные пакеты.
▫️Toxiproxy — это фреймворк для моделирования сетевых условий. Он создан специально для работы в средах тестирования, непрерывной интеграции и разработки, поддерживая детерминированное вмешательство в соединения, но с поддержкой рандомизированного хаоса и настройки.
▫️Muxy — это прокси-сервер, который взаимодействует с вашей системой и контекстом приложения, работая на уровнях 4, 5 и 7, позволяя вам моделировать распространенные сценарии сбоев с точки зрения тестируемого приложения, например, API или веб-приложение.
▫️Pumba — это инструмент командной строки для тестирования хаоса для контейнеров Docker. Pumba нарушает работу ваших контейнеров, вызывая сбой контейнерного приложения, эмулируя сбои сети и стресс-тестируя ресурсы контейнера.
▫️sitespeed.io - инструмент для тестирования скорости работы веб-приложения, позволяет гибко настраивать лимиты подключения со стороны браузера, на выходе имеем как встроенный дашборд так и метрики prometheus с алертами.
#chaos #chaos_engineering #proxy #testing #network
👍3
This media is not supported in your browser
VIEW IN TELEGRAM
Pyroscope — это платформа непрерывного профилирования с открытым исходным кодом. Есть дашборд, очень аккуратно утилизирует CPU и замечательно сжимает данные на диске, что позволяет хранить годами данные от нескольких приложений.
Поможет вам:
- Найти проблемы с производительностью и узкие места в вашем коде
- Устранять проблемы с высокой загрузкой ЦП
- Разобраться с деревом вызовов вашего приложения
- Отслеживать изменения хронологически
Дэмо версия для потрогать
Интеграции:
- Ruby (через rbspy)
- Python (через py-spy)
- Go (через pprof)
- Linux eBPF (через profile.py из bcc-tools)
- PHP (через phpspy)
- .NET (через dotnet trace)
- Java (через async-profiler)
- Rust (в процессе разработки, через pprof-rs)
- Node (в поиске участников для реализации)
#profiling #debug #go #net #python #bpf #rust
https://github.com/pyroscope-io/pyroscope
Поможет вам:
- Найти проблемы с производительностью и узкие места в вашем коде
- Устранять проблемы с высокой загрузкой ЦП
- Разобраться с деревом вызовов вашего приложения
- Отслеживать изменения хронологически
Дэмо версия для потрогать
Интеграции:
- Ruby (через rbspy)
- Python (через py-spy)
- Go (через pprof)
- Linux eBPF (через profile.py из bcc-tools)
- PHP (через phpspy)
- .NET (через dotnet trace)
- Java (через async-profiler)
- Rust (в процессе разработки, через pprof-rs)
- Node (в поиске участников для реализации)
#profiling #debug #go #net #python #bpf #rust
https://github.com/pyroscope-io/pyroscope
🔥2
Kubenurse - это небольшой сервис, который отслеживает все сетевые подключения в кластере Kubernetes. Kubenurse измеряет продолжительность запросов, записывает ошибки и экспортирует эти показатели в формате Prometheus.
Все выполненные проверки предоставляют метрики, которые можно использовать для мониторинга/предупреждения:
▫️Задержки и ошибки сети SDN
▫️Задержки и ошибки сети kubelet-to-kubelet
▫️Связь pod-apiserver
▫️Задержки и ошибки приема-передачи
▫️Задержки и ошибки сервисов (kube-proxy)
▫️Основные проблемы kube-apiserver
▫️Ошибки CoreDNS
▫️Внешние ошибки разрешения DNS
#k8s #kubernetes #prometheus #network
https://github.com/postfinance/kubenurse
Все выполненные проверки предоставляют метрики, которые можно использовать для мониторинга/предупреждения:
▫️Задержки и ошибки сети SDN
▫️Задержки и ошибки сети kubelet-to-kubelet
▫️Связь pod-apiserver
▫️Задержки и ошибки приема-передачи
▫️Задержки и ошибки сервисов (kube-proxy)
▫️Основные проблемы kube-apiserver
▫️Ошибки CoreDNS
▫️Внешние ошибки разрешения DNS
#k8s #kubernetes #prometheus #network
https://github.com/postfinance/kubenurse
👍3
This media is not supported in your browser
VIEW IN TELEGRAM
Plumber — это CLI инструмент для проверки, передачи, обмена сообщениями и перенаправления данных в таких системах как Kafka, RabbitMQ и подобных брокерах сообщений.
Инструмент позволяет:
▫️Безопасный просмотр содержимого ваших потоков данных
▫️Запись простых или закодированных данных в любую систему
▫️Маршрутизация данных из одного места в другое
▫️Декодирование данных protobuf/avro/thrift/JSON в режиме реального времени
▫️Ретрансляция данных в Batch platform
▫️Воспроизведение событий в системе сообщений в вашей локальной сети
А поддерживает эта утилита и в правду много систем. А именно: Kafka, RabbitMQ, GCP PubSub, MQTT, Amazon Kinesis Streams, Amazon SQS, Amazon SNS, ActiveMQ, Azure Service Bus, Azure Event Hub, NATS, NATS Streaming, Redis-PubSub, Redis-Streams, Postgres CDC, MongoDB CDC, Apache Pulsar, NSQ, KubeMQ 😳
#cli #kafka #rabbitmq #pubsub
https://github.com/batchcorp/plumber
Инструмент позволяет:
▫️Безопасный просмотр содержимого ваших потоков данных
▫️Запись простых или закодированных данных в любую систему
▫️Маршрутизация данных из одного места в другое
▫️Декодирование данных protobuf/avro/thrift/JSON в режиме реального времени
▫️Ретрансляция данных в Batch platform
▫️Воспроизведение событий в системе сообщений в вашей локальной сети
А поддерживает эта утилита и в правду много систем. А именно: Kafka, RabbitMQ, GCP PubSub, MQTT, Amazon Kinesis Streams, Amazon SQS, Amazon SNS, ActiveMQ, Azure Service Bus, Azure Event Hub, NATS, NATS Streaming, Redis-PubSub, Redis-Streams, Postgres CDC, MongoDB CDC, Apache Pulsar, NSQ, KubeMQ 😳
#cli #kafka #rabbitmq #pubsub
https://github.com/batchcorp/plumber
👍2
jo — небольшая утилита для создания объектов JSON.
К примеру:
https://github.com/jpmens/jo
К примеру:
jo -p name=jo n=17 parser=falseполучим:
{
"name": "jo",
"n": 17,
"parser": false
}
илиseq 1 10 | jo -aполучим:
[1,2,3,4,5,6,7,8,9,10]#cli #json
https://github.com/jpmens/jo
GitHub
GitHub - jpmens/jo: JSON output from a shell
JSON output from a shell. Contribute to jpmens/jo development by creating an account on GitHub.
Тут у Keycloak вышел релиз 17.0 - дистрибутив по умолчанию теперь основан на Quarkus, прощай WildFly. Это изменение должно сделать keycloak быстрее, компактнее и намного проще в настройке.
При этом, способ запуска и настройки Keycloak радикально изменился, по этому поддерживать дистрибутив WildFly будут до июня 2022 года.
#keycloak
https://github.com/keycloak/keycloak/releases/tag/17.0.0
При этом, способ запуска и настройки Keycloak радикально изменился, по этому поддерживать дистрибутив WildFly будут до июня 2022 года.
#keycloak
https://github.com/keycloak/keycloak/releases/tag/17.0.0
GitHub
GitHub - keycloak/keycloak: Open Source Identity and Access Management For Modern Applications and Services
Open Source Identity and Access Management For Modern Applications and Services - keycloak/keycloak
😱2👍1🔥1
Mizu - простое, но мощное средство просмотра API трафика для Kubernetes, позволяющее просматривать все взаимодействия API между микросервисами, чтобы помочь вам отлаживать регрессии и устранять неполадки.
Ну это, что-то на подобии TCPDump и Wireshark для Kubernetes.
Имеет CLI, гибкую фильтрацию и отслеживает в реальном времени трафик:
▫️HTTP/1.x (REST, GraphQL, SOAP, etc.)
▫️HTTP/2 (gRPC)
▫️AMQP (RabbitMQ, Apache Qpid, etc.)
▫️Apache Kafka
▫️Redis
#k8s #kubernetes #network #wireshark #tcpdump
https://github.com/up9inc/mizu
Ну это, что-то на подобии TCPDump и Wireshark для Kubernetes.
Имеет CLI, гибкую фильтрацию и отслеживает в реальном времени трафик:
▫️HTTP/1.x (REST, GraphQL, SOAP, etc.)
▫️HTTP/2 (gRPC)
▫️AMQP (RabbitMQ, Apache Qpid, etc.)
▫️Apache Kafka
▫️Redis
#k8s #kubernetes #network #wireshark #tcpdump
https://github.com/up9inc/mizu
RedisJSON — это модуль Redis, который реализует стандарт обмена данными JSON ECMA-404 в качестве собственного типа данных. Он позволяет хранить, обновлять и извлекать значения JSON из ключей (документов) Redis.
Документация
Подгружается в сервер как модуль
Также есть клиентские библиотеки на Node.js, Java, Python, Go, .NET, PHP и Ruby. И скорее всего ваша библиотека уже умеет в JSON.
#redis #json
https://github.com/RedisJSON/RedisJSON
Документация
Подгружается в сервер как модуль
redis-server --loadmodule ./target/release/librejson.soИли берем готовый контейнер redislabs/rejson:latest
Также есть клиентские библиотеки на Node.js, Java, Python, Go, .NET, PHP и Ruby. И скорее всего ваша библиотека уже умеет в JSON.
#redis #json
https://github.com/RedisJSON/RedisJSON
GitHub
GitHub - RedisJSON/RedisJSON: RedisJSON - a JSON data type for Redis
RedisJSON - a JSON data type for Redis. Contribute to RedisJSON/RedisJSON development by creating an account on GitHub.
Обновил CI образ для Archi и GitHub Action. Подробности здесь.
Обновился Archi 4.9.2 и coArchi 0.8.2
#archi #archimate #ci
https://github.com/marketplace/actions/deploy-archi-report
https://github.com/WoozyMasta/archimate-ci-image
Обновился Archi 4.9.2 и coArchi 0.8.2
#archi #archimate #ci
https://github.com/marketplace/actions/deploy-archi-report
https://github.com/WoozyMasta/archimate-ci-image
GitHub
GitHub - WoozyMasta/archimate-ci-image: Archi container image for use in continuous integration pipelines
Archi container image for use in continuous integration pipelines - WoozyMasta/archimate-ci-image
XSV — это программа командной строки для индексации, нарезки, анализа, разделения и объединения CSV-файлов. Написана на Rust.
▫️cat — объединение CSV по строке или по столбцу
▫️count — подсчет строк в CSV (Мгновенно с индексом)
▫️fixlengths — заставить CSV иметь записи одинаковой длины, либо дополняя, либо усекая их
▫️flatten — плоский вид записей CSV
▫️fmt — переформатировать данные CSV с другими разделителями, разделителями записей или правилами цитирования
▫️frequency — создание частотных таблиц для каждого столбца в данных CSV. (Использует параллелизм)
▫️headers — показать заголовки данных CSV
▫️index — создать индекс для CSV
▫️input - чтение данных CSV с экзотическими правилами цитирования/экранирования
▫️join - внутренние, внешние и перекрестные соединения
▫️partition — разбиение данных CSV на основе значения столбца
▫️sample — произвольное рисование строк из данных CSV с использованием выборки
▫️reverse — обратный порядок строк в данных CSV
▫️search — запустить регулярное выражение для данных CSV
▫️select — выберите или измените порядок столбцов данных CSV
▫️slice — нарезать строки из любой части CSV
▫️sort — сортировка данных CSV
▫️split — разделить один CSV на множество CSV по N фрагментов
▫️stats — показать основные типы и статистику каждого столбца в CSV
▫️table — показать выровненный вывод любых данных CSV
#csv #cli
https://github.com/BurntSushi/xsv
▫️cat — объединение CSV по строке или по столбцу
▫️count — подсчет строк в CSV (Мгновенно с индексом)
▫️fixlengths — заставить CSV иметь записи одинаковой длины, либо дополняя, либо усекая их
▫️flatten — плоский вид записей CSV
▫️fmt — переформатировать данные CSV с другими разделителями, разделителями записей или правилами цитирования
▫️frequency — создание частотных таблиц для каждого столбца в данных CSV. (Использует параллелизм)
▫️headers — показать заголовки данных CSV
▫️index — создать индекс для CSV
▫️input - чтение данных CSV с экзотическими правилами цитирования/экранирования
▫️join - внутренние, внешние и перекрестные соединения
▫️partition — разбиение данных CSV на основе значения столбца
▫️sample — произвольное рисование строк из данных CSV с использованием выборки
▫️reverse — обратный порядок строк в данных CSV
▫️search — запустить регулярное выражение для данных CSV
▫️select — выберите или измените порядок столбцов данных CSV
▫️slice — нарезать строки из любой части CSV
▫️sort — сортировка данных CSV
▫️split — разделить один CSV на множество CSV по N фрагментов
▫️stats — показать основные типы и статистику каждого столбца в CSV
▫️table — показать выровненный вывод любых данных CSV
#csv #cli
https://github.com/BurntSushi/xsv
GitHub
GitHub - BurntSushi/xsv: A fast CSV command line toolkit written in Rust.
A fast CSV command line toolkit written in Rust. Contribute to BurntSushi/xsv development by creating an account on GitHub.