Fork me on GitHub
#clojure-russia
<
2015-07-18
>
maxp02:07:24

@delaguardo: это все правильно, конечно, но реалии таковы, что админы есть такие какие есть, а у их начальника собственный коттедж по площади в два раза больше, чем у меня. Поэтому у меня нет морального права объяснять ему, как вести бизнес, кого нанимать и увольнять simple_smile

lowl4tency04:07:28

давайте не будем про админов

lowl4tency04:07:41

Неграмотных прогеров в разы больше, чем неграмотных админов

lowl4tency04:07:54

Вон выше в треде это видно

lowl4tency04:07:23

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

lowl4tency04:07:05

даже грамотный админ может ошибиться или опечтаться, или неправильно понять доку или перебухать

lowl4tency04:07:43

Нет, мы сейчас здесь добавим, пусть мартышки следят за этим, у меня на локалхосте отлично работает

lowl4tency04:07:31

пока к вещам не подходить что это точка отказа и от нее нужно избавиться ни о какой стабильности речь быть не может

lowl4tency04:07:45

Даже сука ваш гит репозиторий это точка отказа

lowl4tency04:07:59

Да ты нам намути здесь базу для локальных нужд, нене, оно для девелоперов и не нужно заморачиваться, спустя два месяца — какого хера эта база лежит? мы работать не можем/клиенты плачут/процесс стоит

delaguardo04:07:30

ого, накипело?

lowl4tency04:07:15

да задолбали

lowl4tency04:07:53

гитхаб падал, гугл падал, у амазона целые регионы ложились, нет мы посадим админа, пусть следит/правит

lowl4tency04:07:23

delaguardo: я просто злой simple_smile

delaguardo04:07:16

)) да я на самом деле солидарен)

lowl4tency04:07:29

delaguardo: это я для maxp

lowl4tency04:07:49

delaguardo программисты делают интерфейсы, неважно гуй это или ini файл, этот интерфейс должен быть понятен люой мартышке

lowl4tency04:07:41

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

maxp04:07:00

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

maxp04:07:08

но хватит о грустном

maxp04:07:24

у меня на этой неделе анекдот был

maxp04:07:26

жизненный

maxp04:07:02

я раньше думал, что такое специально юмористы придумывают -

maxp04:07:48

звонит девушка вечером и срочно просит помочь ей с (внимание!)

maxp04:07:55

с сервером

maxp04:07:33

девушка умная, техники не боится, просто админ оставил ее там за главную на несколько дней

lowl4tency04:07:33

maxp: у меня было N случаев когда мне приходилось танцевать вприсядку из-за того что программисту было удобнее сделать так

lowl4tency04:07:57

maxp: контора рога и копыта?

maxp04:07:33

девушка сбивчиво объясняет, что поломала конторскую почту

maxp04:07:12

и цитирую "посмотрела в интернете какие команды набирать, чтобы ящик почистить"

maxp04:07:30

и она знала, что надо набирать sudo

maxp04:07:03

в интернете она смотела (как я увидел по истории) на сайте remoteshaman

maxp04:07:08

зацените!

maxp04:07:57

@lowl4tency: контора довольно давняя и известная в своей области, выпускает продукцию на пол территории бывшего СССР уже много лет

maxp04:07:11

успешно выпускает

lowl4tency04:07:15

это не мешает ей быть рога и копыта

lowl4tency04:07:42

админ это тоже точка отказа 😉

maxp04:07:45

"рога и копыта" это когда контора непойми чем занимается

maxp04:07:57

здесь есть вполне реальный бизнес

maxp04:07:21

просто он построен так, что даже админ не в состоянии его сильно порушить, даже очень захотев

lowl4tency04:07:45

а зачем этой конторе собственный почтоый сервак

maxp05:07:08

у них много чего собственного ,и даже к интернету не подключенного

delaguardo05:07:41

смотрите что нашел - https://leanpub.com/clojurescript-unraveled, сори если было

maxp05:07:02

сегодня в новостях пробегало где-то

maxp07:07:11

уважаемые, а кто что в качестве крона использует?

maxp07:07:07

внутри clojure application разумеется

maxp07:07:41

то есть у него все нормально со списком задач / не запустить лишнего / узнать что запущено?

maxp07:07:59

а кварцит смотрел?

ul07:07:12

кварцит смотрел в первую очередь когда-то давно, но не пошёл

maxp07:07:46

понятно, спасибо.

maxp07:07:20

мне cronj тоже больше приглянулся при беглоам взгляде.

maxp07:07:26

попробую через некоторое время.

niquola11:07:51

Мы проблему девадминов решили переездом в амазон и заменой админов программистами - сам написал - сам поставил - сам следишь!

kxepal11:07:44

не все проблемы можно решить переездом на амазон (: хотя подход "сам написал - сам поставил - сам следишь" мне нравится. жаль только, что в среднем по больнице программисты разбираются в администрировании от слова никак.

niquola12:07:19

сам разобрался ;)

