Обновить
256K+

DevOps *

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

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

Поздравляем, вы DevOps-инженер. Как найти себя в необъятном мире ИТ

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

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

Читать далее

Сложное — просто: архитектуры ПО на жизненных примерах

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

Я недавно решила углубленно разобраться, какие архитектуры бывают в разработке ПО, и написать об этом простую статью. Это моя первая попытка поделиться своими мыслями и объяснить сложные вещи на понятном языке, поэтому буду рада вашей обратной связи

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

Читать далее

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

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

В мире Kubernetes сетевые политики играют важную роль в управлении трафиком внутри вашего кластера. Но что они собой представляют? Зачем, когда и как их стоит использовать? На эти вопросы отвечает в своём небольшом руководстве Скотт Ригби,  амбассадор CNCF и мейнтейнер Helm и Flux.

Читать далее

FastAPI + Redis + Celery: Создание системы временного хранения файлов с автоудалением и удобным веб-интерфейсом

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

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

Мы пошагово разберем процесс разработки, начиная с настройки FastAPI для обработки HTTP-запросов, интеграции Redis для эффективного хранения метаданных файлов, и заканчивая использованием Celery для асинхронного выполнения задач по удалению устаревших файлов.

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

Читать далее

Разработка на Go, верификация, DevOps и программирование микроконтроллеров на RISC-V: выбирай бесплатный курс

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

Новость для тех, кто хочет сделать начало следующего года особенным для своего развития. Второй год мы запускаем бесплатные практические курсы по востребованным инженерным направлениям. К уже классическим трекам по верификации, DevOps и Go-разработке добавился новый: «Программирование микроконтроллеров RISC-V: от основ работы с открытой архитектурой до создания собственного устройства». Регистрируйтесь на курсы до 16 января 2025 года, чтобы изучить современные подходы к разработке, создать проекты для портфолио и поработать под руководством опытных инженеров.

Читать далее

Как заставить API самому себе писать тесты: практика генерации тестов на основе спецификации API. Часть 1

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

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

Привет, Хабр. Меня зовут Елизавета Андреева. Я инженер по автоматизации тестирования в ОК.Tech. Мы с коллегами в ОК разработали и внедрили автогенерацию API‑тестов, благодаря которой мы сокращаем ручную работу и время на написание однотипных автотестов, оставляем QA‑инженерам для покрытия только кейсы на бизнес логику. И в этой статье (которая станет первой в серии из двух частей) я начну рассказ о том, как мы реализовали наш генератор и каких результатов нам удалось достичь.

Читать далее

Envoy в Legacy-среде: использование протоколов xDS для управления Data Plane

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

Привет, Хабр! Давайте продолжим изучать возможности Envoy, но уже в контексте динамической конфигурации. В первой статье мы рассматривали настройку статической конфигурации, однако она имеет свои особенности. Статическая конфигурация подходит, когда ваши upstream (серверы, к которым Envoy отправляет запросы) редко изменяются. Envoy работает как прокси, и каждый запрос проходит через него. Чтобы правильно обработать запрос, Envoy должен иметь актуальную информацию о бэкенд-серверах, такую как их IP-адреса и порты. Когда информация о бэкенде меняется, необходимо обновить конфигурацию в статическом файле и перезапустить Envoy, что не всегда удобно.

Читать далее

CodeChecker — контроль качества кода с использованием PVS-Studio

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

CodeChecker — довольно популярный Open Source инструмент контроля качества кода для Linux и macOS. В этой небольшой заметке расскажем о том, как его использовать вместе с анализатором PVS-Studio.

Читать далее

Поддержка актуальности документации и неодназначность термина «as Code»

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

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

> Руслан, привет!) а подскажи пож-та, может есть у тебя ссылочки на
шаблоны/примеры/лучшие практики по документированию архитектуры и инфраструктуры системы


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

Читать далее

Стилистический-Анализатор: Проверка Наличия Комментария в Конце Фигурной Скобки

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

Настал тот первый день, когда в программировании микроконтроллеров наконец пригодилась такая абстрактная структура данных как стек LIFO.

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

В конце каждого блока if(...) {...} ; switch(...) {...} ; for(...) {...} и т.п. необходимо пиcать комментарий // end of if(...). end of switch(...) end of for(...) соответственно.

Я написал утилиту-локатор, которая автоматически находит аномалии в коде согласно этому странному правилу.

Читать далее

DevOps Challenge: помогите Деду Морозу с оповещениями и получите новогодний мерч

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

Привет! Я Саша Хренников, руководитель DevOps-юнита в KTS.

Наша команда подготовила новое испытание для DevOps-инженеров. Победители прошлого челленджа, позапрошлого челленджа и даже позапозапрошлого челленджа уже получили свои награды, и в преддверие Нового Года мы решили отгрузить еще одну фуру нашего мерча.

Как и в прошлые разы, достойнейшие участники получат футболки с Котзиллой. Однако зима – время холодное, так что одной футболки будет маловато, нужно утепляться посерьезнее. Но победителям сегодняшнего испытания не страшны морозы, ведь этой зимой их фронтенды и бэкенды будут согреты фирменными трусами KTS.

