@ru_python

Страница 7383 из 9768
Владимир
12.12.2018
13:40:24
LighteR
12.12.2018
13:40:46
Тонкая грань)
Да не, ее вполне легко провести же. Если тест не работает без окружения (база, другие сервисы и т.д.), то это интеграционный

gigimon
12.12.2018
13:41:24
Какая инфраструктура для тестов?
локально у разработчиков vagrant в котором просто докер, на прле в CI стоит drone с кучкой серверов и опять просто докер

Google
LighteR
12.12.2018
13:41:54
локально у разработчиков vagrant в котором просто докер, на прле в CI стоит drone с кучкой серверов и опять просто докер
Инфраструктура может быть такой, что на одной тачке все может не поместиться

gigimon
12.12.2018
13:42:02
Вагрант зачем?
не все на линуксе сидят

Tishka17
12.12.2018
13:42:03
Вагрант зачем?
видимо винда у них

Владимир
12.12.2018
13:42:07
Ага

Владимир
12.12.2018
13:42:41
видимо винда у них
Виртуализация виртуализации виртуализацией погоняет

Tishka17
12.12.2018
13:42:52
у нас щас elastic + postgrs+redis + два аппа + тесты через compose стартуют

gigimon
12.12.2018
13:42:54
для influx мы делали просто, если фикстура видит ENV=devel, то не запускает контейнер а коннектится к удаленному серверу

Tishka17
12.12.2018
13:42:57
норм на тачке влезает

LighteR
12.12.2018
13:43:05
Ну и вообще развертывание с нуля инфраструктуры может быть нетривиальной задачей

Google
Tishka17
12.12.2018
13:43:52
у нас на прошлой работе разворачивание инфраструктуры с нуля было каждые пару недель

так что в тестах оно делалось постоянно

LighteR
12.12.2018
13:44:09
ну это разные области, да

Tishka17
12.12.2018
13:44:36
не вижу причин не делать так же везде

разве что вопрос в данных

LighteR
12.12.2018
13:44:45
в коробочных продуктах вряд ли есть десятки/сотни микросервисов

Nikolay
12.12.2018
13:44:54
Приветы. Питон выходит, что strong typed?

LighteR
12.12.2018
13:45:03
и куча всяких баз/очередей и т.п.

Владимир
12.12.2018
13:45:06
С другой стороны можно хорошо автоматизировать. Тот же ансибл поможет

Aragaer
12.12.2018
13:45:16
ну каждая переменная в каждый момент имеет строго определенный тип, да

Nikolay
12.12.2018
13:45:20
Типа типизация динамическая, но при этом strong

Aragaer
12.12.2018
13:45:32
и перевод из одного типа в другой делается вполне себе явно и по правилам

Nikolay
12.12.2018
13:45:58
ну каждая переменная в каждый момент имеет строго определенный тип, да
Строгая это про другое. Если в каждый момент разная - это значит, что динамическая

Google
Владимир
12.12.2018
13:46:07
gigimon
12.12.2018
13:47:02
в коробочных продуктах вряд ли есть десятки/сотни микросервисов
не скажи, у нас коробочный и у нас на вооружении mysql, memcached, influx, rabbitmq + наш продукт разбит на сервисы, которые надо параллелить и разбивать на разные инстансы

Tishka17
12.12.2018
13:47:03
ну с микросеврисами я щас только учусь нормально жить

пока не нравится процесс

gigimon
12.12.2018
13:47:21
хотя до сотен тоже не дотягивает

LighteR
12.12.2018
13:47:47
Сотни микросервисов.. Ад девопса?
Ну они могут быть довольно унифицированно обслуживаться, деплоиться. Но тем не менее сетап самой инфраструктуры может быть сложным

Aragaer
12.12.2018
13:47:52
/me сваял свое поделие для запуска отдельных скриптов

Nikolay
12.12.2018
13:47:54
нынешнее поколение школоты

Aragaer
12.12.2018
13:48:11
а теперь вот думаю, что надо их в контейнеры запихать, а вместо моего поделия какие-то волшебные слова типа docker compose

или я там не знаю

Nikolay
12.12.2018
13:48:28
захар здесь?

Aragaer
12.12.2018
13:48:30
dockerus composicium

Владимир
12.12.2018
13:48:38
или я там не знаю
А бери любой базворд

Nikolay
12.12.2018
13:48:44
dockerus composicium
кекус лоликус

LighteR
12.12.2018
13:48:58
не скажи, у нас коробочный и у нас на вооружении mysql, memcached, influx, rabbitmq + наш продукт разбит на сервисы, которые надо параллелить и разбивать на разные инстансы
mysql, memcached, influx, rabbitmq, ну это в общем довольно маленький стэк. В больших проектах, особенно где много легаси этот стек может быть во много раз больше

Владимир
12.12.2018
13:51:18
ну с микросеврисами я щас только учусь нормально жить
Тут как с фломастерами - ра вкус и цвет. Обязательно будут миссионеры микросервисов. У них свет на них сошелся. И будут противники)

LighteR
12.12.2018
13:52:02
дерево зависимостей сервисов может быть довольно большим и запутанным. И все это развернуть с нуля для прогона тестов только одного микросервиса может оказаться непосильной задачей

Владимир
12.12.2018
13:52:04
А выбор архитектуры все таки от задачи следует делать, а не моды

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

