sergeylanz

22 января 2018, Tel aviv Israel

# Понедельник 102 твита

Привет всем
На этой недели с вами я Сергей Ланцман. Мне 30 лет, живу я в Израиле половина жизни.
Занимаюсь backen… twitter.com/i/web/status/9…

10:57

Люблю помогать Open source сообществу(когда есть время).
Пишу на Golang,Ruby,Python и так на всем где нет точек с запитой в конце.

10:57

О чем мы будем говорить

10:57

Начнем с того что делаем в Gett. Пишим офигеный продукт на котором можно уехать домой после веселой party или просто после тяжелой работы

11:13

Аппликация для заказа такси, работает в России, Израиль, Англия.
Приятная часть что это продукт b2c который пользуются друзья семья и сам

11:15

Просьба первая была про логи.
Мы тут не давно подняли решения для логов. Стандарный Elk только он большое на 1ТБ в день

11:28

Вообще решения такое
Filebeat => redis=> logstash => Elasticsearch + kibana
От logstash все бежит в kubernetes

11:31

Не люблю я elastic он подлый зверек. Его лудше в контейнер закрыть чтоб не будил по ночам. А еще лудше в кубернетес

11:33

Кубернете кластер для логов сделан так.
Есть 3 instance group.

11:37

3. Elasticsearch еще машины i3. 2xlarge для логов со вчера и до недели.

11:39

Elasticseach бежит в кубернетесе как daemon set, так что есть один на машины, и если пожнимаем еще машины то там вс… twitter.com/i/web/status/9…

11:41

Решения такого хватает на 1TB в день на неделю хранить с доставкой логов за несколько секунд
цена вопроса 6-7K$ в месяц в пользу амазона

11:44
@backendsecret А почему им сразу в редис не писать? Или торопиться некуда?

ну все нормальные лог библиотеки пишут на диск
во вторых диск всегда работает(пока не кончинтся) а далекий редис
о… twitter.com/i/web/status/9…

11:53
@backendsecret Вот тут бы подробнее про подлость.

ну как сказать
сказать что ES бежит и не ругается тяжело обычно
тем более если надо обновлять его или просто менят… twitter.com/i/web/status/9…

11:57
@backendsecret У вас есть a/b тесты основанные на логах? Как у вас аналитика логов устроена?

нет пока
тут с логами была длинная история
Свое рабочее решения стало рабочим несколько месяцев назад
теперь надо л… twitter.com/i/web/status/9…

12:01
@backendsecret Сколько народу у вас управляет log-инфраструктурой?

пол человека twitter.com/musuk/status/9…

12:05
@backendsecret Откуда берутся всякие там SuperGett?

Он еще жив? twitter.com/l0ldbl00d/stat…

12:24
@backendsecret Паспарту с форд боярда?

Вообще один человек на это,но когда закончим всякие вещи с логами то наверно пол времени человека хватит twitter.com/aarexer/status…

12:26
@backendsecret Я недавно краем уха услышал что такое вообще существует, до этого даже не задумывался. Много ли желающих обмануть систему?

В этой области есть деньги и клиенты, значет всегда будет желающие. Мы их видем и закрываем twitter.com/l0ldbl00d/stat…

12:28
@backendsecret А откуда тяжёлый поиск?

Приходит програмист и пишет хочу все логи за неделю где написано слово bug number...
Вот оно ищет на 7-8TB данных twitter.com/musuk/status/9…

12:29
@backendsecret Пару слов о том, как попал в Израиль и Gett

Семья переехала в Израиль давно а я сам через пару лет.
В Гетт попал не со всем нормальным способом про который ска… twitter.com/i/web/status/9…

12:43
@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…

13:20
Сейчас у нас есть архитектура которая бежит не кубернетесе. Но мы это скоро поменяем.
На данный момент есть на кажд… twitter.com/i/web/status/9…

На все это смотрит elb. И так на каждый микросевис, куча инфры для одного микросервиса. Поэтому хотим все в куберне… twitter.com/i/web/status/9…

13:22
@backendsecret Re:2. Тяжело писать код когда много людей??
Как то странно..

Много людей пишут код по разному, много магии, не компилируется значет каждый рефактор проблема.
Человек заходит в… twitter.com/i/web/status/9…

13:28
@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…

13:55
@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…

15:12
Кто какие средствами мониторинга пользуется?

У нас сейчас есть
1.Airbrake для ошибок
2.Newrelic apm как основное решения проблем, очень хорошое решения можно бы… twitter.com/i/web/status/9…

