I hate overtime
868 subscribers
129 photos
4 videos
54 files
961 links
Some DevOps, SRE and IT development stuff
Download Telegram
Котаны, с наступающим(а кого-то и с уже наступившим) новым годом! Как говорил Конфуций: "найдите себе работу по душе, и вам не придется работать ни дня в своей жизни", вот и Вам я желаю, что бы айти приносило только удовлетворение от простого решения сложных проблем, а не головняк, фрустрацию и овертаймы! Ура, товарищи!
#kafka #performance
Отличная прошлогодняя статья про то, откуда растут ноги скорости Кафки. Если не читали, то очень советую.
В принципе ничего неожиданного (в основном, оптимизация I\O по всем фронтам), но очень круто, что кто-то собрал все такие трюки в одном месте
Кстати, котаны, только сегодня узнал о существовании вот такой вот замечательной карты от CNCF
Тут собраны и сгруппированы все плюс-минус зрелые Cloud Native технологии. Очень удобно для понимания альтернатив при выборе очередного кирпичика для решения
#dotnet #staticanalysis
Котаны, у Facebook есть замечательный static analysis тул под названием Infer. Если верить фейсбуку, там под капотом мат. аппарат, который позволяет детектить до 80% багла до прода.
Исторически тул работал для Java, C и Objective-C, но фейсбук внезапно добавил поддержку C# Додиезеры, возрадуйтесь!
Forwarded from oleg_log (Oleg Kovalov)
Пссс, я тут недавно запостил давно начатый клиент для Redis на Go.

Зачем? Хотелось и другое не нравилось. У кого там были идеи по апи или еще какие-то боли из прода, подкиньте коментов/аргументов/ишью. Можно в лс. (Особо активных позову потом в чат организации)

Лайк-подписка на вырост https://github.com/cristalhq/redis
#arch
Котаны и котанессы, тут выложили все доклады с ArchDays2020
#data
Отличный курс лекций про данные от Ростелека и вендоров: https://www.youtube.com/playlist?list=PLlCP3a0hjY50I5mumo_YCu7IEDjiUpEWO
З.Ы. лекции 1.1-1.3 вводные, их можно пропустить
#машины_разное

Во время своего выступления Дор Лаор, СЕО Scylla анонсировал новый проект Circe, который в корне меняет структуру консенсуса ScyllaDB.

Взамен Paxos в ядро этого немалоизвестного конкурента Cassandra и DynamoDB будет использоваться Raft, что по словам Дора сделано в угоду консистентности и позволяет быстрее синхронизировать новые узлы в кластере.

Интересно попробовать собрать POSIX FS over Scylla... когда-нибудь.
#databases #arch
Отличное научпоп-введение в master-master БД. В программе: как это работает, когда стоит и когда не стоит использовать, в чем отличие от более распространенных master-slave
Ехехехе, кажется сегодня вместо пятничных мемов у нас будет рубрика "я у мамы орхитектор"
Многие не любят крон джобы, и заслуженно! У них много недостатков: их сложно мониторить, нагрузка плохо распределяется и тд и тп. Так же я видел кучу различных способов нивелировать эти недостатки: кто-то запихивает крон в приложения(здрасьте Quartz и robfig/cron), кто-то пытается использовать более современные инструменты(k8s cronjob и systemd timers), но то что я тут нашел на одном из проектов просто должно войти в историю!
Парни сделали отдельный (микро-)сервис, который при старте читает конфиг с расписаниями и по расписанию начинает через синхронное http api(КАРЛ!) дергать другие сервисы, таким образом оркестрируя выполнение отложенных/переодических задач
Вот такой вот нехитрый способ ценой связности всех сервисов, отказоустойчивости и, пожалуй, логики сэкономить немножко бойлерплейта
#data #cdc
Как-то пропустил новость про CDC-фреймворк от Netflix. Кажется у дебезиума теперь есть достойный конкурент)
#api
Нашел шикарное(хоть и древнее) эссе про дизайн Rest api от чувака который работал над Red Hat Enterprise Virtualization API. Очень рекомендую, узнал много интересного!
Например, вы знали, что если вам нужно уметь работать с версиями ресурсов, то в Rest'е есть нативный механизм для этого под названием variants?
Или про Link headers, позволяющие получить все ссылки из ответа на запрос без парсинга самого ответа?
Forwarded from Админим с Буквой (bykva)
А еще я каким-то образом вдруг сделал вклад в опенсорс и написал (ну не только я, а еще с помощью моих коллег из ситимобил) ansible роли для разворачивания victoriametrics.

