ar
Feedback
I hate overtime

I hate overtime

الذهاب إلى القناة على Telegram

Some DevOps, SRE and IT development stuff

إظهار المزيد
1 057
المشتركون
لا توجد بيانات24 ساعات
لا توجد بيانات7 أيام
لا توجد بيانات30 أيام

جاري تحميل البيانات...

القنوات المماثلة
لا توجد بيانات
هل تواجه مشاكل؟ يرجى تحديث الصفحة أو الاتصال بمدير الدعم الخاص بنا.
سحابة العلامات
لا توجد بيانات
هل تواجه مشاكل؟ يرجى تحديث الصفحة أو الاتصال بمدير الدعم الخاص بنا.
الإشارات الواردة والصادرة
---
---
---
---
---
---
جذب المشتركين
يونيو '23
يونيو '23
+3
في 0 قنوات
مايو '23
+3
في 0 قنوات
Get PRO
أبريل '23
+3
في 0 قنوات
Get PRO
مارس '23
+2
في 0 قنوات
Get PRO
فبراير '23
+4
في 0 قنوات
Get PRO
يناير '23
+1
في 0 قنوات
Get PRO
ديسمبر '22
+3
في 0 قنوات
Get PRO
نوفمبر '220
في 0 قنوات
Get PRO
أكتوبر '22
+2
في 0 قنوات
Get PRO
سبتمبر '22
+5
في 0 قنوات
Get PRO
أغسطس '22
+6
في 0 قنوات
Get PRO
يوليو '22
+3
في 0 قنوات
Get PRO
يونيو '22
+2
في 0 قنوات
Get PRO
مايو '22
+4
في 0 قنوات
Get PRO
أبريل '22
+7
في 0 قنوات
Get PRO
مارس '22
+15
في 0 قنوات
Get PRO
فبراير '22
+17
في 0 قنوات
Get PRO
يناير '22
+12
في 0 قنوات
Get PRO
ديسمبر '21
+35
في 0 قنوات
Get PRO
نوفمبر '21
+7
في 0 قنوات
Get PRO
أكتوبر '21
+5
في 0 قنوات
Get PRO
سبتمبر '21
+10
في 0 قنوات
Get PRO
أغسطس '21
+6
في 0 قنوات
Get PRO
يوليو '21
+17
في 0 قنوات
Get PRO
يونيو '21
+10
في 0 قنوات
Get PRO
مايو '21
+8
في 0 قنوات
Get PRO
أبريل '21
+31
في 0 قنوات
Get PRO
مارس '21
+306
في 0 قنوات
Get PRO
فبراير '21
+5
في 0 قنوات
Get PRO
يناير '21
+45
في 0 قنوات
Get PRO
ديسمبر '20
+943
في 0 قنوات
التاريخ
نمو المشتركين
الإشارات
القنوات
13 يونيو0
12 يونيو0
11 يونيو0
10 يونيو0
09 يونيو+1
08 يونيو+1
07 يونيو0
06 يونيو0
05 يونيو+1
04 يونيو0
03 يونيو0
02 يونيو0
01 يونيو0
منشورات القناة
#k8s Все кубернетесоводы наверняка всё знают про ингресы, поэтому сегодня я вам принес про темную лошадку сетей k8s. Встречаем egress. Очень советую почитать тем, у кого лютуют безопасники вооруженные файрволами

