• Kuber vs rancher vs docker?

    voidnugget
    @voidnugget
    На кождой ноде может быть свой ингресс и масштабирование можно делать на уровне loadbalancer'ов соответствующих хостингов, или даже CloudFlare с Origin сертификатами - погоды не делает.

    В качестве loadbalancer'a между нодами внутри кластера может быть в свою очередь ещё один ingress controller c cоответствующим Origin сертификатом... часто это HAProxy или traefix/fabio/ambassador.

    Посмотрел fabio - не понял. traefic не особо зашел


    А разницы между ними не много.
  • Kuber vs rancher vs docker?

    voidnugget
    @voidnugget
    Илья Родионов, если это будут две разные физические машины - погоды особо не делает, главное нормально настроить ingress контроллер. Вообще в докере оно выглядит так - ingress контроллер всегда внешний, в закрытой сети - VLan/VXLan/VPN поверх которой уже отрабатывает Overlay.

    Абсолютно точно так же оно делается на Nomad'e - там отдельно добавляются задачи на поднятие/добавление хостов в соответствующую сеть, обычно на OpenVSwitch или около того.
  • Kuber vs rancher vs docker?

    voidnugget
    @voidnugget
    @ZloyKishechnik

    > удобно тут использовать продукты hashicorp как единое решение

    Все продукты HashiCorp, кроме Nomad'a и Vagrant'a, чаще всего и используются во всех DevOps/SRE задачах.

    > есть ли альтернативы fabio в nomad?

    envoy / istio
    traefik
    ambassador
    haproxy
    nginx :D
  • Kuber vs rancher vs docker?

    voidnugget
    @voidnugget
    Нормальный Autoscaling придётся в любом случае крутить руками - магии там нет.

    Желательно ещё хотя бы освоить какой-то Terraform c Packer'ом - что бы внедрить полноценный IaC.
  • Kuber vs rancher vs docker?

    voidnugget
    @voidnugget
    - docker-swarm+portainer


    docker-swarm и его походные, как и docker-compose, имеют ряд изъянов в дизайне и ни особой стабильностью ни отказоустойчивостью не отличаются.

    - nomad+fabilo+consul

    Nomad - планировщик
    Fabio - как Ingress контроллер
    Consul - как K/V хранилище и Service Discovery через DNS
    Можно ещё докрутить Vault для хранения и ротации Credentials, аудита доступа

    но фактически portainer ~ nomad?


    Нет.

    portainer - это UI для docker-swarm и registry.

    Nomad - это кластерный планировщик, используется вместо docker-swarm.
  • Kuber vs rancher vs docker?

    voidnugget
    @voidnugget
    я использую portainer.io

    Илья Родионов, у portainer хватает недостатков и он не покрывает довольно много edge кейсов, но для мелких проектов его достаточно.

    если 5/6 нод умрет, то сворм будет запихивать все в единственную ноду,

    Сluster Autoscaling мало что умеет, кроме ранчера.

    Номад - это класстерный Cron, грубо-говоря, там можно создать healthcheck'ов и автоматическое поднятие новых инстансов в случае проблем, терраформом или через REST API соответствующих хостингов.

    что кубер мне как-то не взлетел и показался чересчур сложным

    Кубер не сложный, просто документация - говно.
    стоит ли внутри него ставить тот же самый portainer (или систему для докер-сворм) или остановиться на обычном nomad?

    Это невозможно. Nomad уже выполняет функции Docker Swarm и у него есть отдельно свой UI.
    еще вопрос в том, как можно 2 инстанса одного приложения с одним открытым в мир портом запустить на одной ноде?

    Докер или номад здесь непричём... нужен любой ingress контроллер - это может быть, например, consul под Ambassador. Как вариант по проще - прикручивают Fabio.
  • Kuber vs rancher vs docker?

    voidnugget
    @voidnugget
    > а как вам сам nomad с docker?

    Есть мелкие проблемы, но если это какое-то простое приложение, без 10тка контейнеров, типа Kubernetes :) - можно использовать.

    > как вам?

    Если не нужно вундервафель - вполне сносно.
    Иногда приходиться ковырять исходники / баги фиксить, раз в 2-3 года.
    Тем не менее, нет такого цирка как в кубере - когда всё устаревает каждый минорный релиз.

    > вроде сам номад и оркеструет докер.

    Подключается к демону через сокет, либо выполняет контейнеры самостоятельно через runC, вообще без докера.

    > как там например изолировать инстансы (или это делает докер?)

    Изоляция контейнеров на уровне сети выполняется через соответствующий overlay network драйвер докера.
    Т.е. создаётся виртуальный интерфейс на котором висит несколько адресов.

    Так то частенько, если нет VM, добавляют gVisor.
    Nomad + Docker + gVisor вполне годно работает.
  • Postgres-XL - как добавить новый узел?

    voidnugget
    @voidnugget
    > настройке взаимодействия БД с железом и ресурсами сервера (отчасти к настройке производительности)

    В tablespace'ы на разных блочных устройствах умеете ?

    > Поправьте, если ошибаюсь

    Надо сначала разобраться с нормализацией до 6ой нормальной формы и контролируемой денормализацией на мат представлениях... что бы индексы в базе покрывали только данные пользователей которые были активны последнюю неделю-месяц-квартал. Всё остальное на холодные/тёплые хранилища (ленту+hdd/hdd) под BRIN индексом.

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

    Если отработать схему партицирования нормально не нужно делать ни один из серверов бутылочным горлышком... а остальные подтянуться в представлениях по FDW.

    > И может ли этот инструмент производить распределение данных подобно "distribute by modulo" в Postgres-XL?

    Это может делать просто RULE и pg_pathman.

    > Postgres-XL растёт и развивается

    Пока проще руками так как там при приличных нагрузках всеравно приходиться ручками всё шардить / партицировать, потоковую репликацию настраивать.

    > перераспределились по таблицам - чудеса

    А ещё есть разные виды сходимости в конечном счёте (eventual consistency)... и при серьёзных нагрузках эти чудеса уже как-то совсем не работают.

    Пробуйте простое декларативное партицирование на правилах без наследования.

    `EXECUTE DIRECT ON (datanode/coordinator) 'script ddl'.`

    Оно пока нормально работать не будет... там есть куча ограничений.
  • Формат ошибок в GraphQL?

    voidnugget
    @voidnugget
    > Есть ли какая то спецификация?

    Нету - как сами объявите в GraphQL схеме, так и будет обрабатываться.
  • С чего начать изучать BigData?

    voidnugget
    @voidnugget
    mystdeim: Kotlin достаточно зрелый для использования в продакшене, синтаксис во многом похож, баги компилятора сильно в работе не мешают. Scala шустрее, сообщество довольно большое и быстро растёт, в официальном слаке можно потрындеть с Жемеровым %) а в Scala вряд ли получится так быстро связаться с Одерски, хотя в google groups он обычно отвечает.
  • С чего начать изучать BigData?

    voidnugget
    @voidnugget
    mystdeim: netty и прямые руки, либо сам пишу http cервак со всеми плюшками по потребности.

    Нынче в основном пишу на Scala, и под Android на Kotlin.
    У scala runtime раздутый (6Mb против 500Kb kotlin'a), но Overhead'а нынче совсем нет.
    В некоторых случаях бывает шустрее java, в других просто не хватает хаков и оптимизации компилятора...
  • В Node.js будет реализованы import и export?

    voidnugget
    @voidnugget
    Почитайте eps указаный выше, я не знаю к чему они там пришли.
  • В Node.js будет реализованы import и export?

    voidnugget
    @voidnugget
    Сам механизм подгрузки модулей в harmony node.js отличается от es6 стандарта.
  • В Node.js будет реализованы import и export?

    voidnugget
    @voidnugget
    Оно и не должно работать, так как не соответствует стандарту.
  • В Node.js будет реализованы import и export?

    voidnugget
    @voidnugget
    Сухроб Хусамов: включайте сразу всё через --harmony , там поведение в целом не соответствует стандарту и окончательное решение касательно определения модулей принято не было. Всю санта-барбару можно почитать тут https://github.com/nodejs/node-eps/issues/13
  • В Node.js будет реализованы import и export?

    voidnugget
    @voidnugget
    Полифил, ну https://github.com/ModuleLoader/es6-module-loader типа такого... но SystemJS на нём же и основан.
  • Какие еще зарубежные биржи, кроме Upwork, стоит попробовать?

    voidnugget
    @voidnugget
    Работать в РФ и Украине со ставкой 40-60$ в час вполне реально, другое дело что скоуп должен быть оооочень широким.
  • Как взламывают сим-карты?

    voidnugget
    @voidnugget
    Osterman99 Я бы не стал утверждать что это может сделать "продвинутый в электронике школьник" так как дыры ещё нужно найти, а что бы их найти надо хотя бы 3-4 года в этом всём повариться...

    Да, на самом деле большинство дыр остаётся для того что бы органы могли самостоятельно производить прослушку по необходимости.
  • Для новичка лучше учить ЯП исходя из задач, которые хочется решать или наиболее простой язык?

    voidnugget
    @voidnugget
    ArturSitnikoff: бро, "Не известно какие технологии на что способны" я эту хрень уже 8 лет в продакшене гоняю... начиная с пыхов, рельс, питонов, энтерпрайсовской и не очень джавы, заканчивая всякими эрлангами, хаскелями, гоу и всяким кастомным железом на ПЛИСках (Virtex6 и 7 для QoS'a 3G/4G мобильных операторов, и Kintex Ultrascale для HFT).

    Если бы не перепробовал ВСЕ популярные решения под нагрузкой (10GbE и от 20К rps до 6M с DPDK), кроме разве что C# asp.net, то не говорил бы...

    На самом деле сейчас с фреймворками ситуация довольно плачевная, так как присутствует вагон кодогенераторов и тонны шаблонной CRUD копипасты, вместо полноценных hateoas с динамическими представлениями. Конечно есть всякие swagger'ы с json schema и прочим, но они не приспособлены для генерации представлений (разметки, интернационализации, валидаторов форм) в рантайме... а этого нынче очень даже не хватает.
  • Для новичка лучше учить ЯП исходя из задач, которые хочется решать или наиболее простой язык?

    voidnugget
    @voidnugget
    ArturSitnikoff: зачем копать винрарщину ?
    Низкая производительность == отсутствие вертикального масштабирования и невозможность гарантии предсказуемого и стабильного уровня обслуживания, что в свою очередь приводит к отсутствию отзывчивости (Responsiveness) и гибкости (Elasticity), согласно старому доброму каноничному www.reactivemanifesto.org