Обновить
256K+

DevOps *

Методология разработки программного обеспечения

447,03
Рейтинг
Сначала показывать
Порог рейтинга
Уровень сложности

Стилистический анализатор: синхронизация объявлений и определений static функций

Уровень сложностиПростой
Время на прочтение9 мин
Охват и читатели3.3K

Представлена утилита-надзиратель, что последовательность определения static функций совпадает с последовательностью объявляения static функций.

Читать далее

Kubernetes на сковородке: готовим самые вкусные кластеры

Уровень сложностиПростой
Время на прочтение8 мин
Охват и читатели12K

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

Привет! Меня зовут Игорь Титов, я Product Lead системных инженеров в Garage Eight. В этой статье расскажу, что такое контейнеризация, как с ней помогает Kubernetes и почему важно уметь правильно его готовить.

Читать далее

С 80-х по 2024-й: как создавались и оптимизировались CI-тесты

Время на прочтение9 мин
Охват и читатели3.8K

Современные команды разработки тестируют каждое изменение кода перед мержем. Это не просто общепринятая традиция: наряду с ревью кода, это стандарт по умолчанию, применяемый практически во всех кодовых базах компаний. Мы называем его тестами CI (непрерывной интеграции). В результате их внедрения среднестатистическая организация запускает сотни наборов тестов в день.

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

Читать далее

Кривая дорожка или приставными шагами в DevOps

Уровень сложностиПростой
Время на прочтение8 мин
Охват и читатели5K

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

Данная статья рассчитана прежде всего на только «входящих в ИТ» или начинающих ИТ‑специалистов, которые стремятся к получению роли DevOps в будущем или просто хотят расширить багаж собственных знаний, но не знают с чего начать. Опытным специалистам указанные источники могут показаться недостаточно полными в силу того, что они собраны мной субъективно и без нацеленности на узконаправленное изучение одного из направлений, чего должно быть достаточно для начинающих специалистов, но при этом не должно негативно сказаться на желании изучения новых материалов.

Почему в названии статьи фигурирует «кривая дорожка» и «приставные шаги»?
Дорожка кривая, потому что придётся пробовать разные направления и не зацикливаться на чём‑то одном. Приставные шаги — так как Ваш путь в DevOps будет состоять из ряда направлений, в каждом из которых потребуется изучение теории и практики, следующей за ней. Не удастся обойтись чем‑то одним.

Читать далее

Что делать, если баг попал в прод?

Уровень сложностиСредний
Время на прочтение4 мин
Охват и читатели8.4K

Привет, Хабр! Если вы давно искали подборку полезных статей по Git и Gitflow — загляните в блог beeline cloud. Здесь я делюсь личным опытом, погружаюсь в задачи из практики и даю развернутые комментарии на конкретную тему. 

И да, меня по-прежнему зовут Николай Пискунов, я руководитель направления Big Data. Сегодня поговорим о том, что делать, если баг, несмотря на усилия тестировщиков, все же попал в прод.

Читать далее

Доступ к нескольким подам Kubernetes по протоколу TCP и единственному внешнему IP

Уровень сложностиСредний
Время на прочтение4 мин
Охват и читатели4.2K

В облаке Амвера микросервисы и базы данных пользователей крутятся в кластере Kuberneres. Для доступа к приложениям обычно достаточно использовать nginx ngress controller который чудесно работает с HTTP(S) трафиком и позволяет получить доступ к сотням сервисов с использованием только одного внешнего IP адреса. Но, что если пользователь хочет получить доступ к развернутой СУБД не только изнутри кластера, но и извне? Конечно, мы могли бы выдавать каждой СУБД свой белый IP и создать ClusterIP, но это привело бы к дополнительным затратам на аренду адресов. В этой статье я бы хотел поделиться элегантным методом проксирования TCP трафика на основе SNI сообщений, который позволяет использовать один белый IP на сотни СУБД.

Читать далее

Оркестраторы в российском DevOps в 2024: рост использования Managed Kubernetes и отечественных дистрибутивов

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели6K

В конце августа 2024 года вышел подробный отчёт о состоянии DevOps в России. В статье мы расскажем, как себя чувствуют в российском DevOps технологии оркестрации: что среди них лидирует, какие дистрибутивы Kubernetes сейчас используются и какие критерии влияют на выбор оркестратора.