2
#auth #админство #security Инструкция по настройке времен жизни токена в ADFS. Есть настройки и на SSO токена самого ADFS и SAML assertion’а. Хозяюшке на заметку так же полный список всех пропертей Relying Party Trust
615
3
#network #proxy В очередной раз объясняя коллеге как клиенты работают с HTTP-прокси(нет, не просто меняем урл на урл прокси-сервера) понял, что надо найти хорошую статью. Внезапно нашлось с трудом, так что решил поделиться
2 134
4
#security Оказывается CISA(Американский аналог ФСТЭК) выпускает очень годные гайды по защите всего и вся. Вот, например, гайд по защите k8s. Ради интереса поискал аналогичную инфу у ФСТЭК. Не нашел(
2 132
5
Дорогие подписчики, всегда старался держать канал в стороне от политики, но то что сейчас происходит -- это полный п$здец. Украинцы, держитесь! Сил вам и здоровья! #нет_войне
2 213
6
Пожалуй прикопаю тут отличное объяснение на пальцах BGP anycast'а. Вдруг кому-то тоже пригодится сшивать датацентры и строить метеоритоустойчивость из палок и шишек
4 418
7
Всем привет! Котаны, а тут вышли видосы с последней Гидры. Конфа вышла -- огонь! Бесспорным лидером по количеству докладов стал TLA+, но лично я дико кайфовал с доклада Naama Ben-David. Прям вся боль катастрофоустойчивости за полтора часа. Крайне рекомендую!
4 140
8
#arch Так уж получается, что последнее время на работе чаще рисую картинки в draw.io чем кодец в ide. И проблема обычно в том, как при разрастании картинки, не превратить ее в паутину из стрелочек. Недавно открыл для себя вот такое: https://blogs.mulesoft.com/api-integration/strategy/a-visual-language-for-digital-integration/ и пока что доволен как черт! Тем кто часто рисует data-flow диаграммы и страдает -- очень рекомендую! Кстати, в блогпосте есть несколько ссылок на крутейшие книги по системной архитектуре. Подарочек тем, кому нечего читать;)
1 375
9
#postgres #db Очень полезная статья про тюнинг чекпоинтов в постгресе + бонусом инструкция как рассчитывать размер WAL
1 858
10
вот люблю красивые решения для мониторинговых дашбордов с зонтиками, бантиками и интуитивным дрилл-дауном. Но тут нашел просто идеал дашборда. Даже если выкинуть весь хайповый мусор типа AI и NLP, то оно красивое, удобное и полезное. Самое интересное, что видосу уже 5 лет)
904
11
Sloth, Pyrra Весной я упоминал спеку OpenSLO и вероятность реализации оператора, или контроллера по этой спецификации для создания дашбордов или алертов. Эта поделка была удачно забыта, но вчера в соседнем чатике нахожу тулу: ✅ https://github.com/slok/sloth Суть Sloth - описать SLO, дашборду и алерт как манифест в YAML, в OpenSLO формате. Прикол! В README по ссылке есть пример, а в репозитории - helm чарт. Дальше, в комментариях вижу: ✅ https://github.com/pyrra-dev/pyrra Pyrra - status page на анаболических стероидах и тестостероновых бустерах. Выглядит космически - собираем все сервисы платформы, и генерим одну UI для SLO. Бомба. В issues спрашивают, будет ли поддержка описания в OpenSLO, ответ - ‘yes, for sure’. Спонсор поста - @oleg_log, подсмотрел там эти решения. Наша реализация с grafana-operator и GrafanaDashboard CRD внезапно стала выглядеть как Monitoring Platform 101, но уже отчетливо видно, где следующая итерация. 😅
558
12
Я сдул пыль со своего блога, немного его причесал и выложил туда все публичные статьи, которые писал про функциональное программирование, в том числе переведенные на английский статьи из цикла «Введение в fp-ts» с Хабра. Встречайте: https://ybogomolov.me 🤘🏻 Серия "Intro to fp-ts": https://ybogomolov.me/01-higher-kinded-types https://ybogomolov.me/02-type-classes https://ybogomolov.me/03-nullables-exceptions https://ybogomolov.me/04-tasks Серия #MonadicMondays: https://ybogomolov.me/monadic-monday-compilation-april https://ybogomolov.me/monadic-monday-compilation-may https://ybogomolov.me/monadic-monday-compilation-june https://ybogomolov.me/monadic-monday-compilation-july Прочее: Статья про типобезопасный фронт: https://ybogomolov.me/typesafe-typescript Статья про пакет circuit-breaker-monad: https://ybogomolov.me/circuit-breaker-in-functional-world Недавняя заметка про комментарии к функциям как образовательный ресурс: https://ybogomolov.me/comments-as-education В дальнейшем все материалы, которые я буду создавать, будут в первую очередь публиковаться именно в блоге.
807
13
Recently I've got a few interns to look after and mentor, so one of them asked for some advice on improving their system design skills. So I gave a long monolog on digging through the layers of abstractions and being curious and genuinely understanding how things work. After it, I suggested them to read a "Designing Data-Intensive Applications" book and also prepared a shortlist of talks that can work as conversation starter or places from where you can start digging deeper. Here is the list: https://youtu.be/WE9c9AZe-DY https://youtu.be/j6ow-UemzBc https://youtu.be/1TIzPL4878Q https://youtu.be/CZ3wIuvmHeM https://youtu.be/I32hmY4diFY https://youtu.be/hnpzNAPiC0E https://youtu.be/y2j_TB3NsRc https://youtu.be/t7iVCIYQbgk https://youtu.be/IO4teCbHvZw https://youtu.be/6w6E_B55p0E https://youtu.be/B5NULPSiOGw https://youtu.be/_M-oHxknfnI https://youtu.be/lKXe3HUG2l4 https://youtu.be/r-TLSBdHe1A https://youtu.be/fU9hR3kiOK0 https://youtu.be/lJ8ydIuPFeU https://youtu.be/5ZjhNTM8XU8 https://youtu.be/9RMOc0SwRro https://youtu.be/tM4YskS94b0 https://youtu.be/H0i_bXKwujQ https://youtu.be/m64SWl9bfvk https://youtu.be/cNICGEwmXLU https://youtu.be/em9zLzM8O7c https://youtu.be/ohvPnJYUW1E https://youtu.be/HJIjTTHWYnE Write in the comments: what else would you recommend or what talk you'd add to the list.
709
14
#postgres Шикарнейший лонгрид про тюнинг постгреса от выбора железок и до всеми любимого postgresql.conf
1 117
15
#sizing Котаны, привет! Так уж получилось, что последнее время мне очень часто приходится считать сайзинг для всяких разных опенсурсных коробочек и, соответственно, всеми правдами и не правдами искать рекомендации от производителя по прожорливости их изобретений. И вот мне это надоело, так что решил тут сколлекционировать: + Apache Kafka + Dremio + Redis + Elasticsearch (здесь все сложно. По ссылке статья на хабре с кучей полезных ссылок на вебинары elastic'а с рекомендациями по расчетам) + MongoDb (тут видос. Извинити) + Postgres (пдфка про форк, но и к обычному постгресу подходит. Ну и отличный видос про настройку) + Kubernetes (раз и два) + etcd + minio + Prometheus память диски Наверняка подъедет что-то еще, так что будут UPD
1 088
16
#cqrs Итак, подытожим: за возможность практически линейно скейлиться до небывалых высот мы заплатим: - консистентностью данных - конским порогом входа (нам нужен чувак, как минимум, умеющий в EDA, CQRS и DDD) - риском выплюнуть пользователю мусор вместо данных из нашего RP, если считаем аггрегаты - скотски запутанной логикой на сагах и FSM Выглядит не очень радужно, правда? На самом деле все не так плохо. Есть очень много областей, где можно уверенно тащить cqrs и не знать горя. Отличный пример -- уже упоминавшиеся выше нотификации. Новостные ленты, тоже отлично строятся на cqrs. Более того, я встречал достаточно много людей успешно выстраивающих приложения на cqrs и в e-commerce и даже в финансовой сфере. Помимо этого, есть еще набор фреймворков c Lagom во главе для облегчения жизни и уменьшения бойлерплейта. Главное, тащем-то как и всегда, сначала думать головой а не просто делать так же как сосед слева😉
1 029
17
#cqrs Всем привет, котаны, погнали дальше с нашими CQRSами. Как бы нам еще подтюнить наш RP? А что если вместо ванильной 3й нормальной формы, в которой лежат данные в нашем WP заиметь сразу хранилище с готовыми к выдаче на клиент данными? Такой себе локальный DWH внутри. Ну давайте попробуем изобрести GoldenGate на коленке. Во-первых, у нас есть event'ы, которые содержат всю инфу о происходящем с нашей системой и на которые мы можем подписаться в любой момент. Теоретически мы могли бы сделать event handler'а для ивентов системы и последовательно применять их к нашей "реплике", что бы получить данные в совершенно произвольной удобной нам форме. Практически тут 2 проблемы: во-первых, информация в ивентах, как правило, отражает только то, что изменилось в системе, а в нашей реплике может лежать сложный аггрегат, для построения которого нужно будет откуда-то получить инфу, которой в ивентах нет. Например, нам надо показать среднюю температуру по больнице, но мы получаем ивент, что температура одного пациента изменилась с 39 на 36.6. Придется откуда-то взять кол-во пациентов, их температуры и перерасчитать наше среднее. Универсально тут порешать не получится, каждый изголяется как хочет. Кто-то кладет больше инфы в ивенты, в итоге ивенты распухают и вот у вас уже сообщенька на 100500 полей в которых черт ногу сломит. Кто-то строит "дубль" данных WP в нашей любимой 3й нормальной, из которой можно забрать все нужные данные для обновления нашего аггрегата. Кто-то лезет за данными в WP впринципе нивилируя тем самым все плюшки CQRS. Кароч крассивого решения я не видел, если кто умеет решать такое не костылем, прошу в комменты. Во-вторых, все сообщеньки, как правило, идут по какому-то транспорту, что опять же привносит в наш идеальный мир щепотку геморроя с гарантиями(знаете это непередаваемое ощущение когда понимаешь, что ивенты приходят не в правильном порядке и у тебя в RP уже пол-года лежит мусор). И это хорошо, если транспорт хотя бы персистентый, а если ивенты еще и теряются по дороге, то тут вообще шляпа. Но перейдем к самому интересному, к WP. Тут все еще веслелее: как правило WP в CQRS строится с использованием замечательных практик DDD. В частности у нас есть корень аггрегата, который принимает команды, что-то у себя внутри транзакционно делает и выплевывает ивент. Звучит вроде просто, но и тут у нас интересное. Для начала, надо понимать, что при таком подходе граница транзакции у нас совпадает с границами DDDшного аггрегата. Впринципе, если верить светилам DDD, то этого достаточно, но вот как показывает моя практика, очень часто бизнес хочет транзакционность внутри всего bounded context, а не внутри отдельных аггрегатов и тут мы плавно въезжаем в удивительный мир распределенных транзакций, саг и координаторов. Программировать конечные автоматы с 3хфазными коммитами, компенсаторами и прочей мишурой конечно увлекательно, но только первые 5 раз. А дальше начинается наши любимые отрицание, гнев, торг и т.п. Во вторых, надо сказать, что DDD это очень круто, но очень сложно. Если вы не умеете вот в эти event stroming'и, bounded context'ы и context map'ы, то учиться придется. Но самое "приятное" тут то, что DDD очень хрупкое и очень чутко реагирует на косяки разработчиков в доменной модели. Есть у меня такое ощущение, что DDD при неправильном использовании примерно во столько же усложняет жизнь девелоперам, во сколько упрощает при правильном, но об этом как-нибудь в другой раз.
763
18
Это первая часть истории моих страданий с cqrs, обязательно рожу продолжение, а пока рекомендую сходить к Илье на митап послушать про сабж
938
19
#cqrs Кажется уже как-то писал сюда, что самым грустным в нашей индустрии на сегодняшний день я считаю культ карго. Благодаря огромному количеству информационного шума разработка ПО из инженерии превращается в набор лучших практик, которые натягиваются на абсолютно любой кейс. Удивительно то, что забивать гвозди исхитряются всем чем угодно: архитектурными стилями, технологиями и даже процессами. В этом тредике расскажу про проявления этой болячки от которых у меня больше всего бомбит. Начнем пожалуй с одной из последних таких серебряных пуль. Прошу любить и жаловать CQRS CQRS -- это эволюция принципа разделения команд и запросов(CQS) Бертрана Мейера, который был призван принести в мейнстримовые языки(в созданный им Eifell) лучшие практики, в частности, local reasoning из набирающих популярность функциональных языков. Основной смысл в том, что вы всегда можете глядя на сигнатуру функции однозначно понять что она делает без нежданчиков типа изменения значения параметров функции или глобального стейта. Таким образом кодец становится сильно проще читать и понимать, что уменьшает так же и порог входа для новых членов команды. CQS для этого предлагает поделить все методы на запросы и команды, где запросы всегда только возвращают результат, ни коим образом не влияя на состояние каких-то объектов системы, а комманды как раз меняют стейт, но не возвращают ничего кроме ошибки. CQRS же достаточно сильно развивает эту концепцию обильно сдабривая все это асинхронщиной и канкаренси, что впринципе не мудрено, с учетом того что Грег Янг изобрел ее для решения задач мастабируемости своих приложений. Смысл в том, что мы аккуратно переходим от синхронной архитектуры с логически разделенными частями на чтение и изменение к архитектуре основанной на обмене сообщениями. Основная идея в том, что мы выделяем 3 типа сообщенек: команды, ивенты и нотификации, где ивенты -- это сообщения которые рождаются при любом изменении стейта системы, команды -- это сообщения на которые система обязана отреагировать изменением стейта(и, как следствие, рассылкой ивентов), нотификации -- опциональная штука для уведомления системы о недоменных историях, например чисто техническая инфа или что-то для интеграции с остальным ландшафтом. Отдельно надо сказать о кверях. Главное допущение всего этого великолепия заключается в многократном превышении нагрузки на чтение нагрузки на запись. Т.о. что бы иметь возможность скейлиться окололинейно до бесконечности нам надо научиться окололинейно и до бесконечности скейлить нагрузку на чтение. Для этого cqrs предлагает во-первых, выделить отдельную подсистему чтения (далее read part RP) от сложной и достаточно неторопливой подсистемы изменения (write part WP) со всеми описанными выше сообщеньками. Т.е. фактически мы сохраняем нашу концепцию cqs'ных кверей, максимально отделяя ее от WP, желательно в отдельный процесс. Далее, нам надо научиться нашей нагрузкой на чтение не мешать нагрузке на запись. Ну тут все просто, давайте просто читать с реплики! Вот тут вот мы подходим к самому важному на сегодня: cqrs никогда из коробки не даст вам глобальных гарантий выше eventual consistency, которая является самой слабой гарантией консистентности и почти никогда бизнес не устраивает. На самом деле даже для того что бы построить casual consistency систему (что еще может как-то устроить бизнес) придется очень много плясать с бубном. Фактически же, надо очень четко понимать какой уровень консистентности устраивает бизнес и что вам придется навернуть из говна и палок что бы этого достичь. Ведь если у вас пуши на экране вывалятся не в том порядке, то вы, скорее всего этого даже не заметите, а вот если у вас списания и пополнения в бухгалтерской сводке перепутаются, то вам возможно придется придумывать что делать с полотенцем брошеным под ноги.
973
20
#kafka Посмотрел несколько шикарных докладов про освобождение Кафки от Зукипера - Вот тут можно ознакомиться что вообще происходит и охренеть от количества проделанной работы - Вот тут шикарный но хардкорный доклад про KRaft(кафковский кворумный протокол для метадаты) - А вот это на закуску: история про приготовление кафки на мульти дц. Чет есть подозрение, что с учетом беззукиперности доклад придется переснять, но все равно рекомендую. Прям через экран сочится вся боль мультидц
1 944