# Понедельник 102 твита
Привет всем
На этой недели с вами я Сергей Ланцман. Мне 30 лет, живу я в Израиле половина жизни.
Занимаюсь backen… twitter.com/i/web/status/9…
Люблю помогать Open source сообществу(когда есть время).
Пишу на Golang,Ruby,Python и так на всем где нет точек с запитой в конце.
О чем мы будем говорить
10:57Начнем с того что делаем в Gett. Пишим офигеный продукт на котором можно уехать домой после веселой party или просто после тяжелой работы
11:13Аппликация для заказа такси, работает в России, Израиль, Англия.
Приятная часть что это продукт b2c который пользуются друзья семья и сам
Просьба первая была про логи.
Мы тут не давно подняли решения для логов. Стандарный Elk только он большое на 1ТБ в день
Вообще решения такое
Filebeat => redis=> logstash => Elasticsearch + kibana
От logstash все бежит в kubernetes
Не люблю я elastic он подлый зверек. Его лудше в контейнер закрыть чтоб не будил по ночам. А еще лудше в кубернетес
11:33Кубернете кластер для логов сделан так.
Есть 3 instance group.
3. Elasticsearch еще машины i3. 2xlarge для логов со вчера и до недели.
11:39Elasticseach бежит в кубернетесе как daemon set, так что есть один на машины, и если пожнимаем еще машины то там вс… twitter.com/i/web/status/9…
11:41Решения такого хватает на 1TB в день на неделю хранить с доставкой логов за несколько секунд
цена вопроса 6-7K$ в месяц в пользу амазона
@backendsecret А почему им сразу в редис не писать? Или торопиться некуда?
ну все нормальные лог библиотеки пишут на диск
во вторых диск всегда работает(пока не кончинтся) а далекий редис
о… twitter.com/i/web/status/9…
@backendsecret Вот тут бы подробнее про подлость.
ну как сказать
сказать что ES бежит и не ругается тяжело обычно
тем более если надо обновлять его или просто менят… twitter.com/i/web/status/9…
@backendsecret У вас есть a/b тесты основанные на логах? Как у вас аналитика логов устроена?
нет пока
тут с логами была длинная история
Свое рабочее решения стало рабочим несколько месяцев назад
теперь надо л… twitter.com/i/web/status/9…
@backendsecret Сколько народу у вас управляет log-инфраструктурой?
пол человека twitter.com/musuk/status/9…
12:05@backendsecret Паспарту с форд боярда?
Вообще один человек на это,но когда закончим всякие вещи с логами то наверно пол времени человека хватит twitter.com/aarexer/status…
12:26@backendsecret Я недавно краем уха услышал что такое вообще существует, до этого даже не задумывался. Много ли желающих обмануть систему?
В этой области есть деньги и клиенты, значет всегда будет желающие. Мы их видем и закрываем twitter.com/l0ldbl00d/stat…
12:28@backendsecret А откуда тяжёлый поиск?
Приходит програмист и пишет хочу все логи за неделю где написано слово bug number...
Вот оно ищет на 7-8TB данных twitter.com/musuk/status/9…
@backendsecret Пару слов о том, как попал в Израиль и Gett
Семья переехала в Израиль давно а я сам через пару лет.
В Гетт попал не со всем нормальным способом про который ска… twitter.com/i/web/status/9…
@backendsecret В бэкэнде теперь девопсины, ну-ну.
Ну я до этого писал backend пару лет и сейчас пишу когда надо twitter.com/john_govno/sta…
12:54@backendsecret На чем пишете, если не секрет?
В Гетт легаси на Рельсах а все новое на Golang, на фронте react. Js twitter.com/john_govno/sta…
12:57@backendsecret С рельсы ушли по причине низкой производительности или из-за накопившегося техдолга?
1. Низкая производительность
13:00@backendsecret как продакшн держите? Кластеры и тд. Интересно как архитектуру построили
Сейчас у нас есть архитектура которая бежит не кубернетесе. Но мы это скоро поменяем.
На данный момент есть на кажд… twitter.com/i/web/status/9…
Сейчас у нас есть архитектура которая бежит не кубернетесе. Но мы это скоро поменяем.
На данный момент есть на кажд… twitter.com/i/web/status/9…
На все это смотрит elb. И так на каждый микросевис, куча инфры для одного микросервиса. Поэтому хотим все в куберне… twitter.com/i/web/status/9…
13:22@backendsecret Re:2. Тяжело писать код когда много людей??
Как то странно..
Много людей пишут код по разному, много магии, не компилируется значет каждый рефактор проблема.
Человек заходит в… twitter.com/i/web/status/9…
@backendsecret Чем кубер не устраивает?
Всем устраивает, туда двигаемся. Уже на stage стоит кластер на 4500 pod их 60 нодов. Надеюсь скоро прод переведем twitter.com/truetobetrue/s…
13:37@faces @backendsecret приложение было монолитом или распилено на сервисы/микросервисы?
Монолит, его до сих пор пилим, часть выпили в сервисы на релсах, последний год все новые пишутся на Го. twitter.com/john_govno/sta…
13:38@backendsecret рассматривали как альтернативу go - elixir? он тоже компилируемый и хорошо подходит для тех у кого рубишный бэкграунд.
Да кстати параллельно с Го смотрели на elixir 3 года назад. Но тогда он был сырой и медленее Го. Потом он сложнее Г… twitter.com/i/web/status/9…
13:42@backendsecret Re: 1. Не очень в теме Ruby, но часто это не проблема, а баланс скорости кода и скорости разработки.… twitter.com/i/web/status/9…
Можно переписать на C++ тогда у тебя будет много кода тут и там на C++.
Проблема больше была с обработкой запросов.… twitter.com/i/web/status/9…
@backendsecret В сторону elixir не смотрели ?
Смотрели уже ответил twitter.com/den4ikbyte/sta…
14:06Кто какие средствами мониторинга пользуется?
14:09Это как захотите только без русской клавиатуры twitter.com/PavelGermanov/…
14:09@backendsecret Странно, что Grafana и Prometheus нету в списке
Хотел но было только 4 места :( twitter.com/cybran111/stat…
15:09@backendsecret Re: 3. У вас в Москве нет разработки?
Есть, несколько команд. Набирают людей twitter.com/KostyaEsmukov/…
15:10@backendsecret Ну, полагаю, code review для некомпилируемых языков не решит проблему. Тут, наверное, всё же юнит-те… twitter.com/i/web/status/9…
Частично решают а то что не решает идет в продакшин.
Особено с опцией method missing в руби twitter.com/CuredPlumbum/s…
Кто какие средствами мониторинга пользуется?
У нас сейчас есть
1.Airbrake для ошибок
2.Newrelic apm как основное решения проблем, очень хорошое решения можно бы… twitter.com/i/web/status/9…
Кто какие средствами мониторинга пользуется?
Еще есть графана + influxdb
Но там только бизнес метрики twitter.com/backendsecret/…
@backendsecret использование магии в коде проекта - зло
Вот Го обратная сторона. Тут нет магие все есть в коде. Да приходится писать пару строчек больше кода, зато все пот… twitter.com/i/web/status/9…
15:28@backendsecret Ну, вот да. Что хорошо для маленьких команд, убивает большое проекты.
Ну да, когда в Gett я пришол было 7 сервер разрабочиков, теперь через 3.5 думаю уже больше 50-60 так что магия тут… twitter.com/i/web/status/9…
15:30У нас сейчас есть
1.Airbrake для ошибок
2.Newrelic apm как основное решения проблем, очень хорошое решения можно бы… twitter.com/i/web/status/9…
Airbrake это вообще решение для бедных у которых нет нормальных логов. twitter.com/backendsecret/…
15:59Проверяем сейчас datadog и там есть килер фича host map. Можно получить прикольные визуализации по системе и быстро
16:08Поговорим о баз данных
куда же без них. Любой проэкт требует базу и важно выбрать правильно.
Базы как все знают можно делить на SQL и NoSQL
SQL: из моего опыта
17:13SQL: из моего опыта
17:16SQL: из моего опыта
3.Postgresq-Много функциальная база.Много функции как свои типы. Прекрасная работа с JSON и луд… twitter.com/i/web/status/9…
NoSQL:
17:38NoSQL:
17:43@backendsecret С какими проблемами вы сталкивались?
1. Демократия - выборы часто между мастерами
18:02@backendsecret зачем вы сообщает о том, что у водителя сегодня день рождения?
Ну вещь маленькая но приятная. Кстати я когда то спрашивал на собеседование на разогрев как написать метод который… twitter.com/i/web/status/9…
18:20@backendsecret а в чем заключается поддержка json?18:23
Из минусов редиса.
Его реально можно скалить больше чем одно ядро только с помощью client sharding. Остальные вариа… twitter.com/i/web/status/9…
Вообще у редиса хорошая и понятная документация, я тут на выходных нашел что `echo never > /sys/kernel/mm/transpare… twitter.com/i/web/status/9…
18:35Вообще можно сделать чтоб было одно ядро отдельно только для редиса, если у вас машины с редисов нагруженым. Тогда… twitter.com/i/web/status/9…
18:37@backendsecret Так в этом и суть скорости редиса, что он только в одно ядро может
Согласен но когда становится больше миллиона запросов в редис в минуту то тут приходится выбирать что важнее twitter.com/L0ndra_/status…
18:39@backendsecret Так а чего вредного?
Настройки реплик по сравнению с mysql сложнее, миграции на большие нагруженые таблицы, долгое поднятие на старте. И… twitter.com/i/web/status/9…
18:47Облачные сервисы дают выбор машин из расчёта что средняя сервис на 2 ядра не с может выдать больше чем XXXmb/s по с… twitter.com/i/web/status/9…
18:54Приходится ставить 16 ядерную машину на 1 ядерные редис чтою получить много сети от амазона
18:55Потому что сеть забита
18:56@backendsecret А расскажите, используют ли у вас C# и .NET и если да то как?
Нету такого, у нас все со времен когда линукс и мелкософт не дружили twitter.com/MurcielagoCat/…
18:58Расскажу про наш стек в Gett. 99% в амазоне, в одном из европейских регионаз.
Rds
Ec2
Kinesis
S3
Это в на чем прод… twitter.com/i/web/status/9…
Базы данных в Gett
Mysql - легаси но пока что важный еще
postgresql - по дефолты на новых, в основном из за json и… twitter.com/i/web/status/9…
Еще есть mongodb в одном месте но это вообше легаси старое
19:17Языки програмирования в Gett
19:24Версии ruby у нас почти везде 2.3
Монолит на 2.1.9, когда то он был на 1.9.3 и обновление дало примерно +40% к скор… twitter.com/i/web/status/9…
Golang поднялся в прод первый сервис года 3 назад. Это еще был 1.3 версия, так что мы прошли от 1.3 до 1.9 прирост… twitter.com/i/web/status/9…
20:02в Го сервисах мы используем следущие библиотеки
beego
gorm
lib/pq
go-redis
logrus
ginkgo
viper
А как вы держите код своих сервисов?
У нас для каждого сервиса свой репо и всего таких примерно ~90
продолжения про NoSQL базы
Я тут не давно решил локально попробывать CockroachDB. Взял их пример установки в куб
По… twitter.com/i/web/status/9…
потом делаю с 10 на 3 и тут
`Connection to CockroachDB node lost.` на минут 10
думаю понятно не все так красиво к… twitter.com/i/web/status/9…
Вот тот самый host map c datadog 😍 pic.twitter.com/VVMBqiAVNh
21:57К продолжению оптимизации работы с редисом. В редис часто кидаются обьекты ввиде JSON для кеша или других функции.… twitter.com/i/web/status/9…
22:08msgpack еще и занимет меньше место в редисе
вообще вот тут есть хорошие бенчмарки для сериализаций на Го
github.com/alecthomas/go_…
Темы на завтра?
22:46@backendsecret вы же на aws? там жеж вроде очень дорого выходит?
да не очень дешего вообще по минимум у нас 2 сервера m4.large на сервис один из них спот. Если надо больше он подни… twitter.com/i/web/status/9…
23:13@backendsecret Всё, кроме ЯП
Согласен страшная тема но посмотрит что народ хочет
@Alex0007lolpvp
like за аватар твой 👌 twitter.com/Alex0007lolpvp…
life hack для github
удобнее код читать на гитхабе вечером когда гитхаб черный
есть плагин на хром которой меняет т… twitter.com/i/web/status/9…
Stylus называется
23:54Вообще думал если была бы такая практика что если
Написал код который делает оптимизацию и серверов надо меньше
то… twitter.com/i/web/status/9…
Кстати в Израиле воскресения рабочий день а пятница нет
так что если работаешь с товарищами не с израиля то они теб… twitter.com/i/web/status/9…
Кстати на счет Excel мне как то сказали что у человечество только два великих изобретения
0:05решил тут зайти в аналитику этого аккоунта в твитере
Интересно
5000 человек
интересы програмирования
любимый жанр… twitter.com/i/web/status/9…
@backendsecret Если у тебя в руках молоток - все вокруг похоже на гвоздь. Если все что ты умеешь, это Эксель - все… twitter.com/i/web/status/9…
разрабочики Web из 2000 до html работали с excel? 🤔twitter.com/dgrammakov/sta…O
0:15Кстати на счет оптимизаций процессов и денек
90 микросервисов=90репозиторов=10-15 команд
Полдня из спринта чтоб сде… twitter.com/i/web/status/9…
Блин я когда такое вижу сразу думаю как это работает в техническом плане рисую в голове возможную архитектуру для т… twitter.com/i/web/status/9…
0:48При всей моей не любви к Iphone думаю многие android флагманы тут бы крашнулись
0:50а еще так же думаю когда включаю фильм через Netflix.И там первые 5 секунд низкое качество(кубики 90годов) а потом… twitter.com/i/web/status/9…
0:57@backendsecret А можно подробнее? Вы где-то публикуете статьи о вашем workflow, где можно прочитать более развернуто?
мы его как раз меняем
вообще он в процесе перехода от 3 недельного спринта до CI/CD в разных местах в системе. Цел… twitter.com/i/web/status/9…
@backendsecret та ладно, наверняка просто замеряют скорость сети и потихоньку повышают качествоа изначально подаю… twitter.com/i/web/status/9…
да но зачем мерить каждый раз с низкой? если клиент висит на одном подключении то можно делать статистку для него и… twitter.com/i/web/status/9…
1:11Кто тут просил прочитать про вещи которые делают в Gett
тут есть блог на английском engineering.gett.com
иногда… twitter.com/i/web/status/9…
Мне тут расказали про страшное будущие DDOS атак.AI который атакует систему и учится на ходу менять параметры и под… twitter.com/i/web/status/9…
1:22@Gendos_ua @backendsecret Мне кажется проблема в скорости репликации, не успевают нужный блоб (или как там) перетащ… twitter.com/i/web/status/9…
еще у низ есть фичя котороя бесит
если смотришь сериал и не трогаешь его.Он начинает спрашивать "есть кто живой?" к… twitter.com/i/web/status/9…
еще у низ есть фичя котороя бесит
если смотришь сериал и не трогаешь его.Он начинает спрашивать "есть кто живой?" к… twitter.com/i/web/status/9…
я такую штуку как то у нас в в админку и в customer care прикрутиль. Если мыщку не трогаешь 2 минуты то отключается… twitter.com/i/web/status/9…
1:43@pavbox @backendsecret Если это долгая битва, то да, возможно.
Но скорее всего, атака будет замечена быстро и админ… twitter.com/i/web/status/9…
или будут делать ставки😂 twitter.com/w_warlock/stat…
1:47или будут делать ставки😂 twitter.com/w_warlock/stat…
Наверно где уже есть как собачии бои со ставками только AI vs AI
явно будущие и не кому жаловатся что это жестоко twitter.com/backendsecret/…
Раз у нас в ведущих «руководитель команды DevOps» из Израиля, щаз мы его распнем за ересь «команда DevOps» (не удив… twitter.com/i/web/status/9…
Ты говоришь что не такого как команда DevOps. Знаешь откуда это предложения?
Through its flagship product YYYY, XXX… twitter.com/i/web/status/9…
Блин я когда такое вижу сразу думаю как это работает в техническом плане рисую в голове возможную архитектуру для т… twitter.com/i/web/status/9…
Кстати про тяжелых клиентов.Иногда всплывает какой нибуть клиент у которого очень много заказов потому что он с нам… twitter.com/i/web/status/9…
2:29потому что его запросы мучают базу да и у него наверно не все летает
2:37Может кто еще не видел но тут есть прикольные IT комиксы
turnoff.us
Вот один из хороших pic.twitter.com/defbvthARn
8:08@backendsecret а AI который будет делать вашу работу за вас не пугает?)
Нет потому что я инитиативный и не предсказуем. AI для этого еще далеко
И потом я шутить умееюа оно нет twitter.com/gleb_kosteiko/…
# Вторник 50 твитов
@backendsecret "Gett reference program:
приведи друга - получи 100 000 рублей!🎉Hr только написала. Есть ли у вас во… twitter.com/i/web/status/9…
А ты думаешь HR хатеры меньше стоят? Кстати мне как работнику как то дали 1000$ за то что друга привел и он прошёл… twitter.com/i/web/status/9…
0:53@backendsecret А Redis Cluster пробовали? сами или в EC?
Нет не пробывали, пока не надо было twitter.com/bardadymchik/s…
10:25@backendsecret Protobuf какой-нибудь можно взять, если тебе важна скорость, а схема нечасто меняется
Да протобаф тоже шустрый, но там возни больше twitter.com/erthad/status/…
10:26@backendsecret Postgres в docker запускаете? Есть какие-то официальные за и против от разработчиков?
В докере запускаем в CI и в stage, вот от туда жалобы на скорость поднятия. От разрабочиков только жалобы на миграц… twitter.com/i/web/status/9…
10:28Кстати life hack если запускать пострес в докере на машинах i3 в амазоне то он стартует за 3 минуты, на обычных m4 20 минут
10:29Всем доброе утро.
Одна из привелегий работать в IT в Израиле это вставать без будильника(это не помогает от пол год… twitter.com/i/web/status/9…
В Израиле почему то програмисты, стартапы вся индустрия называет high tech а IT называется это больше help desk.
10:32Когда работаешь в компанией которая занимается такси, можно понимать погоду на улице не вставая с кровати, просто п… twitter.com/i/web/status/9…
10:38По просьбам желающих выбран первой темой кубернетес(демократии или как там ее)
11:06Вообще кубернетес это оркестрация для контейнеров, но это везде написано. Если другими словами то это платформа по… twitter.com/i/web/status/9…
11:08Он еще умеет делать так чтоб твой сервисы всегда жили.
А главная что это все работает быстро, то есть надо еще 5 ин… twitter.com/i/web/status/9…
Он не идеальный, есть баги, иногда ломается, но из 3 решений мной провереных это на поряжок лудше
Проверял я ECS, swarm, k8s
Все сложность с кубом это его установка. Оно бывает разная, в амазоне, на чистом железе, в гугле и так далее.
Амазо… twitter.com/i/web/status/9…
Пока амазон спали, опен сорсе общество написало решения для установки и управления кубернетесом в амазоне.
Называет… twitter.com/i/web/status/9…
@backendsecret А как же EKS? Он хоть и beta, но уже есть.
Он preview... Пока не готов будет через пол года, это их пробуждения от сна twitter.com/vlazarenko/sta…
11:18Все yaml с настройками идут на s3 и там хранится state.
Другой вариант можно получить это как терраформ файлы.
@backendsecret Kops к сожалению отстаёт по версиям куба нешуточно. Что удручает. А так тул весьма неплох.
Да примерно - 1 всегда twitter.com/vlazarenko/sta…
11:19@backendsecret вот это интресно, как вообще устанавливать k8s ;), нужно минимум 3 ноды? я пробовал minikube на mac… twitter.com/i/web/status/9…
Новый докер идет с кубом вместе работает без vm twitter.com/lisovskyvlad/s…
12:48@backendsecret Swarm до прода доходил, или просто игрались?
Игрались и проверяли возможности twitter.com/KostyaEsmukov/…
12:49@backendsecret А что именно в стекдравере не устраивает?
После перехода в гугл он тормозит.
Не совсем дружит с кубом twitter.com/tru_pablo/stat…
Ок после того как kops сохраняет yaml на s3, через него можно поднять autoscaling group в амазоне.
Машины поднимают… twitter.com/i/web/status/9…
Kubelet-это бинари который бежит демоном на машине и управляет всем
Docker
Iptables и так далее
С этого момента все остальное уже в контейнерах.
На мастерах поднимается etcd, apiserver dns
На всез остальных маши… twitter.com/i/web/status/9…
Ectd в кубе это база данных, там хранятся все настройки.
Без нее все плохо
Кстати время ответа и живучесь очень сил… twitter.com/i/web/status/9…
@backendsecret кроме datadog что-то планируете проверять? или их многомиллионный PR делает свое дело?
Newrelic infra
Signal fx twitter.com/tru_pablo/stat…
Apiserver в кубе это вебсервер, который весит поверх etcd и в него стучатся все ноды за настройками, командами
Есть… twitter.com/i/web/status/9…
Pod - это что то на подобие докер композ
Набор одного или более контейнеров бегущих вместе, можно между ними папки… twitter.com/i/web/status/9…
Так что pod это самый маленький обьект в кубе.
Выше него есть replica set. Это обьект проверяет что есть нужное кол… twitter.com/i/web/status/9…
Через deployment можно указать все что надо чтоб поднять сервис аппликации в кубе.
Там можно указать как делать деп… twitter.com/i/web/status/9…
Есть еще обьект daemon set, то же самое что deployment в настройках кроме того что не указывается количество реплик… twitter.com/i/web/status/9…
14:28Есть хорошая интеграции куба с амазон если ставить все через kops.
Можно вообше в амазон не заходить все будет,
Доб… twitter.com/i/web/status/9…
@backendsecret У нас сварм в проде... Гораздо лучше k8s
Может быть если ва не надо
Автоскалин машин и подов
Подключения volume
Настройка dns
И много других вещей twitter.com/DmitriyLyalyue…
@backendsecret Ты о глобальном сервисе в сварме? При добавлении ноды сервис будет задеплоен на эту ноду сразу после… twitter.com/i/web/status/9…
Нет если у тебя есть 3 контейнера одного сервиса и по cpu надо больше, а других не надо больше twitter.com/DmitriyLyalyue…
14:59Поды в кубе между собой общаются через обьект который называется service, он по таг знает какие поду его я балансит… twitter.com/i/web/status/9…
15:15@backendsecret docs.docker.com/compose/compos… Ну и плюс replicas. Или я опять не верно понял?
Ну вот делать плюс репликам ты сам делаешь или он автоматом умеет когда у тебя cpu 70% на 3 контейнера добавить еще… twitter.com/i/web/status/9…
15:28Перейдем на другую тему по опросу
а то я так понил куб на пальцах не обьяснить
CI/CD/devops tools
15:44Начнем с Jenkins
Швейцарский нож для всего что хочется
куча плагинов/API/галочек настроек и так далее
можно делае… twitter.com/i/web/status/9…
Travis-ci полезная штука для тестов
Плюс легкой настройвать в самом репо для любого програмиста
даешь команде дос… twitter.com/i/web/status/9…
packer
штука умеет строить image для амазона(AMI) и для других
говоришь в json мне надо машина такого размера, на… twitter.com/i/web/status/9…
@backendsecret Интересно чем k8s лучше swarm mode. Меня в swarm mode привлекает простота... Хочу понять, чем я за нее буду расплачиваться
@backendsecret
фичерым
поддержка в опен сорс
кубернетем сложен в установки(с kops проще) потом все просто даже о… twitter.com/i/web/status/9…
@backendsecret кстати, я не очень понимаю, когда и как kubernetes будет поддерживаться в Docker CE? Т.е. они просто… twitter.com/i/web/status/9…
да у меня есть на маке docker там есть опция на kubernetes локальный работает на ура twitter.com/dimaip/status/…
17:33кто еще не видел kubernetes вместе с docker на маке
работает норм. Вместо minkube без VM pic.twitter.com/BYunMZfTJf
На счет репозитор на каждый сервис, в плане ответственности команды это хорошо,CD делать, могут быть разные языки и… twitter.com/i/web/status/9…
20:23Настройки в гитхабе у нас такие.
На главные бранчи не кто не пушает толькл делает pull request. Все такие PR проход… twitter.com/i/web/status/9…
Компании которые хотят делать микросевисы должны привести минимум траты время на создание нового сервиса. Часто это… twitter.com/i/web/status/9…
20:27Очень полезно когда у вас десятки сервисов иметь одно место где лежат их имена настроки всякие. И желательно чтоб э… twitter.com/i/web/status/9…
20:30Например хотите создать на ходу конфигурации куба для все сервисов.
Делаем темплет для настроек
Идем в API получаем… twitter.com/i/web/status/9…
Настройки меняются в одном месте.
Новый сервис появляется в api и тут же он будет везде работать. Кстати там же мож… twitter.com/i/web/status/9…
Life hack
Можно в jenkins сделать selectbox выбор сервисов как параметр. Список тянется с api динамический, и так м… twitter.com/i/web/status/9…
# Среда 22 твита
@backendsecret И что, шаблон должен универсально подходить для всех сервисов, независимо от их назначения?
Да он должен включать только инфраструктуру и общие вещи которые вы хотите на всех сервисах. Например не прикольно… twitter.com/i/web/status/9…
9:48Когда становится много сервисов начинается проблемы как их настроить локально чтоб можно было проверить локально.D… twitter.com/i/web/status/9…
11:39смотрят на чем написаны ваши сервисы от этого считается когда наступает момент когда локально уже не чего работать… twitter.com/i/web/status/9…
11:41Автомация когда разрабатывает тесты e2e. Нуждаются во всех сервисах рабочих так им проходится поднимать все в облак… twitter.com/i/web/status/9…
11:43вот пример потребления памяти сервисами на Rails и Golang
разница на лицо сколько можно поместить на машины тех и… twitter.com/i/web/status/9…
думаю сами понимаете кто есть кто pic.twitter.com/0Zdqq83nbG
11:49У нас на данный момент около ~50 environment разработки. Много? да. Потому что команд больше 10 в каждой из низ раз… twitter.com/i/web/status/9…
11:53Тут конешно надо добавить редисы, базы, rabbitmq,nginx короче много всего выходит. Так что кубернетис это упрощает… twitter.com/i/web/status/9…
11:56У нас есть бот на слаке который умеет делать деплой на окружения для разработки, удобно когда тебе надо все сервис… twitter.com/i/web/status/9…
11:57Чтоб укоротить время деплоя в кубернетис желательно иметь маленькие docker image, я тут не давно решил использовать… twitter.com/i/web/status/9…
12:02На rails я быстро понил что это без полезно потому что нет build то есть надо все всегда.На го сервиса очень полезн… twitter.com/i/web/status/9…
12:06Оказалось что это не совсем так
если работайте с alpine
Кстати бот на слаке написан был на Хакотоне внутренем он не занел первые места что обидно, но зато им все пользуются каждый день
12:12Бот зовут плуто
Он умеет делать несколько команд и еще гавкать
команды которые он незнаю просить его научить то ест… twitter.com/i/web/status/9…
Life hack про деплои в прод
12:21Life hack про деплои в прод
12:22DevOps tools в Gett:
12:35@backendsecret Есть статья с описанием? Или гит?
Нету, но статью надо написать twitter.com/Khorev/status/…
12:53Life hack:
Маленький тролинг соседей по офису еще не кому не вредил😋 pic.twitter.com/5rSYYhC6HT
@backendsecret На рубимайн есть корпоративная лицензия?
да есть лицензия еще на goland тоже twitter.com/john_govno/sta…
17:44@backendsecret А базы для сервисов тоже с помощью k8s поднимаете и администрируете?
Нет там все rds. Мы боимся такие вещи делать сами twitter.com/salikhov/statu…
19:47@backendsecret какие библиотеки вы используете в Go для работы с PostgreSQL (ORM, конструктор запросов, мигратор, и т. п.)
Gorm,
Мигратор у нас свой, улучшеный goose, назвали swan twitter.com/vassilevsky/st…
# Четверг 32 твита
@backendsecret вот это интересно, что в k8s никто ничего персистентного не держит теперь... А цены на DBaaS кусаются!
Ты можешь настроить кубернетис для баз, есть много решений для этого готовых и есть крупные компании которые так де… twitter.com/i/web/status/9…
0:07Кубернетис самый шустрый и живой опен сорсе проэкт который я видел, там есть очеред на мерджи в мастер, супер сложн… twitter.com/i/web/status/9…
0:12Если писать PR не кубернетис а в его модули типо autoscaling то вообще за день могут посмотреть и замерджить код.
0:13Все ровно есть иногда баги даже там, сегодня поймал такой в кластере, пошол искать по гитхабу, нашел что починили у… twitter.com/i/web/status/9…
0:15@backendsecret А для локального девелопмента какой оркестратор используете? Minikube?
У разрабочиков каждый кто что хочет локально. Большинство или просто поднимают по 2-3 сервиса руками, если надо бол… twitter.com/i/web/status/9…
3:32@backendsecret А почему aws, а не gcloud (или вообще 3rd party bare metall), хотя бы для CI/CD? Они же дешевле
Aws историческая причини
Другие можно прикрутить но бфдет содержать накладно потому что другие конфиги twitter.com/dpoddubny/stat…
@backendsecret Если во время билда нужна база (разогреть кэш), это норм, или что то не так с архитектурой?
Во время докер билд не нужна база, это немного анти патерн twitter.com/dpoddubny/stat…
8:25Поговорим про Израильский high tech. Тут индустрия сильная даже по мировым рынкам. Был на конференции амазона в вег… twitter.com/i/web/status/9…
9:55Израильские компании можно делить на 3 вида
10:00Второй вид.
Компании которые выросли из стартопов и не продались, примерно от 100-500 человек. Часть из них прибылн… twitter.com/i/web/status/9…
Третий вид.
Крупные международные компании у которых есть офис в израиле или они израильские.
Facebook, google, che… twitter.com/i/web/status/9…
Работы разработчикам хватает, есть последнии несколько лет есть серьезная нехватка инженеров. Это отражается в зарп… twitter.com/i/web/status/9…
10:10Есть компании которые открыли офисы свои в Украине или даже несколько.
Почему именно эти страны? Близость, отсутств… twitter.com/i/web/status/9…
Последний шик Израиского high tech. Новое здание в центре тель авива.Сьем офиса наверно очень дорогой. Там амазон с… twitter.com/i/web/status/9…
10:15Пример израильские компании в high tech
10:21У многих компаний в Израиле есть офисы в Америке, обычно это sales или "HQ" чтоб было легче деньги собирать.
10:25@backendsecret чем программист-еврей оличается от программиста-русского?
Не чем. И у тех и у тех 10 пальцев и одно голова. twitter.com/slesh93/status…
10:26В Израильском high tech большой процент русско говорящих. В любой компании выше 5 человек будет кто то кто знает русский.
10:30Переписка внутри компании или наружи прянето на английском. Часть потому что есть офисы не в Израиле, часть потому… twitter.com/i/web/status/9…
10:35Потому что много success story, типо продаж стартапов ща милионы долларов. Есть куча людей которые думают что они м… twitter.com/i/web/status/9…
10:44@backendsecret Стартапы это хорошо, у меня есть крутая идея. Grammarly для русского языка, думаете взлетит?
Наверно :) только если будет работать на мобильных twitter.com/otakahuynyaa/s…
10:48Есть много компаний который занимаются информационной безопасностью. Тут принето модно слово для них "cyber". У час… twitter.com/i/web/status/9…
10:51Все эти компании Cyber обычно крутят большие деньги. Они работают как страховые компании, пугают что в интернете ес… twitter.com/i/web/status/9…
10:54@backendsecret Что ты думаешь о portnox.com
Без понятия, первый раз вижу twitter.com/L0ndra_/status…
11:01@backendsecret А в какой индустрии Израиля их мало? :))
Такситы, там их мало twitter.com/vlazarenko/sta…
11:09Знаешь как сделать docker image с rails + pg client + ubuntu чтою было меньше чем 700-900мега? twitter.com/maksfromspb/st…
11:45Как у вас работат CI E2E?
12:18@backendsecret Я в феврале прошлого года из 10 взятых такси в Тель Авиве поймал только одно, в котором был израильт… twitter.com/i/web/status/9…
где вы ловите? я на такси ездию примерно 3 раза в неделю нет и их мало twitter.com/vlazarenko/sta…
12:38@backendsecret А расскажите, пожалуйста, как проводите миграции в pg? Используете ли какие-то тулзы?
Мы взяли и переписали goose, назвали swan.Там он умеет смотреть на sql и говорить разработчику что миграция плохая… twitter.com/i/web/status/9…
16:40В тяжелых случаях делают миграции брут форсом. То есть обрывают конекшины в базу гоняют миграции за секунды и возра… twitter.com/i/web/status/9…
16:42Судя по опросу у малого количество людей CI e2e работает на ура. И это понятно, оказывается набрать команнду, напис… twitter.com/i/web/status/9…
16:46@backendsecret У нас в @neoscms @DXTestCafe работает на ура в CI на Travis.
E2E или юнит тесты? twitter.com/dimaip/status/…
18:33# Пятница 21 твит
Давайте поговорим про собеседования приема на работу.Многи незнаю но собеседования они двух стороние. Не только ком… twitter.com/i/web/status/9…
20:55Со стороны компании обычно смотрится что разрабочик умеет, его опыт и навыки которые он может принести в компанию.… twitter.com/i/web/status/9…
21:01Очень хороший разрабочик которые не умеет работать в команде это как хороший однотредный код который нельзя скелить… twitter.com/i/web/status/9…
21:03Очень часто надо смотреть почему человек ищет новое место работы. Может причины такие что и у вас он будет искать н… twitter.com/i/web/status/9…
21:06Что надо смотреть как разрабочику на собеседование? Первую очередь на людей. Кто делает собеседования, насколько он… twitter.com/i/web/status/9…
21:08Очень важно знать кто будет твой начальник если придет туда работать.Принято что имено TL разрабочека делают собесе… twitter.com/i/web/status/9…
21:11Иногда к нам приходят люди на собеседования и проходят пару этапов. Потом они хотят поговорить с людьми в команде.… twitter.com/i/web/status/9…
21:13Я люблю когда люди кандидаты интересуются не только технической стороной в компании.А еще и бизнес стороны.Спрашива… twitter.com/i/web/status/9…
21:15Хорошо когда интересуются как работает R&D. Как часто выходят версии? как построены команды? График работы? Расписа… twitter.com/i/web/status/9…
21:17Желательно искать инженеров а не кодеров. Разница простая
21:22Если пришел кандидат и не знает не что про компании куда он пришел на собиседования. Это очень плохой тон. Можно хо… twitter.com/i/web/status/9…
21:24Были кандидаты которые приходи на собеседование в Gett и даже не когда не видели аппликации и "примерно" знают что… twitter.com/i/web/status/9…
21:27Были товарищи которые проходили все технические этапы потом приходи в конце на разговор в HR и там им из всего что… twitter.com/i/web/status/9…
21:31Вопросы на собеседования я люблю брать из жизни.Задачи которые мы решали и которые легко обьяснить.Это показывает н… twitter.com/i/web/status/9…
21:39Например тут спрашивали про то что Gett показывет что у водилы день рождения на этой недели. Я когда то давно спраш… twitter.com/i/web/status/9…
21:42Со сторону кандитата можно смотреть на многое в компание
1.Например приходишь на собеседования а человек который де… twitter.com/i/web/status/9…
3.Не можешь найти как зайти в здание и опаздывашь и тебя не кто не ищет - плохо
4.Показывают тебе офис место работы… twitter.com/i/web/status/9…
Когда я даю техническую задачю обезательно надо спрашивать пару вопросов
1.Какие технологии тут могут помочь
2.На с… twitter.com/i/web/status/9…
Еще хорошо искать людей которые problem solver а не любители бегать и спрашивать "Что делать?". Получил задачу и р… twitter.com/i/web/status/9…
22:30У вас в компаниях делают Open source? То есть выпускают внутрение решения в открытый доступ
23:49Конечно охуенно. Особенно когда ты руководитель этого человека и не выполняешь своей работы, а он выполняет ее вмес… twitter.com/i/web/status/9…
А ты считаешь что руководитель должен решать все проблемы? Если да то он не руководитель а человек который решает п… twitter.com/i/web/status/9…
23:53# Суббота 29 твитов
Я всегда за помощь проэктам Open source. Это как волотерская деительность приятно помогать миру
Плюс много поучится самомо
Было время когда я каждые выходные искал проекты интересные и там где можно было сделать что то маленькое. Баг почи… twitter.com/i/web/status/9…
0:04как понять что человек пишет много кода и любит это?
просто посмотреть в гитхабе(если есть) pic.twitter.com/8VLXhAUsXC
@backendsecret Смотря в чем проблема, если человек новый на проекте, он просто не знает какие есть бизнес процессы,… twitter.com/i/web/status/9…
Новый проэкт или новый человек это понятно что будет спрашивать. Но когда человек уже работает пол года в компании… twitter.com/i/web/status/9…
7:24Были товарищи которые проходили все технические этапы потом приходи в конце на разговор в HR и там им из всего что… twitter.com/i/web/status/9…
Я смотрю тут много любителей хлопей. Вопрос вам, если в компании всего один вид хлопей который вам не нравится это… twitter.com/i/web/status/9…
7:28Чушь! Получив «задачю», лучше пару раз проконсультироваться с более опытными коллегами, чем, шастая в инете, выйти… twitter.com/i/web/status/9…
Если человек новый то вопросы конечно терпимо, а представь у тебя в компании 20 людей все миниму пол года в компани… twitter.com/i/web/status/9…
7:30Все вопросы с 11:30 до 12:00, во время обеда, в чайной и после 16:00 до ухода. Каждый выясненый вопрос дописывается… twitter.com/i/web/status/9…
Такой вариант полезен если в вики потом смотреть перед следущей вопросом. При такой практике вопросы пропадут быстр… twitter.com/i/web/status/9…
7:36@backendsecret Чувак, пожалуйста, скажи, что ты иностранец или тебе 7. Ну как можно писать так убого, ещё и с таким… twitter.com/i/web/status/9…
Иностранец twitter.com/ladyzhenski/st…
12:35@backendsecret ну для нормального человека хлопья важнее, чем продукт и компания, ведь они все равно чужие, а хлопь… twitter.com/i/web/status/9…
Ну наверно тут надо сказать что если ты работаешь в стартапе то тебе дают опции, то акции будущей компании. Так что… twitter.com/i/web/status/9…
12:46Вообще на мой взгляд прикольные места работы это когда тебе говорят приходи к нам писать open source за деньги. Мне… twitter.com/i/web/status/9…
13:18Что для вас такое serverless?
14:27Возмем пример с AWS lambda или ее роственики.Вроде звучит хорошо модно, не надо не чего настраивать поднимать серве… twitter.com/i/web/status/9…
15:02Теперь начнем со всяких НО
15:04Цена между EC2 машина с кодом и Lambda где то на 10K rpm сходится одинаного, но с кубернетисов это не сходится там… twitter.com/i/web/status/9…
15:07Там где у нас несколько сотей тысячь запросов в минут lambda дорого даже если мы держим машин больше.
15:08Вопрос другой который я не проверял как оно работает с базами RDS/redis в плане подключений? Оно всегда заного конектит на каждый запрос?
15:09Еще есть вопрос времини старта
если у нас микросервисы который говорят между собой по http и один запрос от клиента… twitter.com/i/web/status/9…
Не говоря еще что маленький Abuse или DDos или баг которые вызывает кучу запросов может выйти в большую сумму в счета.
15:14Хотя если сильно хочется использовать func архетиктуру и есть много запросом можно это поднимать так же в Kubeless.… twitter.com/i/web/status/9…
15:17AWS Fargate звучит хорошо
Даешь свои image и они из запускают. Тут в принцепе не чего менять не надо и код трогать… twitter.com/i/web/status/9…
Открытие недели: канал @backendsecret. Шикарнейший :)15:25
Про языки програмирования только на не называет имена языков чтоб не разводить тут войнушку.
Если смотреть на посл… twitter.com/i/web/status/9…
Модель когда всем хватало скриптовых языков в один тред на сервера как то уже не помогает когда у тебя скорость про… twitter.com/i/web/status/9…
16:09Брать одно тредную модель работы и делать из нее много процессорную, можно НО надо много памяти, нету общии памяти… twitter.com/i/web/status/9…
16:11Старые языки компилированые языки работают быстро и можно даже много тредно НО
они обычно много словны
долго собир… twitter.com/i/web/status/9…
так что если взглянем на новые языки програмирования для сервера за последние 7-10 лет то есть кое что общие у всех… twitter.com/i/web/status/9…
16:173. Умеет использовать весь CPU одним процессом
16:196. Программистов много стало так что работают командами и люди меняются часто так что код должен быть понятным всем… twitter.com/i/web/status/9…
16:21Go, Rust, Kotlin, Elixir - вот новые языки за после 7-10 лет которые зашли в прод и отвечают частими новым требован… twitter.com/i/web/status/9…
16:32# Воскресенье 2 твита
@backendsecret приходите к нам на митап 15 февраля. все расскажем про elixir. elixir-lang.moscow
С удовольствием но
Надо лететь 4 часа и у вас холодно :) twitter.com/elixir_lang_mo…
Решил сделать ревизию в AWS.
life hack: awless => csv=> excel полезное сочетание
нашел что если поменять все остав… twitter.com/i/web/status/9…