• Serverless CI/CD на AWS

    • Перевод



    Было бы круто, если бы развертывание в формате копи-пейст осталось в прошлом, но, увы, дела обстоят иначе. Бывает, разработчикам предпочтительней именно такой метод поставки. Хоть сейчас пиши статью о том, почему это не есть гуд, но вы и без меня все знаете. С тенденцией к бессерверной (serverless) архитектуре пайплайны CI/CD играют важную роль в поставке приложений. Я еще писал о них в статье "3 лучших совета для вашего следующего бессерверного проекта".


    Темой CI и CD я интересуюсь давненько, а впервые столкнулся с ней несколько лет назад — благодаря TeamCity. В настоящее время TeamCity по-прежнему используется для большинства наших пайплайнов CI/CD. Работает TeamCity прекрасно, ничего против не имею, но я всегда стремлюсь улучшить работу. Например, было бы хорошо собирать пайплайны в виде кода — это одно из направлений, в которых TeamCity не так хорош.


    Инструменты интеграции и поставки на AWS я изучил какое-то время назад, и, хотя мы используем CodeDeploy для другого проекта, который работает на EC2, бессерверный проект я с ними еще не развертывал. Ознакомившись с инструментами повторно, я обратил внимание вот на что: теперь есть встроенная функция интеграции для развертывания CloudFormation и Lambda, предположительно, на основе SAM AWS; мы используем serverless framework, — она генерирует шаблоны CloudFormation, но с инструментами AWS она “из коробки” не работает.

    Читать дальше →
    • +14
    • 2,5k
    • 4
  • Демонстрация AresDB: инструмент анализа в реальном времени с открытым исходным кодом на основе GPU от Uber

    • Перевод

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



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


    Выпущенный в ноябре 2018 года AresDB представляет собой инструмент анализа в реальном времени с открытым исходным кодом. Он использует нетрадиционный источник питания, графические процессоры (GPU), что позволяет увеличивать масштаб анализа. Технология GPU, перспективный инструмент анализа в реальном времени, за последние годы значительно продвинулась, что делает ее идеальной для параллельных вычисления в реальном времени и обработки данных.


    В следующих разделах мы опишем структуру AresDB и то, как это интересное решение для анализа в реальном времени позволило нам эффективнее и более рационально унифицировать, упростить и усовершенствовать решения по базам данных Uber для анализа в реальном времени. Надеемся, после прочтения данной статьи вы опробуете AresDB в рамках собственных проектов и также убедитесь в его полезности!

    Читать дальше →
    • +18
    • 2,4k
    • 9
  • Настройка НА-кластера Kubernetes на «голом железе» с kubeadm. Часть 1/3

    • Перевод

    Всем привет! В этой статье я хочу упорядочить информацию и поделиться опытом создания и использования внутреннего кластера Kubernetes.


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


    0. Вступление


    Kubernetes — это масштабируемая технология оркестровки, которая может начинаться с установки на одной ноде и достигать размеров огромных НА-кластеров на основе нескольких сотен нод внутри. Большинство популярных облачных провайдеров представляют разные виды реализации Kubernetes — бери и пользуйся. Но ситуации бывают разные, и есть компании, которые облака не используют, а получить все преимущества современных технологий оркестровки хотят. И тут на сцену выходит инсталляция Kubernetes на «голое железо».


    Читать дальше →
    • +23
    • 5,8k
    • 4
  • Итоги Слёрма-3

      В воскресенье закончился Слёрм-3: интенсив по Kubernetes.


      Поставили личный рекорд: 132 участника, 65 в онлайне и 67 в зале.
      На первом Слёрме было 50 человек, на втором 87. Растем потихоньку.



      126 человек создали кластер (задание первого дня), а 115 выполнили практику до конца.
      6 человек вообще проигнорировали практику. Будем считать, что им нужны были только лекции.


      Основной факап в этот раз был связан с трансляцией: то вырубался микрофон спикера, то забывали выключить музыку. Пора от колхозного метода «профессионалы разберутся» переходить к регламентам.

      Читать дальше →
    • Краткий курс по управлению удаленными командами

      • Перевод

      Всем привет!


      Я уже давненько не писал и подзабыл, как это делается, но хочу поделиться информацией, которая многим может пригодиться. Ведь ко мне постоянно пристают с вопросами, вроде:


      • «Стоит ли работать удаленно?»
      • «Как вы организовали удаленную работу для своей команды?»
      • «Нам сложно работать с удаленными разработчиками...»

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


      И раз… два… три… Поехали!


      Читать дальше →
      • +30
      • 7,5k
      • 7
    • Жизнь действия GitHub Action

      • Перевод

      Мне показалось, будет прикольно запилить пост под названием «Жизнь действия GitHub Action». На вводном обучении в Google тебя проводят через «Жизнь запроса», и у меня это был один из самых любимых элементов. Поэтому я использую аналогичный подход для GitHub Action.


      Для тех, кто в танке, Actions — это функция GitHub, запущенная на конференции Universe в прошлом году. Хотите в бета-тестеры? Гоу сюда.


      Общая идея — это GitHub с поддержкой сценариев, но страдать фигней и разливаться в объяснениях я не стану. Лучше проведу вас через события, которые происходят при запуске действия.


      Проблема


      Вот типичный рабочий процесс:


      • Создаю пулл-реквест в репозиторий.
      • Пулл-реквест поглощается.
      • Ветка сохраняется до скончания времен, съедая мне ту часть мозга, которая любит чистоту и порядок.


      Остающиеся ветви — моя боль, сосредоточимся на ней. Хотя проблема-то общая, поэтому давайте создадим действие для удаления ветвей после поглощения пулл-реквеста.

      Читать дальше →
    • Как мы решили проблему с памятью в PostgreSQL, не добавив ни байта

      • Перевод


      Короткая история о «тяжелом» запросе и изящном решении проблемы


      Недавно нас по ночам стали будить алерты: на диске не хватает места. Мы быстро разобрались, что проблема в ETL-задачах.


      ETL-задача выполнялась в таблице, где хранятся двоичные записи, дампы. Каждую ночь эта задача должна была удалять повторяющиеся дампы и освобождать место.

      Читать дальше →
    • GitLab 11.7 поставляется с Releases, Multi-level Child Epics и реестром NPM

      • Перевод


      Управление релизами стало намного проще


      GitLab 11.7 выпускает Releases в GitLab Core. Теперь у пользователей есть снэпшоты релиза, включающие не только исходный код, но и все связанные артефакты. Больше не надо вручную собирать исходный код, выходные данные сборки и прочие метаданные или артефакты, связанные с выпущенной версией вашего кода. Кроме того, Releases — основа для более широкого и надежного взаимодействия релизов в будущем.


      Управление портфелем поддерживает более сложные структуры декомпозиции работ


      Multi-level Child Epics — это новейшее дополнение к управлению портфелем GitLab, доступное в Ultimate. Child Epics позволяют создавать многоуровневые рабочие структуры, помогая управлять более сложными проектами и рабочими планами. Теперь эпик содержит как задачи, так и эпики. Такая структура обеспечивает прямую связь между планируемыми и реализуемыми задачами для их внедрения.


      Оптимизация разработки JavaScript с помощью реестров NPM


      Gitlab 11.7 Premium поставляет реестры NPM непосредственно в GitLab, предоставляя стандартный, более безопасный способ совместного использования и контроля версий пакетов NPM между проектами. Просто поделитесь именем пакета, а NPM и GitLab обработают все остальное в одном интерфейсе!


      И многое другое

      Читать дальше →
      • +18
      • 4,2k
      • 4
    • Оптимизация времени запуска Prometheus 2.6.0 с помощью pprof

      • Перевод

      В Prometheus 2.6.0 оптимизирована загрузка WAL, что ускоряет процесс запуска.


      Неофициальная цель разработки Prometheus 2.x TSDB — ускорить запуск, чтобы он занимал не более минуты. В последние месяцы появились сообщения о том, что процесс немного затягивается, и если Prometheus по какой-либо причине перезапускается, то это — уже проблема. Почти все это время загружается WAL (регистрация записи с упреждением), включающий образцы за последние несколько часов, которые еще предстоит сжать в блок. В конце октября мне, наконец, удалось разобраться в этом; результат — PR#440, снижающий время работы ЦПУ в 6,5 раз и время расчета в 4 раза. Рассмотрим, каким образом я добился этих улучшений.


      image

      Читать дальше →
      • +26
      • 2,2k
      • 3
    • МегаСлёрм в Москве в начале июня: первый анонс и скидки

        TL;DR — если пройти Слёрм-3 (1–3 февраля), то МегаСлёрм (31 мая — 2 июня) будет стоить на 15 тысяч меньше.



        Подробности.


        Слёрм — это введение в Кубернетес. Каждый участник создает свой кластер и разворачивает в нем приложение, хотя большинство впервые видит Кубернетес.


        Слёрм-3 пройдет 1–3 февраля в Питере.


        Слёрм-4 — 27–29 мая в Москве.


        МегаСлёрм — продвинутый курс по Кубернетес. Идея июньской Меги: каждый участник запустит обновление компонентов кластера и параллельно — деплой в кластер (имитируем ситуацию, когда Dev и Ops не согласовывают тех.окна, а работают одновременно). И все получится без даунтайма и ручного вмешательства.


        МегаСлёрм пройдет с 31 мая по 2 июня в Москве.

        Read more →

      Самое читаемое