Google
LighteR
12.12.2018
13:54:25
Тогда что-то тут не так. Прогон тестов должен делаться просто. Если он сильно сложный. То похоже перемудрили и возможно следует остановиться и сделать рефакторинг
Не, тут не в сложности тестов дело, а том, что поднятие всей инфраструктуры под прогон тестов одного из сервисов может быть совсем не простым или вообще неприемлимым вариантом

Тут как с фломастерами - ра вкус и цвет. Обязательно будут миссионеры микросервисов. У них свет на них сошелся. И будут противники)
Это не совсем вкусовщина. С большим монолитом в какой-то момент времени становится слишком сложно жить. И переход на микросервисы, это скорее вынужденная мера

LighteR
12.12.2018
13:57:40
Я о том, что надо разбивать не сильно мелко. Иначе тараканов не наловишься.
А, ну это само собой. Черезмерное дробление тоже не айс

Владимир
12.12.2018
13:57:48
Ядро линукса по факту монолит. Крупный и сложный проект. При хорошей организации живет и развивается. Поэтому процессы важны не меньше.

Denis
12.12.2018
13:58:05
Это не совсем вкусовщина. С большим монолитом в какой-то момент времени становится слишком сложно жить. И переход на микросервисы, это скорее вынужденная мера
Да, только “большой монолит” это тысяч сто строк кода+ (а есть случаи, когда и миллион держат и ничего). А куча ньюфагов в индустрии пилят на микросервисы все, что плохо лежит. Все лучше с микросервисами. Мы слышали ты любишь микросервисы? Мы добавили микросервисы в твои микросервисы, чтобы ты мог проксировать пока ходишь в сервис меш ?

Nikolay
12.12.2018
13:58:37
у вас что работы нет

целый день треп

переходите на Go, тут есть работка

Admin
ERROR: S client not available

Denis
12.12.2018
13:59:35
“Инкапсуляция по сети” можно сказать. Ну захватывающая концепция конечно, но ведь не все в них уперлось. Это оркестрация, сервис меш, логгирование, трейсинг, мониторинг, дашборды для логов, всякие амбассадоры для апи гейтвеев

Denis
12.12.2018
13:59:56
Это боль в смысле что я видел когда и тысячи строк кода (ну там 10к - 20к кодовая база) начинают раздирать на десятки микросервисов

Поддержка становится такой болью

Aragaer
12.12.2018
14:00:39
почему?

ведь каждый сервис независим от остального, имеет фиксированную версию и апи

и правки в одном сервисе не должны ломать работу остальных при сохранении апи

Denis
12.12.2018
14:01:10
Вот Фаулер дает пояснение https://martinfowler.com/bliki/MonolithFirst.html

ведь каждый сервис независим от остального, имеет фиксированную версию и апи
Накладные расходы на содержание этой вакханалии велики

Google
Aragaer
12.12.2018
14:01:36
вон я своего чатбота делаю в виде таких мелких независимых хреновин

Denis
12.12.2018
14:01:42
Без трейсинга ты не знаешь где упало. Без оркестрации ты не можешь управлять этим

Сергей
12.12.2018
14:01:45
самое хреновое, когда эти микросервисы начинают писать на джанге с drf и потом офигенные профессионалы в этих технологиях им нужны в команду чтобы банальный круд на 4 таблицы писать

Aragaer
12.12.2018
14:01:48
каждую из которых я могу писать на любом языке

LighteR
12.12.2018
14:01:52
Проблема большого монолита в том, что его становится сложно релизить и больше вероятность регресса

Denis
12.12.2018
14:01:56
Сетевые задержки жрут производительность

Aragaer
12.12.2018
14:01:58
оркестрацию сделал

сетевые?

зачем там сетевые?

у меня все локальненько на юникс сокетах и пайпах

Denis
12.12.2018
14:02:24
А как твои микросервисы будут общаться? Через юникс сокеты? ?

Aragaer
12.12.2018
14:02:41
ну они пока не микросервисы, а отдельные приложения. Да, сокеты и пайпы

Denis
12.12.2018
14:02:47
А ну понятно. Только когда в кластер собираешь большой там же юникс сокеты обычноне вариант

Aragaer
12.12.2018
14:02:49
кидают себе жсончиками друг в другна

Denis
12.12.2018
14:03:03
Когда это реально физически в разных узлах

Aragaer
12.12.2018
14:03:32
ну если нужно разносить физически, то наверно просто потому что на одном они уже не помещаются

LighteR
12.12.2018
14:03:48
Сетевые задержки жрут производительность
Внутри одного дц это не выглядит проблемой, особенно если keep alive есть

Denis
12.12.2018
14:03:49
Так именно. Чаще всего этот вариант и предполагается

Zi
12.12.2018
14:04:23
Как сделать таую аналогию на пайтон? http://jsbin.com/xopaziy/1/edit?js,console

Denis
12.12.2018
14:04:25
Транзакции тоже идут лесом, но это не такая уж беда, если все разделено

Aragaer
12.12.2018
14:04:45
собссно я вот как раз и думаю, каждое из своих отдельных приложений докеризовать, тогда можно будет выкинуть мою самодельную оркестрацию

LighteR
12.12.2018
14:04:52
Транзакции тоже идут лесом, но это не такая уж беда, если все разделено
И вообще не беда, если у тебя и до разделения не было транзакций ))

Страница 7383 из 9768