Рубрика «devops» - 82

Прим. перев.: Оригинальную статью написал Miłosz Smółka — один из основателей небольшой польской компании Three Dots Labs, специализирующейся на «продвинутых backend-решениях». Автор опирается на свой опыт активной эксплуатации GitLab CI и делится накопленными советами для других пользователей этого Open Source-продукта. Прочитав их, мы поняли, насколько нам близки описанные им проблемы, поэтому решили поделиться предлагаемыми решениями с более широкой аудиторией.

Советы по созданию нестандартных рабочих процессов в GitLab CI - 1

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

Говоря о типовых сценариях автоматизации сети, никак не обойтись без набора модулей command. Благодаря этим модулям, Ansible позволяет запускать команды на сетевом оборудовании так, как будто вы вводите их прямо с консоли. При этом вывод команд не просто проскакивает в окне терминала, чтобы кануть в лету, а может быть сохранен и использован в дальнейшем. Его можно записать в переменные, парсить для использования в последующих задачах или же сохранить на будущее в переменных хоста.

Автоматизация сети с помощью Ansible: модуль command - 1

Цель этого поста – показать, что любую повторяющуюся задачу по управлению сетью можно автоматизировать, и что Ansible не просто позволяет управлять конфигурациями, а помогает избавиться от рутины и сэкономить время.
Читать полностью »

Чек-лист: что нужно было делать до того, как запускать микросервисы в prod - 1

Эта статья содержит краткую выжимку из моего собственного опыта и опыта моих коллег, с которыми мне днями и ночами доводилось разгребать инциденты. И многих инцидентов не возникло бы никогда, если бы всеми любимые микросервисы были написаны хотя бы немного аккуратнее.

К сожалению, некоторые невысокие программисты всерьёз полагают, что Dockerfile с какой-нибудь вообще любой командой внутри — это уже сам по себе микросервис и его можно деплоить хоть сейчас. Докеры крутятся, лавешка мутится. Такой подход оборачивается проблемами начиная с падения производительности, невозможностью отладки и отказами обслуживания и заканчивая кошмарным сном под названием Data Inconsistency.

Если вы ощущаете, что пришло время запустить ещё одну аппку в Kubernetes/ECS/whatever, то мне есть чем вам возразить.

Читать полностью »

PVS-Studio ROI

Время от времени нам задают вопрос, какую пользу в денежном эквиваленте получит компания от использования анализатора PVS-Studio. Мы решили оформить ответ в виде статьи и привести таблицы, которые покажут, насколько анализатор может быть полезен. Мы не можем в статье доказать абсолютную достоверность всех расчётов, но думаем, читатель согласится с нашими размышлениями, и это поможет принять решение в вопросе приобретения лицензии.
Читать полностью »

Ботоводство - 1

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

Сфера применения

Развитие бизнеса зачастую сопровождается не только масштабированием основной деятельности, но и отладкой поддерживающих процессов. Чат-боты — только часть деятельности бизнеса в рамках автоматизации рутины. Коммуникация и выполнение простых однотипных заданий лежат в основе работы чат-бота. С его помощью можно выполнять не только повторяющиеся задачи, но и такие, которые человек выполнить не в состоянии, например, мониторинг активности в социальных сетях.
Читать полностью »

Как мы решили проблему с памятью в PostgreSQL, не добавив ни байта - 1
Короткая история о «тяжелом» запросе и изящном решении проблемы

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

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

Читать полностью »

Writing yet another Kubernetes templating tool - 1

If you are working with Kubernetes environment then you probably make use of several existing templating tools, some of them being a part of package managers such as Helm or Ksonnet, or just templating languages (Jinja2, Go template etc.). All of them have their own drawbacks as well as advantages and we are going to go through them and write our own tool that will try to combine the best features.

Читать полностью »

We do what we must because we can — GLaDOS

Ижевск, наши дни

Первого февраля исполняется ровно два десятилетия, как я начал официально подвизаться в должности инженера-программиста:

Фото первого разворота трудовой книжки с датой 1 февраля 1999 года

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

Конечно, мерило «успешности» у каждого своё, но моим служит тот факт, что последние 15 лет я работаю на сеньорских должностях на проектах, в основном завязанных на крупных корпоративных или зарубежных заказчиках, и почти каждая новая работа находит меня сама. И всё ещё не устал.

Хочу предупредить, что мой рассказ — это типичный лонгрид в формате интервью от первого лица, местами нудный, и почти без картинок, потому что я, в основном, бэкэндер. Читателю без технического бэкграунда может быть сложно, так как в нём полно программистского жаргона (часть терминов я постарался объяснить, но не все). А ещё порядочно древних мемов, ностальгических подробностей, и локальной культурологии.

Но вы ведь любите автобиографии с аутистическими шутками, не правда ли?

Читать полностью »

image

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

Но как контролировать размер, когда каждое выполнение оператора RUN создает новый слой? Плюс, еще нужны промежуточные артефакты до создания самого образа...

Читать полностью »

GitLab 11.7 поставляется с Releases, Multi-level Child Epics и реестром NPM - 1

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

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 обработают все остальное в одном интерфейсе!

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

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js