https://github.com/VictoriaMetrics/ansible-playbooks
Forwarded from oleg_log (Oleg Kovalov)
По поводу последнего (S02E15) выпуска @generictalks

Дебаг кубов. Я не знаю, что может быть лучше этого. Удивите и скиньте, если есть.

Правда вещь отличная, ты просто идешь по стрелочками и понимаешь, что не так. Обрадую, скорее всего вы получите ответ.

https://learnk8s.io/troubleshooting-deployments
Forwarded from Kaznacheev Feed
#книги
Microservices Patterns - Chris Richardson

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

🤔Кому интересно: разработчикам и архитекторам, занимающимся построением микросервисных систем.

👍Что понравилось: книга довольно подробно и постепенно рассказывает о переходе серверного приложения от монолитной к распределенной архитектуре, о том, с какими сложностями это связано, и как их решать. Помимо этого, каждый паттерн сопровождается описанием плюсов и минусов его применения, которым отводится достаточное место.

Особенно понравилась глава 2, где подробно рассматриваются принципы декомпозиции логики приложения на микросервисы, а также этапы разбиения с уровня высоких абстракций до конкретных реализаций.
Помимо этого, очень порадовали последние главы, описывающие тестирование, приемы трейсинга и мониторинга и описание service mesh и как его применять. Узнал много полезного, что буду применять в работе.

👎Как гласит название - это книга с примерами на Java. И это как раз та книга, где от их изобилия становится неприятно. Кроме того, автор постоянно рекламирует фреймворк, который разработан его собственным стартапом. В этом, в принципе, ничего плохого нет, но половина из примеров на Java являются примерами по решению задач с использованием этого фреймворка. С какого-то момента я просто начал проматывать листинги, так как толку от них для меня никакого.

Кроме того, что свойственно Java разработке, автор во многих местах начинает очень сильно переусложнять. Главы 4, 5, 6 прямо-таки отличный пример того, почему не стоит применять микросервисную архитектуру - в них показано, как простейшие для монолита вещи можно настолько усложнить, что разгребать придется введением дополнительных паттернов, которые, в свою очередь, придется разгребать еще несколько глав. При этом я так и не увидел, чтобы проблемы тех же распределенных транзакций были решены. Автор оперирует оркестрируемыми сагами так, как будто это простейший в реализации паттерн, учитывая предлагаемые над ним надстройки для приближенного выполнения ACID требований.

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

👷‍♂️В книге уделяется много внимания объяснению паттернов и дается много примеров их реализации (хоть и на Java). В целом много информации, покрывающей полный цикл разработки микросервисных приложений, начиная от архитектуры и декомпозиции, заканчивая тестированием, развертыванием, мониторингом и запуском в облачных средах. Хорошее пособие для разработчиков микросенвисов, а также неплохая матчасть по этой теме, здорово упорядочивающаяся знания.

В целом книга интересная и довольно хорошая в плане пользы для читателя. Даже несмотря на огромное количество Java листингов, рекламы и явного переусложнения некоторых решений, материал все еще очень полезен для людей, испытывающих проблемы в поддержании и реализации микросервисных систем. Читать однозначно стоит, более того, книга построена таким образом, что к ней можно возвращаться за какими-то уточнениями по реализации паттернов, в конце по ним есть удобный указатель.
#management
Пришлось мне тут на днях не очень технически подкованному коллеге объяснять как устроен наш релизный цикл. Для восприятия, конечно же лучше подходит формат картинки, но, как оказалось, нарисовать релизный цикл так, что бы это не превратилось в суп из стрелочек, квадратиков и т.д. довольно сложно.
Перепробовав несколько разных вариантов, нашел вот это. Имхо, если у Вас нет такой картинки, то надо срочно нарисовать, потому что, во-первых, это просто красиво! Для сравнения, аналогичная по смыслу sequence диаграмма выглядит как помесь ежа с ужом(длинная и со стрелками во все стороны). Рисуется все это великолепие за пол часа в draw.io