Котаны, с наступающим(а кого-то и с уже наступившим) новым годом! Как говорил Конфуций: "найдите себе работу по душе, и вам не придется работать ни дня в своей жизни", вот и Вам я желаю, что бы айти приносило только удовлетворение от простого решения сложных проблем, а не головняк, фрустрацию и овертаймы! Ура, товарищи!
#kafka #performance
Отличная прошлогодняя статья про то, откуда растут ноги скорости Кафки. Если не читали, то очень советую.
В принципе ничего неожиданного (в основном, оптимизация I\O по всем фронтам), но очень круто, что кто-то собрал все такие трюки в одном месте
Отличная прошлогодняя статья про то, откуда растут ноги скорости Кафки. Если не читали, то очень советую.
В принципе ничего неожиданного (в основном, оптимизация I\O по всем фронтам), но очень круто, что кто-то собрал все такие трюки в одном месте
Хабр
Почему Kafka такая быстрая
За последние несколько лет в сфере архитектуры ПО произошли огромные изменения. Идея единственного монолитного приложения или даже нескольких крупных сервисов,...
Кстати, котаны, только сегодня узнал о существовании вот такой вот замечательной карты от CNCF
Тут собраны и сгруппированы все плюс-минус зрелые Cloud Native технологии. Очень удобно для понимания альтернатив при выборе очередного кирпичика для решения
Тут собраны и сгруппированы все плюс-минус зрелые Cloud Native технологии. Очень удобно для понимания альтернатив при выборе очередного кирпичика для решения
CNCF Landscape
The CNCF Cloud Native Landscape is intended as a map through the previously uncharted terrain of Cloud Native technologies. It attempts to categorize projects and products in the Cloud Native space.
Forwarded from @yarosh_log
Список технических блогов, стоит добавить в закладки и раз в месяц почитывать
Cloudflare https://blog.cloudflare.com/
Netflix https://netflixtechblog.com/
Uber https://eng.uber.com/
Lyft https://eng.lyft.com/
Twilio https://www.twilio.com/blog
Facebook https://research.fb.com/
Twitter https://blog.twitter.com/engineering/en_us.html
Databricks https://databricks.com/blog/category/engineering
Google AI https://ai.googleblog.com/
Google Dev https://developers.googleblog.com/
Slack (already mentioned) https://slack.engineering/
Twitch https://blog.twitch.tv/en/?tag=engineering
Quora https://www.quora.com/q/quoraengineering
Discord https://blog.discord.com/engineering-posts/home
Cloudflare https://blog.cloudflare.com/
Netflix https://netflixtechblog.com/
Uber https://eng.uber.com/
Lyft https://eng.lyft.com/
Twilio https://www.twilio.com/blog
Facebook https://research.fb.com/
Twitter https://blog.twitter.com/engineering/en_us.html
Databricks https://databricks.com/blog/category/engineering
Google AI https://ai.googleblog.com/
Google Dev https://developers.googleblog.com/
Slack (already mentioned) https://slack.engineering/
Twitch https://blog.twitch.tv/en/?tag=engineering
Quora https://www.quora.com/q/quoraengineering
Discord https://blog.discord.com/engineering-posts/home
The Cloudflare Blog
Get the latest news on how products at Cloudflare are built, technologies used, and join the teams helping to build a better Internet.
#dotnet #staticanalysis
Котаны, у Facebook есть замечательный static analysis тул под названием Infer. Если верить фейсбуку, там под капотом мат. аппарат, который позволяет детектить до 80% багла до прода.
Исторически тул работал для Java, C и Objective-C, но фейсбук внезапно добавил поддержку C# Додиезеры, возрадуйтесь!
Котаны, у Facebook есть замечательный static analysis тул под названием Infer. Если верить фейсбуку, там под капотом мат. аппарат, который позволяет детектить до 80% багла до прода.
Исторически тул работал для Java, C и Objective-C, но фейсбук внезапно добавил поддержку C# Додиезеры, возрадуйтесь!
Fbinfer
Infer Static Analyzer | Infer | Infer
A tool to detect bugs in Java and C/C++/Objective-C code before it ships
Forwarded from oleg_log (Oleg Kovalov)
Пссс, я тут недавно запостил давно начатый клиент для Redis на Go.
Зачем? Хотелось и другое не нравилось. У кого там были идеи по апи или еще какие-то боли из прода, подкиньте коментов/аргументов/ишью. Можно в лс. (Особо активных позову потом в чат организации)
Лайк-подписка на вырост https://github.com/cristalhq/redis
Зачем? Хотелось и другое не нравилось. У кого там были идеи по апи или еще какие-то боли из прода, подкиньте коментов/аргументов/ишью. Можно в лс. (Особо активных позову потом в чат организации)
Лайк-подписка на вырост https://github.com/cristalhq/redis
GitHub
GitHub - cristalhq/redis: WIP. Redis client for Go
WIP. Redis client for Go. Contribute to cristalhq/redis development by creating an account on GitHub.
#data
Отличный курс лекций про данные от Ростелека и вендоров: https://www.youtube.com/playlist?list=PLlCP3a0hjY50I5mumo_YCu7IEDjiUpEWO
З.Ы. лекции 1.1-1.3 вводные, их можно пропустить
Отличный курс лекций про данные от Ростелека и вендоров: https://www.youtube.com/playlist?list=PLlCP3a0hjY50I5mumo_YCu7IEDjiUpEWO
З.Ы. лекции 1.1-1.3 вводные, их можно пропустить
YouTube
Лекции DataTalks
Share your videos with friends, family, and the world
Forwarded from Человек и машина
#машины_разное
Во время своего выступления Дор Лаор, СЕО Scylla анонсировал новый проект Circe, который в корне меняет структуру консенсуса ScyllaDB.
Взамен Paxos в ядро этого немалоизвестного конкурента Cassandra и DynamoDB будет использоваться Raft, что по словам Дора сделано в угоду консистентности и позволяет быстрее синхронизировать новые узлы в кластере.
Интересно попробовать собрать POSIX FS over Scylla... когда-нибудь.
Во время своего выступления Дор Лаор, СЕО Scylla анонсировал новый проект Circe, который в корне меняет структуру консенсуса ScyllaDB.
Взамен Paxos в ядро этого немалоизвестного конкурента Cassandra и DynamoDB будет использоваться Raft, что по словам Дора сделано в угоду консистентности и позволяет быстрее синхронизировать новые узлы в кластере.
Интересно попробовать собрать POSIX FS over Scylla... когда-нибудь.
ScyllaDB
Making ScyllaDB a Monstrous Database: Introducing Project Circe - ScyllaDB
Project Circe is a year-long initiative to make ScyllaDB even more of a monstrous database, improving performance, scalability and elasticity.
#databases #arch
Отличное научпоп-введение в master-master БД. В программе: как это работает, когда стоит и когда не стоит использовать, в чем отличие от более распространенных master-slave
Отличное научпоп-введение в master-master БД. В программе: как это работает, когда стоит и когда не стоит использовать, в чем отличие от более распространенных master-slave
Medium
Active-Active Shared-Nothing Database Architecture
Choosing the right pattern for the right case
Ехехехе, кажется сегодня вместо пятничных мемов у нас будет рубрика "я у мамы орхитектор"
Многие не любят крон джобы, и заслуженно! У них много недостатков: их сложно мониторить, нагрузка плохо распределяется и тд и тп. Так же я видел кучу различных способов нивелировать эти недостатки: кто-то запихивает крон в приложения(здрасьте Quartz и robfig/cron), кто-то пытается использовать более современные инструменты(k8s cronjob и systemd timers), но то что я тут нашел на одном из проектов просто должно войти в историю!
Парни сделали отдельный (микро-)сервис, который при старте читает конфиг с расписаниями и по расписанию начинает через синхронное http api(КАРЛ!) дергать другие сервисы, таким образом оркестрируя выполнение отложенных/переодических задач
Вот такой вот нехитрый способ ценой связности всех сервисов, отказоустойчивости и, пожалуй, логики сэкономить немножко бойлерплейта
Многие не любят крон джобы, и заслуженно! У них много недостатков: их сложно мониторить, нагрузка плохо распределяется и тд и тп. Так же я видел кучу различных способов нивелировать эти недостатки: кто-то запихивает крон в приложения(здрасьте Quartz и robfig/cron), кто-то пытается использовать более современные инструменты(k8s cronjob и systemd timers), но то что я тут нашел на одном из проектов просто должно войти в историю!
Парни сделали отдельный (микро-)сервис, который при старте читает конфиг с расписаниями и по расписанию начинает через синхронное http api(КАРЛ!) дергать другие сервисы, таким образом оркестрируя выполнение отложенных/переодических задач
Вот такой вот нехитрый способ ценой связности всех сервисов, отказоустойчивости и, пожалуй, логики сэкономить немножко бойлерплейта
#data #cdc
Как-то пропустил новость про CDC-фреймворк от Netflix. Кажется у дебезиума теперь есть достойный конкурент)
Как-то пропустил новость про CDC-фреймворк от Netflix. Кажется у дебезиума теперь есть достойный конкурент)
Medium
DBLog: A Generic Change-Data-Capture Framework
Andreas Andreakis, Ioannis Papapanagiotou
#api
Нашел шикарное(хоть и древнее) эссе про дизайн Rest api от чувака который работал над Red Hat Enterprise Virtualization API. Очень рекомендую, узнал много интересного!
Например, вы знали, что если вам нужно уметь работать с версиями ресурсов, то в Rest'е есть нативный механизм для этого под названием variants?
Или про Link headers, позволяющие получить все ссылки из ответа на запрос без парсинга самого ответа?
Нашел шикарное(хоть и древнее) эссе про дизайн Rest api от чувака который работал над Red Hat Enterprise Virtualization API. Очень рекомендую, узнал много интересного!
Например, вы знали, что если вам нужно уметь работать с версиями ресурсов, то в Rest'е есть нативный механизм для этого под названием variants?
Или про Link headers, позволяющие получить все ссылки из ответа на запрос без парсинга самого ответа?
Forwarded from Админим с Буквой (bykva)
А еще я каким-то образом вдруг сделал вклад в опенсорс и написал (ну не только я, а еще с помощью моих коллег из ситимобил) ansible роли для разворачивания victoriametrics.
https://github.com/VictoriaMetrics/ansible-playbooks
https://github.com/VictoriaMetrics/ansible-playbooks
GitHub
GitHub - VictoriaMetrics/ansible-playbooks: Ansible Playbooks for Victoria Metrics monorepo
Ansible Playbooks for Victoria Metrics monorepo. Contribute to VictoriaMetrics/ansible-playbooks development by creating an account on GitHub.
#management
Наконец-то посмотрел доклад моего хорошего друга Коли Архипова с прошедшего РИТа. Если интересуетесь темой проверки продуктовых гипотез(да и если не интересуетесь😉), то крайне рекомендую к просмотру!
Наконец-то посмотрел доклад моего хорошего друга Коли Архипова с прошедшего РИТа. Если интересуетесь темой проверки продуктовых гипотез(да и если не интересуетесь😉), то крайне рекомендую к просмотру!
YouTube
Как мы побеждаем неопределенность в Delivery Club / Николай Архипов (Delivery Club)
Профессиональный онлайн-фестиваль для тех, кто делает Интернет РИТ++ 2020
Тезисы и презентация:
https://ritfest.ru/2020/abstracts/6836
Вы, конечно, слышали, что есть R&D. Но чем конкретно они занимаются? Алгоритмы, данные, математика, аналитика или разработка?…
Тезисы и презентация:
https://ritfest.ru/2020/abstracts/6836
Вы, конечно, слышали, что есть R&D. Но чем конкретно они занимаются? Алгоритмы, данные, математика, аналитика или разработка?…
Forwarded from oleg_log (Oleg Kovalov)
По поводу последнего (S02E15) выпуска @generictalks
Дебаг кубов. Я не знаю, что может быть лучше этого. Удивите и скиньте, если есть.
Правда вещь отличная, ты просто идешь по стрелочками и понимаешь, что не так. Обрадую, скорее всего вы получите ответ.
https://learnk8s.io/troubleshooting-deployments
Дебаг кубов. Я не знаю, что может быть лучше этого. Удивите и скиньте, если есть.
Правда вещь отличная, ты просто идешь по стрелочками и понимаешь, что не так. Обрадую, скорее всего вы получите ответ.
https://learnk8s.io/troubleshooting-deployments
LearnKube
A visual guide on troubleshooting Kubernetes deployments
Troubleshooting in Kubernetes can be a daunting task. In this article you will learn how to diagnose issues in Pods, Services and Ingress.
Forwarded from Kaznacheev Feed
#книги
Microservices Patterns - Chris Richardson
Наконец-то дочитал эту книгу, потребовалось всего лишь полгода.
Интересная книжка, которая покрывает достаточно широкий спектр проблем, связанных с разделением системы на микросервисы, а также их возможные решения.
🤔Кому интересно: разработчикам и архитекторам, занимающимся построением микросервисных систем.
👍Что понравилось: книга довольно подробно и постепенно рассказывает о переходе серверного приложения от монолитной к распределенной архитектуре, о том, с какими сложностями это связано, и как их решать. Помимо этого, каждый паттерн сопровождается описанием плюсов и минусов его применения, которым отводится достаточное место.
Особенно понравилась глава 2, где подробно рассматриваются принципы декомпозиции логики приложения на микросервисы, а также этапы разбиения с уровня высоких абстракций до конкретных реализаций.
Помимо этого, очень порадовали последние главы, описывающие тестирование, приемы трейсинга и мониторинга и описание service mesh и как его применять. Узнал много полезного, что буду применять в работе.
👎Как гласит название - это книга с примерами на Java. И это как раз та книга, где от их изобилия становится неприятно. Кроме того, автор постоянно рекламирует фреймворк, который разработан его собственным стартапом. В этом, в принципе, ничего плохого нет, но половина из примеров на Java являются примерами по решению задач с использованием этого фреймворка. С какого-то момента я просто начал проматывать листинги, так как толку от них для меня никакого.
Кроме того, что свойственно Java разработке, автор во многих местах начинает очень сильно переусложнять. Главы 4, 5, 6 прямо-таки отличный пример того, почему не стоит применять микросервисную архитектуру - в них показано, как простейшие для монолита вещи можно настолько усложнить, что разгребать придется введением дополнительных паттернов, которые, в свою очередь, придется разгребать еще несколько глав. При этом я так и не увидел, чтобы проблемы тех же распределенных транзакций были решены. Автор оперирует оркестрируемыми сагами так, как будто это простейший в реализации паттерн, учитывая предлагаемые над ним надстройки для приближенного выполнения ACID требований.
На деле это в какой-то момент превращается в абсурд и фарс, поверх которого ровным слоем намазана реклама разработанного автором фреймворка. Неподготовленный читатель может купиться на элегантность, с которой автор описывает эти решения, но на деле это сложнейшие в поддержке архитектурные элементы, которые изобилуют ограничениями и краевыми условиями.
👷♂️В книге уделяется много внимания объяснению паттернов и дается много примеров их реализации (хоть и на Java). В целом много информации, покрывающей полный цикл разработки микросервисных приложений, начиная от архитектуры и декомпозиции, заканчивая тестированием, развертыванием, мониторингом и запуском в облачных средах. Хорошее пособие для разработчиков микросенвисов, а также неплохая матчасть по этой теме, здорово упорядочивающаяся знания.
В целом книга интересная и довольно хорошая в плане пользы для читателя. Даже несмотря на огромное количество Java листингов, рекламы и явного переусложнения некоторых решений, материал все еще очень полезен для людей, испытывающих проблемы в поддержании и реализации микросервисных систем. Читать однозначно стоит, более того, книга построена таким образом, что к ней можно возвращаться за какими-то уточнениями по реализации паттернов, в конце по ним есть удобный указатель.
Microservices Patterns - Chris Richardson
Наконец-то дочитал эту книгу, потребовалось всего лишь полгода.
Интересная книжка, которая покрывает достаточно широкий спектр проблем, связанных с разделением системы на микросервисы, а также их возможные решения.
🤔Кому интересно: разработчикам и архитекторам, занимающимся построением микросервисных систем.
👍Что понравилось: книга довольно подробно и постепенно рассказывает о переходе серверного приложения от монолитной к распределенной архитектуре, о том, с какими сложностями это связано, и как их решать. Помимо этого, каждый паттерн сопровождается описанием плюсов и минусов его применения, которым отводится достаточное место.
Особенно понравилась глава 2, где подробно рассматриваются принципы декомпозиции логики приложения на микросервисы, а также этапы разбиения с уровня высоких абстракций до конкретных реализаций.
Помимо этого, очень порадовали последние главы, описывающие тестирование, приемы трейсинга и мониторинга и описание service mesh и как его применять. Узнал много полезного, что буду применять в работе.
👎Как гласит название - это книга с примерами на Java. И это как раз та книга, где от их изобилия становится неприятно. Кроме того, автор постоянно рекламирует фреймворк, который разработан его собственным стартапом. В этом, в принципе, ничего плохого нет, но половина из примеров на Java являются примерами по решению задач с использованием этого фреймворка. С какого-то момента я просто начал проматывать листинги, так как толку от них для меня никакого.
Кроме того, что свойственно Java разработке, автор во многих местах начинает очень сильно переусложнять. Главы 4, 5, 6 прямо-таки отличный пример того, почему не стоит применять микросервисную архитектуру - в них показано, как простейшие для монолита вещи можно настолько усложнить, что разгребать придется введением дополнительных паттернов, которые, в свою очередь, придется разгребать еще несколько глав. При этом я так и не увидел, чтобы проблемы тех же распределенных транзакций были решены. Автор оперирует оркестрируемыми сагами так, как будто это простейший в реализации паттерн, учитывая предлагаемые над ним надстройки для приближенного выполнения ACID требований.
На деле это в какой-то момент превращается в абсурд и фарс, поверх которого ровным слоем намазана реклама разработанного автором фреймворка. Неподготовленный читатель может купиться на элегантность, с которой автор описывает эти решения, но на деле это сложнейшие в поддержке архитектурные элементы, которые изобилуют ограничениями и краевыми условиями.
👷♂️В книге уделяется много внимания объяснению паттернов и дается много примеров их реализации (хоть и на Java). В целом много информации, покрывающей полный цикл разработки микросервисных приложений, начиная от архитектуры и декомпозиции, заканчивая тестированием, развертыванием, мониторингом и запуском в облачных средах. Хорошее пособие для разработчиков микросенвисов, а также неплохая матчасть по этой теме, здорово упорядочивающаяся знания.
В целом книга интересная и довольно хорошая в плане пользы для читателя. Даже несмотря на огромное количество Java листингов, рекламы и явного переусложнения некоторых решений, материал все еще очень полезен для людей, испытывающих проблемы в поддержании и реализации микросервисных систем. Читать однозначно стоит, более того, книга построена таким образом, что к ней можно возвращаться за какими-то уточнениями по реализации паттернов, в конце по ним есть удобный указатель.
Manning Publications
Microservices Patterns - Chris Richardson
This clearly-written practical guide offers experience-driven advice to help you design, implement, test, and deploy your microservices-based application.
#management
Пришлось мне тут на днях не очень технически подкованному коллеге объяснять как устроен наш релизный цикл. Для восприятия, конечно же лучше подходит формат картинки, но, как оказалось, нарисовать релизный цикл так, что бы это не превратилось в суп из стрелочек, квадратиков и т.д. довольно сложно.
Перепробовав несколько разных вариантов, нашел вот это. Имхо, если у Вас нет такой картинки, то надо срочно нарисовать, потому что, во-первых, это просто красиво! Для сравнения, аналогичная по смыслу sequence диаграмма выглядит как помесь ежа с ужом(длинная и со стрелками во все стороны). Рисуется все это великолепие за пол часа в draw.io
Пришлось мне тут на днях не очень технически подкованному коллеге объяснять как устроен наш релизный цикл. Для восприятия, конечно же лучше подходит формат картинки, но, как оказалось, нарисовать релизный цикл так, что бы это не превратилось в суп из стрелочек, квадратиков и т.д. довольно сложно.
Перепробовав несколько разных вариантов, нашел вот это. Имхо, если у Вас нет такой картинки, то надо срочно нарисовать, потому что, во-первых, это просто красиво! Для сравнения, аналогичная по смыслу sequence диаграмма выглядит как помесь ежа с ужом(длинная и со стрелками во все стороны). Рисуется все это великолепие за пол часа в draw.io