Читать далее

Нотификации в telegram о падении приложения, через графану

Уровень сложностиПростой
Время на прочтение2 мин
Охват и читатели3.7K

Это не анонсированная третья часть. Первые две здесь:

1. Подготовка Django приложения для локальной разработки и деплоя

2. Django приложение в докере. Логирование и мониторинг (тоже в докере)

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

Читать далее

Глубокие проверки работоспособности Kubernetes

Уровень сложностиСредний
Время на прочтение6 мин
Охват и читатели5.2K

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

Ошибка, которую я допустил, сейчас случается во многих компаниях и может приводить к лавинообразным отказам. Назовём её глубокая проверка работоспособности в Kubernetes.

Читать далее

Цифровая трансформация в России: роль DevOps в новой реальности

Время на прочтение12 мин
Охват и читатели36K

Привет Хабр! Меня зовут Евгений Калашников, я CPO «Инженерных инструментов» платформы «Сфера». И сегодня я хочу поговорить о том, как меняется ландшафт цифровой трансформации в России и какую роль в этом играет DevOps. Недавно мы с коллегами провели масштабное исследование российского рынка DevOps, и результаты получились очень любопытными. Мы убедились, что цифровая трансформация сейчас затрагивает буквально все аспекты бизнеса. Компании, которые не успевают адаптироваться к новым реалиям, рискуют безнадёжно отстать. И здесь на первый план выходит DevOps как ключевой фактор, обеспечивающий скорость и гибкость в разработке ПО.

Наше исследование охватило 817 IT-специалистов и руководителей из различных отраслей. Мы опросили представителей крупных компаний, таких как МТС, IBS, Яндекс, Лаборатория Касперского, а также привлекли экспертов из НИУ ВШЭ и других организаций. Интересно, как выглядит современный российский девопс? Заходите под кат.

Читать далее

Пользуемся Docker, не выходя из Go

Уровень сложностиСредний
Время на прочтение12 мин
Охват и читатели13K

Привет, Хабр!

Зовут меня Егор, я программирую на Go и в этой статье хочу поделиться информацией про Docker и Golang.

Кто такой Докер? Как заявляет сама компания, Докер — № 1 программа по контейнерезации для разработчиков ПО. В этой статье я не буду объяснять, что это, зачем и почему именно он, для этого есть как офиц. документация, так и хорошие статьи на Хабре. Если кратко — то Докер — это инструмент, который позволяет запускать программы в некой песочнице(контейнере) с целевой ОС — как правило линукс. Самое главное преимущество Докера — это упаковывать все нужное для твоей программы(например: зависимости) в один модуль. И ресурсов эта вещь тратит намного меньше, чем та же виртуальная машина.

Зачем нужен Docker SDK? Самая важная причина — тестирование. Можно собирать метрики, делать редирект трафика, автоподъем контейнеров, анализировать логи в реальном времени, создавать образы и еще кучу всего, что упрощает тестирование. Я постараюсь охватить эти пункты в этой статье.

Читать далее

Путь в GitOps или как мы перевели кластер Kubernetes под управление Argo CD

Время на прочтение10 мин
Охват и читатели21K

Всем привет! Если вы работаете с Kubernetes, то, скорее всего, используете kubectl, kustomize или Helm для развёртывания сервисов в кластере. Про последнюю утилиту я уже писал статью — можно посмотреть тут. Тогда я рассказал о своём опыте внедрения этого инструмента для собственных нагрузок и сравнил подходы kubectl apply и helm install.

Управление конфигурацией в Kubernetes может осуществляться с помощью различных инструментов. Помимо Helm, можно использовать просто YAML-манифесты или же kustomize. Для каждого из этих инструментов предусмотрена своя команда.

В данной статье мы рассмотрим подход GitOps для K8s-кластеров и применим такой инструмент, как Argo CD.

Читать далее

Django приложение в докере. Логирование и мониторинг (тоже в докере)

Уровень сложностиПростой
Время на прочтение2 мин
Охват и читатели4.3K

Обещанная вторая часть. Первая часть здесь.