15:15
Кто какие средствами мониторинга пользуется?

Еще есть графана + influxdb
Но там только бизнес метрики twitter.com/backendsecret/…

15:16
@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

17:11

SQL: из моего опыта

17:13

SQL: из моего опыта

17:16

SQL: из моего опыта
3.Postgresq-Много функциальная база.Много функции как свои типы. Прекрасная работа с JSON и луд… twitter.com/i/web/status/9…

17:22

NoSQL:

17:38

NoSQL:

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…

18:30

Вообще у редиса хорошая и понятная документация, я тут на выходных нашел что `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…

19:13

Базы данных в Gett
Mysql - легаси но пока что важный еще
postgresql - по дефолты на новых, в основном из за json и… twitter.com/i/web/status/9…

19:16

Еще есть mongodb в одном месте но это вообше легаси старое

19:17

Языки програмирования в Gett

19:24

Версии ruby у нас почти везде 2.3
Монолит на 2.1.9, когда то он был на 1.9.3 и обновление дало примерно +40% к скор… twitter.com/i/web/status/9…

19:54

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

20:30

А как вы держите код своих сервисов?
У нас для каждого сервиса свой репо и всего таких примерно ~90

20:34

продолжения про NoSQL базы
Я тут не давно решил локально попробывать CockroachDB. Взял их пример установки в куб
По… twitter.com/i/web/status/9…

21:32

потом делаю с 10 на 3 и тут
`Connection to CockroachDB node lost.` на минут 10
думаю понятно не все так красиво к… twitter.com/i/web/status/9…

21:33

Вот тот самый host map c datadog 😍 pic.twitter.com/VVMBqiAVNh

21:57

К продолжению оптимизации работы с редисом. В редис часто кидаются обьекты ввиде JSON для кеша или других функции.… twitter.com/i/web/status/9…

22:08

msgpack еще и занимет меньше место в редисе
вообще вот тут есть хорошие бенчмарки для сериализаций на Го
github.com/alecthomas/go_…

22:09

Темы на завтра?

22:46
@backendsecret вы же на aws? там жеж вроде очень дорого выходит?

да не очень дешего вообще по минимум у нас 2 сервера m4.large на сервис один из них спот. Если надо больше он подни… twitter.com/i/web/status/9…

23:13
@backendsecret Всё, кроме ЯП

Согласен страшная тема но посмотрит что народ хочет
@Alex0007lolpvp
like за аватар твой 👌 twitter.com/Alex0007lolpvp…

23:16

life hack для github
удобнее код читать на гитхабе вечером когда гитхаб черный
есть плагин на хром которой меняет т… twitter.com/i/web/status/9…

23:54

Stylus называется

23:54

Вообще думал если была бы такая практика что если
Написал код который делает оптимизацию и серверов надо меньше
то… twitter.com/i/web/status/9…

0:01

Кстати в Израиле воскресения рабочий день а пятница нет
так что если работаешь с товарищами не с израиля то они теб… twitter.com/i/web/status/9…

0:02

Кстати на счет Excel мне как то сказали что у человечество только два великих изобретения

0:05

решил тут зайти в аналитику этого аккоунта в твитере
Интересно
5000 человек
интересы програмирования
любимый жанр… twitter.com/i/web/status/9…

0:11
@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…

0:34

Блин я когда такое вижу сразу думаю как это работает в техническом плане рисую в голове возможную архитектуру для т… 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…

1:07
@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…

1:13

Мне тут расказали про страшное будущие 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…

1:39
еще у низ есть фичя котороя бесит
если смотришь сериал и не трогаешь его.Он начинает спрашивать "есть кто живой?" к… 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/…

1:56
Раз у нас в ведущих «руководитель команды DevOps» из Израиля, щаз мы его распнем за ересь «команда DevOps» (не удив… twitter.com/i/web/status/9…

Ты говоришь что не такого как команда DevOps. Знаешь откуда это предложения?
Through its flagship product YYYY, XXX… twitter.com/i/web/status/9…

2:07
Блин я когда такое вижу сразу думаю как это работает в техническом плане рисую в голове возможную архитектуру для т… twitter.com/i/web/status/9…

Кстати про тяжелых клиентов.Иногда всплывает какой нибуть клиент у которого очень много заказов потому что он с нам… twitter.com/i/web/status/9…

2:29

потому что его запросы мучают базу да и у него наверно не все летает

2:37

Может кто еще не видел но тут есть прикольные IT комиксы
turnoff.us

7:56

Вот один из хороших pic.twitter.com/defbvthARn

8:08
@backendsecret а AI который будет делать вашу работу за вас не пугает?)

Нет потому что я инитиативный и не предсказуем. AI для этого еще далеко
И потом я шутить умееюа оно нет twitter.com/gleb_kosteiko/…

8:29

# Вторник 50 твитов

@backendsecret Почему не используете elasticcashe, а сами редис ставите?

Был плохой опыт,

0:42
@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…

10:31

В Израиле почему то програмисты, стартапы вся индустрия называет 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…

11:10

Он не идеальный, есть баги, иногда ломается, но из 3 решений мной провереных это на поряжок лудше
Проверял я ECS, swarm, k8s

11:12

Все сложность с кубом это его установка. Оно бывает разная, в амазоне, на чистом железе, в гугле и так далее.
Амазо… twitter.com/i/web/status/9…

11:14

Пока амазон спали, опен сорсе общество написало решения для установки и управления кубернетесом в амазоне.
Называет… twitter.com/i/web/status/9…

11:17
@backendsecret А как же EKS? Он хоть и beta, но уже есть.

Он preview... Пока не готов будет через пол года, это их пробуждения от сна twitter.com/vlazarenko/sta…

11:18

Все yaml с настройками идут на s3 и там хранится state.
Другой вариант можно получить это как терраформ файлы.

11:19
@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…

12:50

Ок после того как kops сохраняет yaml на s3, через него можно поднять autoscaling group в амазоне.
Машины поднимают… twitter.com/i/web/status/9…

12:52

Kubelet-это бинари который бежит демоном на машине и управляет всем
Docker
Iptables и так далее

12:53

С этого момента все остальное уже в контейнерах.
На мастерах поднимается etcd, apiserver dns
На всез остальных маши… twitter.com/i/web/status/9…

12:55

Ectd в кубе это база данных, там хранятся все настройки.
Без нее все плохо
Кстати время ответа и живучесь очень сил… twitter.com/i/web/status/9…

12:58
@backendsecret кроме datadog что-то планируете проверять? или их многомиллионный PR делает свое дело?

Newrelic infra
Signal fx twitter.com/tru_pablo/stat…

13:00

Apiserver в кубе это вебсервер, который весит поверх etcd и в него стучатся все ноды за настройками, командами
Есть… twitter.com/i/web/status/9…

13:07

Pod - это что то на подобие докер композ
Набор одного или более контейнеров бегущих вместе, можно между ними папки… twitter.com/i/web/status/9…

13:11

Так что pod это самый маленький обьект в кубе.
Выше него есть replica set. Это обьект проверяет что есть нужное кол… twitter.com/i/web/status/9…

14:24

Через deployment можно указать все что надо чтоб поднять сервис аппликации в кубе.
Там можно указать как делать деп… twitter.com/i/web/status/9…

14:26

Есть еще обьект daemon set, то же самое что deployment в настройках кроме того что не указывается количество реплик… twitter.com/i/web/status/9…

14:28

Есть хорошая интеграции куба с амазон если ставить все через kops.
Можно вообше в амазон не заходить все будет,
Доб… twitter.com/i/web/status/9…

14:35
@backendsecret У нас сварм в проде... Гораздо лучше k8s

Может быть если ва не надо
Автоскалин машин и подов
Подключения volume
Настройка dns
И много других вещей twitter.com/DmitriyLyalyue…

14:37
@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…

16:31

Travis-ci полезная штука для тестов
Плюс легкой настройвать в самом репо для любого програмиста
даешь команде дос… twitter.com/i/web/status/9…

16:38

packer
штука умеет строить image для амазона(AMI) и для других
говоришь в json мне надо машина такого размера, на… twitter.com/i/web/status/9…

17:13
@backendsecret Интересно чем k8s лучше swarm mode. Меня в swarm mode привлекает простота... Хочу понять, чем я за нее буду расплачиваться

@backendsecret
фичерым
поддержка в опен сорс
кубернетем сложен в установки(с kops проще) потом все просто даже о… twitter.com/i/web/status/9…

17:28
@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

17:34

На счет репозитор на каждый сервис, в плане ответственности команды это хорошо,CD делать, могут быть разные языки и… twitter.com/i/web/status/9…

20:23

Настройки в гитхабе у нас такие.
На главные бранчи не кто не пушает толькл делает pull request. Все такие PR проход… twitter.com/i/web/status/9…

20:25

Компании которые хотят делать микросевисы должны привести минимум траты время на создание нового сервиса. Часто это… twitter.com/i/web/status/9…

20:27

Очень полезно когда у вас десятки сервисов иметь одно место где лежат их имена настроки всякие. И желательно чтоб э… twitter.com/i/web/status/9…

20:30

Например хотите создать на ходу конфигурации куба для все сервисов.
Делаем темплет для настроек
Идем в API получаем… twitter.com/i/web/status/9…

20:33

Настройки меняются в одном месте.
Новый сервис появляется в api и тут же он будет везде работать. Кстати там же мож… twitter.com/i/web/status/9…

20:34

Life hack
Можно в jenkins сделать selectbox выбор сервисов как параметр. Список тянется с api динамический, и так м… twitter.com/i/web/status/9…

20:39

# Среда 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…

11:46

думаю сами понимаете кто есть кто 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:08

Кстати бот на слаке написан был на Хакотоне внутренем он не занел первые места что обидно, но зато им все пользуются каждый день

12:12

Бот зовут плуто
Он умеет делать несколько команд и еще гавкать
команды которые он незнаю просить его научить то ест… twitter.com/i/web/status/9…

12:18

Life hack про деплои в прод

12:21

Life hack про деплои в прод

12:22

DevOps tools в Gett:

12:35
@backendsecret Есть статья с описанием? Или гит?

Нету, но статью надо написать twitter.com/Khorev/status/…

12:53

Life hack:
Маленький тролинг соседей по офису еще не кому не вредил😋 pic.twitter.com/5rSYYhC6HT

16:36
@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…

22:17

# Четверг 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…

8:23
@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…

10:04

Третий вид.
Крупные международные компании у которых есть офис в израиле или они израильские.
Facebook, google, che… twitter.com/i/web/status/9…

10:06

Работы разработчикам хватает, есть последнии несколько лет есть серьезная нехватка инженеров. Это отражается в зарп… twitter.com/i/web/status/9…

10:10

Есть компании которые открыли офисы свои в Украине или даже несколько.
Почему именно эти страны? Близость, отсутств… twitter.com/i/web/status/9…

10:12

Последний шик Израиского 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…

21:49

3.Не можешь найти как зайти в здание и опаздывашь и тебя не кто не ищет - плохо
4.Показывают тебе офис место работы… twitter.com/i/web/status/9…

21:51

Когда я даю техническую задачю обезательно надо спрашивать пару вопросов
1.Какие технологии тут могут помочь
2.На с… twitter.com/i/web/status/9…

21:58

Еще хорошо искать людей которые 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. Это как волотерская деительность приятно помогать миру
Плюс много поучится самомо

0:02

Было время когда я каждые выходные искал проекты интересные и там где можно было сделать что то маленькое. Баг почи… twitter.com/i/web/status/9…

0:04

как понять что человек пишет много кода и любит это?
просто посмотреть в гитхабе(если есть) pic.twitter.com/8VLXhAUsXC

0:06
@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…

15:11

Не говоря еще что маленький Abuse или DDos или баг которые вызывает кучу запросов может выйти в большую сумму в счета.

15:14

Хотя если сильно хочется использовать func архетиктуру и есть много запросом можно это поднимать так же в Kubeless.… twitter.com/i/web/status/9…

15:17

AWS Fargate звучит хорошо
Даешь свои image и они из запускают. Тут в принцепе не чего менять не надо и код трогать… twitter.com/i/web/status/9…

15:21
Открытие недели: канал @backendsecret. Шикарнейший :)
15:25

Про языки програмирования только на не называет имена языков чтоб не разводить тут войнушку.
Если смотреть на посл… twitter.com/i/web/status/9…

16:07

Модель когда всем хватало скриптовых языков в один тред на сервера как то уже не помогает когда у тебя скорость про… twitter.com/i/web/status/9…

16:09

Брать одно тредную модель работы и делать из нее много процессорную, можно НО надо много памяти, нету общии памяти… twitter.com/i/web/status/9…

16:11

Старые языки компилированые языки работают быстро и можно даже много тредно НО
они обычно много словны
долго собир… twitter.com/i/web/status/9…

16:14

так что если взглянем на новые языки програмирования для сервера за последние 7-10 лет то есть кое что общие у всех… twitter.com/i/web/status/9…

16:17

3. Умеет использовать весь CPU одним процессом

16:19

6. Программистов много стало так что работают командами и люди меняются часто так что код должен быть понятным всем… twitter.com/i/web/status/9…

16:21

Go, 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…

10:06

Решил сделать ревизию в AWS.
life hack: awless => csv=> excel полезное сочетание
нашел что если поменять все остав… twitter.com/i/web/status/9…

23:58

other