niquola12:07:04

Тут проблема в том, что разные интересы - от программистов ждут фич, а от админов надёжности - и конфликт тлеет и разгорается легко. Я вижу два выхода - нет админов (программисты сами все делают), и нет админов ( они разработчики инфраструктуры, а их заказчики программисты). Причём второй менее эффективен и нужен если первый уже не скалируется.

niquola12:07:38

А как cronj расползаеться по нескольким серверам? Он умеет персистеть задачи? Мне кажеться более или менее надёжный шедулинг должен использовать базу или очередь.

niquola12:07:35

Хотя это уже можно достроить поверх cronj наверно.

ul13:07:17

он этого всего не умеет

ul13:07:21

персистенс к нему легко прикрутить, я думаю, а по серверам расползаться и кварц не умеет — там это вроде решается использованием одной и той же базы для всех инстансов

ul13:07:59

Never run clustering on separate machines, unless their clocks are synchronized using some form of time-sync service (daemon) that runs very regularly (the clocks must be within a second of each other). See http://www.boulder.nist.gov/timefreq/service/its.htm if you are unfamiliar with how to do this. Never start (scheduler.start()) a non-clustered instance against the same set of database tables that any other instance is running (start()ed) against. You may get serious data corruption, and will definitely experience erratic behavior.

ul13:07:30

Та ещё задачка.

lowl4tency14:07:33

nicola: а что вы используете в амазоне?

lowl4tency14:07:14

nicola: я работаю как второй вариант и я скорее не админ а джейсон програмист амазона

niquola14:07:40

Мы по минимуму: vpc & vpn, s3 & glacier, немного cloud formation что бы сильно не лочиться

lowl4tency14:07:31

а деплоите чем?

niquola14:07:39

@ul тогда как-то незаманчиво, я бы сам тогда писал - таблико с правилами, движок который их будет в jobы превращать и складывать в очередь на процессинг

niquola14:07:01

@lowl4tency когда-то chefом, сейчас ansible в основном, иногда git push heroku ;)

lowl4tency14:07:11

nicola: а codedeploy не пробовали?

niquola14:07:35

Неа, хорошая штука?

lowl4tency15:07:40

nicola: осваиваю

lowl4tency15:07:51

nicola: оно интегрировано с circleci

lowl4tency15:07:05

само заливает на s3, запиливает потом на хост

lowl4tency15:07:16

и умеет хосты апдейтить по одному и ролбэчить

lowl4tency15:07:31

Короче если не задеплоилось ничего не сломается

lowl4tency15:07:22

Ну это в теории, про практику пока рано говорить

delaguardo15:07:36

с s3 на боевой хост?

delaguardo15:07:02

а для чего так сложно?

lowl4tency15:07:30

сначала нужно еще на s3 залить

lowl4tency15:07:39

точнее сначала собрать, залить, потом задеплоить

lowl4tency15:07:46

и причем задеплоить так чтобы ничего не уронить

lowl4tency15:07:49

Сделай просто!

delaguardo15:07:49

так у меня fabric собирает и заливает на сервак, там складывает в versions/%hash%, линкует последний на current, его подхватывает monit, тестирует и если все норм переключается на него, если где-то проёб - то откатывает на предыдуший

delaguardo15:07:11

все один в один как делает дефолтная capistrano в рельсовом проекте

delaguardo15:07:17

ну кроме monit'a

delaguardo15:07:03

да и fabric по идее не нужен, так для удобства добавил

lowl4tency16:07:51

а у меня если одна нода зафейлится больше деплоиться не будет

lowl4tency16:07:06

и вообще

lowl4tency16:07:13

я считаю что в амазоне пацаны умнее меня

lowl4tency16:07:24

и я лучше буду использовать их солюшен

lowl4tency16:07:31

чем городить свои

delaguardo16:07:40

это их решение? oO

lowl4tency16:07:06

Это как бы AWS CodeDeploy

lowl4tency16:07:18

их сервис

lowl4tency16:07:32

они еще code pipeline открыли

lowl4tency16:07:37

но оно только дженкинс умеет

lowl4tency16:07:56

delaguardo: я еще использую их Postgres их Memcached и их Redis

lowl4tency16:07:12

потому что я тупой и ленивый simple_smile

delaguardo16:07:22

ага, увидел, не пользовал просто

delaguardo16:07:05

@lowl4tency: да я сам много чего из их стека пользую) таже хрень, лень писать костыли)

delaguardo16:07:26

и как их Postgres?

delaguardo16:07:53

это же про RDS речь?

lowl4tency16:07:58

удобно

lowl4tency16:07:13

я пока только херачу

lowl4tency16:07:19

до прода не дошли еще

delaguardo16:07:52

ценник лютый(

lowl4tency17:07:28

delaguardo: в перспективе оно выгоднее все-таки

niquola17:07:43

@delaguardo Эквид на rds уже больше года - оч довольны