I hate overtime
866 subscribers
129 photos
4 videos
54 files
961 links
Some DevOps, SRE and IT development stuff
Download Telegram
Котаны, допустим вы нашли каку на ревью у коллеги. На функциональность это не влияет, но потенциально может пофейлить разные *ility(скалабилити, ридабилити и т.д.). Валидно ли не заставлять фиксить тут же, а запихнуть в тех. долг?
Anonymous Poll
21%
Валидно
27%
Не, пусть сразу врывается
52%
It depends
Как вы, думаю, поняли по вчерашнему опросу, щас будет батхерт)
Вкратце история такая: коллега перестарался и оверинжинернул фичу. На ревью ему, конечно же, было на это указано и сказано создать задачу на доделку-переделку. Тут, внезапно, в вот это уже готовое потребовалось добавить еще свистелок-перделок. Естественно из-за царившего там ООП головного мозга ситуация вышла из под контроля. И вот меня, собственно, вызывают на ковер, с вопросом "че так долго?" Объясняю ситуацию, в ответ слышу "надо было сразу нормально делать, у вас жи для этого кодревью есть!". Не, хер возразишь, конечно...вот только у нас стартап и фича была на стадии проверки гипотезы, и, кмк, вкидывать туда еще N человеко-недель и заставлять делать щас и навека -- плохая идея, учитывая, что если функционал не зайдет, то выкинуть наколеночный прототип гораздо проще чем то что рожалось потом и кровью.
Так что, имхо правильный ответ "it depends". Если вы уверены, что то что вы делаете проживет долгие годы, то делать надо хорошо, а PoC надо делать быстро
Что-то тут в очередной раз наткнулся, проорал, решил поделиться! Встречайте, игра образца 1972 года про paging! Рубрика "девелоперы шутят"
И продолжает серию прод-фиаско Фейсбук
Котаны, тут чет прям вкуснота! Если вы тоже не особо впечатлились trunk-based, устали от постоянного "а что там у..."(k8s, docker, любимый ЯП, любимый VCS, etc) ну или, по крайней мере, уже не успеваете следить за всем этим великолепием + все еще креститесь и запасаете святую воду перед деплоем, то (барабанная дробь) встречайте Dark
Очередная функциональщина, которая из коробки умеет в деплой, нативно дружит с инфраструктурой(по крайней мере обещают широкую поддержку), лихо предоставляет фича-туглы и решает еще кучу проблем!
Пока все в закрытой альфе, но можно попробовать за подписку на рассылку
Чет в голосину
Интересная новость тут пробежала: по-ходу, зукипер в кафке хотят заменить собственным кворумом. Пруф и все консерны: https://cwiki.apache.org/confluence/display/KAFKA/KIP-500%3A+Replace+ZooKeeper+with+a+Self-Managed+Metadata+Quorum#KIP-500:ReplaceZooKeeperwithaSelf-ManagedMetadataQuorum-TheControllerQuorum
​​📣 Сделали сайтик для вас, где будем рассказывать про как правильно делать stream processing - Kafka Tutorials (название так себе, конечно, но вы поняли!)
Можете просто читать, а можете отправлять свои идеи или даже целые туториалы!

https://kafka-tutorials.confluent.io
#shitcode
Как-то так получилось, что в очередной раз у нас фиаско, за которое пц стыдно.
Не смотря на то, что основная масса баз у нас -- это DBaaS(облачка), все же есть и пара своих инсталяций на VM. Ничего не предвещало беды, но тут завопили мониторы а-ля "братишки, у вас даунтайм". Выяснилось, что на одной из таких виртуалок закончилось место и базенка перестала обрабатывать транзакции. Где был мониторинг на диски? А не было его! Забыли(
Дальше-больше! Выяснилось, что система и данные лежали на одном диске, т.е. из-за объевшейся базы система не могла сделать практически ничего.
Ладно, диски увеличили, базу запустили и выяснили, что 90% содержимого не нужно. Совсем! Просто лень было написать крон-джоб что бы вычистить мусор.
Кароч, поцоны и поцонессы, мораль сей басни такова: мониторьте на всех уровнях, думайте сразу о ЖЦ данных и будет вам счастье!
"ООП-паттерны нужны только затем что бы быстро придумывать имена классам"(с)
Не успели еще постмортем отписать по предыдущему косяку, как у нас очередной факап!
Есть у нас хранилище, которое наполняют аж 2 "контура" ETL'ей. Первый наполняет стейджинг, второй льет уже, непосредственно, из стейджинга в хранилище. Сделано это было из-за того что в ажуре сильно дешевле купить несколько маленьких баз, чем одну большую, да и копаться в куче sql-хранимок было не охота.
Сегодня мы отследили, что etl'и стейджингового слоя не справляются(сатурация больше утилизации) и решили поскейлиться. Через пару часов полетели алерты с хранилища о том, что привышен лимит по числу коннектов к базенке. Оказалось, что поскейлив роботов стеджинга мы создали доп. нагрузку на второй "контур", который стал активнее ходить в базу. Все бы хорошо, но вот размер клиентских пулов на etl'ях не был явно задан из-за чего базенку буквально закидали коннектами.
Кароч, ребятишки, Майк Нейгард не херню пишет. Желательно не только прочитать, но и следовать