Основной идеей было настроить все с минимальным количеством ручных действий для работы легирования и мониторинга.

Одно ручное действие все же потребуется — указать хост (или ip), по которому Prometheus будет собирать метрики. В остальном все заработает просто по docker-compose up.

Читать далее

Ближайшие события

Стилистический Анализатор: Синхронизация порядка объявлений и определений функций

Уровень сложностиПростой
Время на прочтение8 мин
Охват и читатели2.1K

У нас в организации есть обязательное правило оформления исходников, которое звучит так:

Порядок объявления С-функций должен совпадать с порядком определения С-функций.

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

Читать далее

Что такое AndroidManifest.xml, его структура и важность

Уровень сложностиСредний
Время на прочтение2 мин
Охват и читатели15K

AndroidManifest.xml - это центральный элемент каждого Android-приложения, который определяет его структуру, функции и взаимодействие с системой. Этот файл играет ключевую роль в процессе разработки и развертывания приложений, поскольку он управляет различными аспектами работы приложения, такими как разрешения, активности, службы и многое другое.

В данной статье мы подробно рассмотрим структуру и значение AndroidManifest.xml, а также его значимость. Информация взята у преподавателя по Android-разработке из онлайн-университета Urban.

Структура AndroidManifest.xml

Давайте начнем с анализа структуры AndroidManifest.xml:

Читать далее

Руководство от ненавистника Kubernetes: как использовать эту технологию

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели17K

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

Читать далее

Версионирование. Автоматизация. А может всё вместе?

Уровень сложностиСредний
Время на прочтение6 мин
Охват и читатели10K

Всё уже придумано, просто настрой под себя и пользуйся.

Всем привет, я Дмитрий Валеев — DevOps инженер в команде разработки фреймворка для тестирования устройств на заводах Аквариус. И это моя первая маленькая статья на Хабр:)

В любом проекте настаёт день «икс», когда вы понимаете, что необходимо внедрять какое‑либо версионирование. Вот и в нашем случае настал такой момент. Вариант с хэш‑коммитами казался просто хаосом и нужно было привести вид компонент в порядок.

Узнать больше

Демократизация DevOps

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели10K

На нашей недавней конференции GigaConf мы много​​ рефлексировали о том, как будет развиваться направление DevOps. Оно немыслимо без инструментов. Поэтому я расскажу о том, как мы внедряем в Сбере практики GitAIOps, какие совершили ошибки и извлекли уроки, какие сделали выводы по поводу внедрения ИИ. Сегодня на всех углах рассказывают, как ИИ поможет разработчикам, но мало кто говорит о его помощи DevOps-инженерам. Надо это исправить.

Меня зовут Юрий Спорынин, в ИТ я более 20 лет. Начинал с разработки, своими руками создавал процессинговую систему для интернет-эквайринга. В 2016 году я перешёл в Сбер, где мы в 2018 году внедрили платформу в «Сбербанк Онлайн». Сейчас среди моих задач — кластер DevOps-инструментов, о которых мы отчасти сегодня поговорим. 

Читать далее

Подготовка Django приложения для локальной разработки и деплоя

Время на прочтение3 мин
Охват и читатели4.5K

Поговорим про настройку приложения для двух сред «разработки» local и условного прода. Локально приложение будет запускаться с установкой всего необходимого на компьютер, то, что дальше я буду именовать продом будет представлять из себя запуск через docker-compose.

Что это за приложение по сути значения не имеет, из особенностей — там будет celery поверх redis и Postgres, как персистентное хранилище. Код приложения можно посмотреть здесь.

Настроим переменные окружения для двух разных сред и подготовим код под это.

Настроим логирование через Loki и Grafan-у. Настроим мониторинг через Prometheus в ту же Grafan-у.

Поехали

Добавляем lint-staged в NestJS и Angular приложения, включаем семантическое версионирование фронтенда

Время на прочтение14 мин
Охват и читатели2.4K

Так как версионирование через плагин nx-semantic-release происходит путем анализа изменений по связанным Typescript-импортам, то нам нужно минимизировать эти изменения, для этого в проект подключаем lint-staged и добавляем строгости в Typescript-код.

Читать далее