Обновить
256K+

DevOps *

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

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

Use case использования Kubernetes при построении Cloud-Native-платформы данных

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

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

Привет, Хабр. Меня зовут Сергей Емельянов. Я ведущий программист VK Tech. Мы с командой смогли построить Cloud-Native-архитектуру платформы данных на базе Kubernetes. И в этой статье я хочу рассказать, как это было — от задачи до полученных результатов.

Читать далее

Телеграм-бот для бронирования столов на вебхуках: FastAPI, Aiogram Dialog, FastStream и RabbitMQ в единой экосистеме

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

В этой статье мы создадим функционального Telegram-бота для бронирования столиков в ресторане «Binary Bites» с использованием современных Python-инструментов. Бот будет работать через вебхуки, взаимодействовать с брокером сообщений RabbitMQ и поддерживать фоновое выполнение задач с помощью FastStream и APScheduler.

Проект объединит FastAPI, SQLAlchemy, Alembic, Uvicorn и другие библиотеки, обеспечивая гибкость и масштабируемость. Готовый бот позволит пользователям бронировать столики, просматривать и отменять брони, а администраторам — управлять заказами.

Читать далее

Как перекинуть файлы на смартфон по WiFi

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

Допустим Вы скачали на свой NetTop PC аудио книгу и теперь хотите её перекинуть на Android телефон.

Как же это можно провернуть?

Предположим, что вас на телефоне нет SD карты, да и USB кабель тоже пропал куда-то.

Как же перекинуть огромный файл с LapTop-а на PalmTop?

В этом тексте я напиcал, как посылать файлы по WiFi.

Читать далее

Строим карту IP коннектов домашних девайсов, без регистрации и смс

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

Вы никогда не задумывались, а куда вообще коннектится все то что у вас дома в сети ? Все эти Windows, MacOS, iOS и прочие проприетарные и умные утюги ? А это не сложно посмотреть. Сегодня в нашем кружке 'Оч.умелые ручки' мы будем следить за теми, кто следит за нами.

Наша цель - построить карту и графики того куда коннектится все то что сидит в сети дома. И не по трафику, понятно что какая-то там условная Амедиатека будет в топе, а именно про то, куда устанавливаются соединения. Готовить будем на Mikrotik, Grafana и Victoria Logs. В результаты мы получим что-то вроде вот этого:

Читать далее

Как я развернул фулстек-приложение на «NestJS» с «Angular» в «Supabase» и «Vercel»

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

Я разработал небольшое фулстек-приложение в качестве примера REST + WebSockets бойлерплейта на NestJS и Angular. В приложении используется PostgreSQL для хранения данных, Redis для кэширования и Minio для работы с файлами. Изначально целевой средой для развертывания был Kubernetes, но для ускорения разработки и тестирования MVP я решил использовать бесплатные облачные сервисы: Supabase для инфраструктуры и Vercel для деплоя бэкенда и фронтенда.

Читать далее

Чем Kubernetes лучше Docker Swarm

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

Продолжение истории «Контейнерный хостинг или чем Kubernetes лучше Docker Swarm» где я описывал проблемы при построении облачного сервиса,а возможные решения выбирал между Docker Swarm и Kubernetes. Статья будет особенно полезна тем, кто практически не имея опыта, сомневается что выбрать в качестве оркестратора для своих проектов. Забавно будет почитать и тем, кто уже прошел по этим граблям и имеет свой собственный опыт, чтобы освежить в памяти какие‑то моменты или где‑то взглянуть по-новому.

Читать далее

Service Mesh глазами бэкендера: умный дирижёр микросервисного оркестра

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

Service Mesh – это «умная» сеть для управления трафиком между сервисами. Углубимся в детали и разберём, как эта технология упрощает жизнь DevOps-инженеров и разработчиков.

Привет, Хабр! Алексей Ушаровский — бэкенд разработчик в международном финтехе, эксперт Skillbox по Java и Kotlin. На текущем проекте ему приходится сталкиваться не только с бэкендом, но и с технологиями DevOps. На закрытом эфире для комьюнити Skillbox Code Experts рассказал про свой опыт работы с технологией Service Mesh. Делимся с вами в этой статье.

Читать далее

Как собрать Linux-контейнер с нуля и без Docker

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

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

Читать далее

Agile-романтика: Kanban доска для счастливых отношений

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

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

Поэтому, сейчас мы разберёмся как можно сделать Kanban-доску в Taiga и попробуем сделать из хаоса порядок. Ведь мы можем поддерживать 99.99% аптайма в проде, почему бы не попытаться добиться хотя бы 80% в личной жизни?

Читать далее

Наш путь delivery of secrets: как мы пришли к связке Bank-Vaults и Vault Secret Operator

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

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

На нашем проекте мы обеспечиваем авторизацию внешних клиентов в продуктах МТС. Это Mission Critical система, где мы оптимизировали и гарантировали доставку секретов в контейнеры с микросервисом, избавлялись от дополнительных рабочих нагрузок и исключали внешние зависимости. В прошлом материале я сравнил разные инструменты, которые мы перебрали, а в этом расскажу про наше итоговое решение — связку Bank-Vaults и Vault Secrets Operator.

Читать далее

Картинка дня DevOps-инженера: подъем в 6 утра по тревоге, разборы полетов и раннеры GitLab CI

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