Теперь к сути челленджа. В этот раз вам предстоит помочь Деду Морозу в его нелегком труде. С возрастом Дедушка начал путаться в датах. Чтобы не забывать о празднике, он решил, что ему нужна специальная программа для правильной обработки оповещения о наступлении Нового Года.

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

Читать далее

QAOps: новый этап эффективности тестирования ПО

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

С увеличением масштабов и сложности программного обеспечения требования к его качеству становятся всё выше. Ранее использовавшиеся подходы к обеспечению качества (QA) уже не всегда справляются с текущими вызовами, особенно когда речь идет об интеграции тестирования в рамках непрерывной разработки и доставки (DevOps). Появление подхода QAOps знаменует собой новый этап в эволюции тестирования: это попытка обеспечить максимально тесную интеграцию QA и DevOps, где тестирование становится неотъемлемой частью каждого шага разработки.

Привет, Хабр! Меня зовут Алексей, я QA-специалист в компании SimbirSoft. Моя статья будет полезна:

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

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

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

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

Читать далее

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

Kubernetes 1.32: возможность задавать ресурсы на уровне пода и асинхронное вытеснение подов планировщиком

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

Сегодня официально выпустили очередную версию Kubernetes — 1.32. Собрали все 43 изменения в одном материале. Из основных нововведений: возможность задавать ресурсы на уровне пода, асинхронное вытеснение подов планировщиком, нулевое ожидание (sleep) для PreStop-хуков, новые эндпоинты /statusz и /flagz для ключевых компонентов K8s и многое другое.

Читать далее

Чем Cloud-инженер отличается от DevOps-инженера и что между ними общего

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

Привет всем! Давайте поговорим о том, чем роли Cloud-инженеров отличаются от DevOps-инженеров в разработке программного обеспечения. Эти две популярные позиции появились сравнительно недавно и из-за схожести их функций часто происходит путаница, а иногда их и вовсе считают взаимозаменяемыми, хотя перед этими профессиями стоят разные цели и задачи.

Статья предназначена для новичков, которым интересно узнать о задачах DevOps- и Cloud-инженеров, какими навыками им необходимо обладать, что между ними общего и в чём их различия.

Читать далее

Неизбежное будущее Kubernetes: почему оркестратор должен пойти по пути Linux Kernel

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

Сейчас Kubernetes воспринимается как «готовое» и самодостаточное ПО — грубо говоря, как отдельная программа. Да, чтобы его использовать в проде, придется добавить к нему разных cloud native-инструментов: CNI, service mesh и т.п. штуковины. Однако всё же K8s выглядит именно как приложение (иногда его даже называют ОС для облаков). 

На мой взгляд, такое понимание Kubernetes заводит рынок в тупик. Очевидно, что сложность оркестратора должна расти, очевидно, что будет все больше сфер, в которых он будет использоваться и которые способны извлечь немало пользы из внедрения K8s. Если рынок не начнет смотреть на Kubernetes как на Linux Kernel, это заведет нас в тупик, и вот почему...

Читать далее

Как внедрить наблюдаемость в микросервисное приложение с помощью OpenTelemetry, Jaeger и Prometheus

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

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

Здесь на сцену выходит концепция наблюдаемости (observability). Идея заключается в том, чтобы собрать метрики, логи и трассировки из всех компонентов системы, связать их воедино, и получить чёткую картину того, что происходит внутри распределённого приложения. Для этого существуют современные инструменты.

Читать далее

Выбор инструментов для доставки секретов в Kubernetes. Наш путь delivery of secrets

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

Привет, Хабр! Меня зовут Натиг Нагиев, я Devops-инженер в МТС Диджитал.

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

Сейчас де-факто стандартом для таких задач стало хранилище HashiCorp Vault, поэтому мы рассматривали и пробовали разные инструменты: Vault Agent Injector, Vault CSI Provider, External Secrets Operator и OpenBao — но в итоге остановились на связке Bank-Vault и Vault Secrets Operator.

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

Читать далее

IMPulse — наш взгляд на менеджмент инцидентов

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

Если ваша компания всё ещё не использует средства для менеджмента инцидентов, а утопает в обычных алертах из Alertmanager'а, эта статья для вас. Если ваша компания из-за санкций или соображений безопасности не может отправлять алерты в зарубежные системы менеджмента инцидентов, эта статья для вас. Если вы DevOps и уже изрядно намучились с поиском подобного решения (как я) - статья и для вас тоже.

В статье мы презентуем наше open source решение для работы с алертами.

Приглашаю всех заинтересованных под кат.

Читать далее

Что DevOps-инженеру может предложить Python?

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

В этой статье разберём, для решения каких задач DevOps-специалисты могут использовать Python. Посмотрим на взаимодействие Python с системами контроля версий (CVS), инструментами CI/CD и другими аспектами DevOps.

Читать далее