Эволюционируя из рядового сисадмина в DevOps-а, специалисты начинают заботиться о разработке. В среднем разработчики об инфраструктуре знают не очень много: вполне может добавить скрипт, который обрушит кластер. Поэтому наша задача как девопсов сделать систему максимально отказоустойчивой, автоматизировать рутину, выстроить процессы CI/CD, настроить мониторинг и вообще следовать подходу “Инфраструктура как код”.

Но это в теории. На практике это возможно, только если в систему никто не вносит никаких изменений, а так не бывает. Поэтому жизнь DevOps - постоянный “День Радио” в отдельно взятой инфраструктуре.

Врезка: “День Радио” — это фильм с сюжетом, что в прямом эфире вот-вот должен стартовать марафон, но за десять минут до начала выясняется, что заранее подготовленная тема перехвачена конкурентами. И начинается суета и множество сюжетных поворотов и проблем 🙂

Я поговорил с Дмитрием, тимлидом DevOps-команды в Git In Sky. Обсудили, как выглядит его типичный рабочий день и какие задачи стоят перед командой в условиях активно растущего рынка SRE-аутсорсинга.

Читать далее

Давайте писать удобное локальное окружение…

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

Всем привет, меня зовут Аббакумов Валерий.

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

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

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

Читать далее

CI/CD Kubernetes платформа Gitorion. Canary-релизы

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

Привет всем! Перед деплоем нового релиза приложения в продакшен хорошей практикой является оценка его работы с запросами от реальных пользователей. Если разом заменить текущий релиз приложения на новый, есть вероятность в случае ошибки в программном обеспечении повредить данные большого числа пользователей или получить непрогнозируемое поведение нового релиза под нагрузкой. Чтобы избежать указанных трудностей используют Canary‑релизы — это когда рядом с актуальным релизом приложения в продакшене развертывают релиз с новой версией приложения и направляют на него часть запросов от реальных пользователей. В данной статье мы расскажем о нашем опыте внедрения Canary‑релизов в CI/CD платформу Gitorion.

Читать далее

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

Как исправлять ошибки в Git, не оставляя улик

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

Как же иногда хочется закинуть коммиты «Remove debug log», «fix» или «fix fix fix». Такие коммиты как грязные носки под кроватью: их не видно, пока не придёт ревьюер с пристальным взглядом или, что еще хуже, потенциальный работодатель, решивший посмотреть на ваш профиль github.

К счастью, Git предлагает два супер-инструмента для того, чтобы история коммитов выглядела так, будто ты всегда знаешь, что делаешь: git commit --fixup и git rebase --autosquash. И сегодня мы разберем на практике как это применять.

Читать далее

DEVops: Разрабатываем свой Kubernetes оператор с кастомными ресурсами на Go

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

Используете готовые операторы в Kubernetes? Я тоже... Но с какого‑то момента я начал задаваться вопросом: «а как люди их пишут?». И я нашел ответ!

В этой статье я наглядно покажу, как создать свой кастомный оператор в Kubernetes на Go при помощи kubebuilder. Оператор позволит отслеживать изменения ресурсов в кластере, а затем отправлять уведомления в Telegram или другие мессенджеры. Какие ресурсы «трекать» будем описывать через кастомные ресурсы (Custom Resource). Погнали!

Читать далее

Мой первый контейнер без Docker

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

Технологии контейнеризации, возможно, как и у большинства из нас, плотно засели в моей голове. И казалось бы, просто пиши Dockerfile и не выпендривайся. Но всегда же хочется узнавать что‑то новое и углубляться в уже освоенные темы. По этой причине я решил разобраться в реализации контейнеров в ОС на базе ядра linux и в последствие создать свой «контейнер» через cmd.

Читать далее

Что не так с chroot: почему для контейнеров используется именно pivot_root

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

В этой статье рассматриваются различия между pivot_root и chroot в контексте безопасности контейнеров. Узнайте, почему Docker отказался от chroot в пользу pivot_root и как это решение улучшает защиту от потенциальных уязвимостей.

Читать далее

CodeSigning для разработчиков под Windows по новым правилам

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

С 1.06.2023 году вступили в действие новые требования к сертификатам для подписи кода (aka CodeSigning), которые значительно осложнили жизнь разработчиков ПО. Суть изменений - прощай старый добрый PFX, закрытые ключи теперь должны быть неизвлекаемыми и некопируемыми. Примеры изменений у поставщиков: раз, два, три - в общем-то у всех одно и тоже.

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

Безопасность должна быть более безопасной

Автоматизируй всё! Настройка CI-CD в Unity для ленивых (и умных) разработчиков. Часть первая

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

Все еще собираешь билды вручную? Тогда статья идет к вам!

Привет Хабр! Я уверен, что любая команда постоянно выполняет множество рутинный задач, одна из которых создание и релиз сборок

В этой статье мы разбираемся, что такое CI/CD, какие сервисы доступны Unity-разработчикам и как сделать процесс релизов быстрее и удобнее.
Также рассмотрим как внедрение автоматизации упростило процесс релиза в нашей компании

Читать далее

Поднимаем потоковый сервис Kafka на Python

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

Всем привет, меня зовут Евгений Мунин. Я Senior ML Engineer в Ad Tech в платформе ставок для рекламы. В этой статье мы познакомимся с Apache Kafka. Мы напишем демо пример Kafka Consumer'а на Python и запустим его в облачном сервисе Confluent Cloud.

Читать далее