Обновить
256K+

DevOps *

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

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

Чек-лист по добавлению новой базы данных в стек

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

Всем привет! Я Ильшат, занимаюсь базами данных в #CloudMTS. За свою карьеру работал с различными СУБД (PostgreSQL, MongoDB, ClickHouse, Redis, MySQL, MariaDB, GreenPlum, etcd) и со временем у меня созрела методика добавления СУБД в стек эксплуатации.

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

уже есть база в продуктиве, и ее нужно забрать к себе на администрирование;

нужно быстро разобраться в новом типе СУБД, с которой вы не работали ранее, но которая скоро будет использоваться в вашем проекте;

у вас «зоопарк» из СУБД, и нужно стандартизировать подход к развертыванию баз данных;

провести аудит инфраструктуры СУБД.

Статья пригодится не только DBA, но и тем, кто по долгу службы занимается поддержкой СУБД, например системным администраторам, а также инженерам, отвечающим за надежность инфраструктуры — DevOps и SRE.

Так как статья вышла довольно увесистой, в каждом разделе расписал две опции: в первой сформулировал базовые требования, которые помогут создать минимальный продукт (MVP), во второй — про более тонкие настройки и лучшие практики, ее спрячу под спойлер. Пару разделов «для продвинутых» отправлю под спойлер полностью.

Читать далее

Сколько Надо Строк Кода Для Того Чтобы Подписать Артефакты? (спойлер: 3 строки)

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

Бывает ситуация, когда надо чтобы прошивка или любой другой артефакт сам сказал в каком состоянии был GIT репозиторий с кодовой базой, когда эту прошивку собирали. Надо как-то добавить в text/rodata сегмент памяти такие метаданные как "из какой ветки собрали прошивку", "какой была контрольная сумма последнего коммита".

Данная подсказка может существенно помочь при сопровождении ПО.

В тексте представлен скрипт, который делает эту работу.

Как вы думаете сколько строк кода надо для подписи прошивки?

Читать далее

Организуем окружение Rust и сборку Docker с применением Nix Flakes

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

Чем интересен Nix


В Rust новое окружение для разработки обычно настраивается без труда – просто воспользуйтесь rustup и в добрый путь. Но при использовании такого сборочного инструмента как язык Nix, вы можете приобрести гораздо больше, лишь немного потрудившись. Ведь Nix позволяет:

  • Указывать в коде зависимости от проектов, не написанных на rust;
  • Автоматически добавлять в путь все инструменты/зависимости ваших проектов при помощи direnv;
  • С лёгкостью собирать тонкие контейнеры Docker.

Стоит начать применять Nix при работе в репозитории – и «как раньше» уже не захочется. Никаких больше README со списком команд Homebrew, apt, pacman и др., которые было бы необходимо выполнять. Сборка тонких контейнеров Docker делается в два счёта, без необходимости вручную вручную обрабатывать множество слоёв, из которых требуется копировать сборочные артефакты.
Читать дальше →

Лучшие книги и статьи по Kubernetes для системного аналитика с noob-level в DevOps

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

Всё началось с того, что команде, с которой я работаю, предложили заказ на миграцию приложений из Docker Compose «во что‑нибудь более масштабируемое, отказоустойчивое и гибкое». Например, Ansible или Kubernetes. И всё это прекрасно, но у меня возникли проблемы. Как системному аналитику и по совместительству PM проекта, с минимальным опытом в DevOps, пришлось изрядно попотеть с пониманием многих вещей, касающихся Kubernetes. Под катом подробно о статьях и книгах, которые помогли мне разобраться с оркестратором, понять, чего хочет заказчик, сформировать требования к работе системы в целом, отказоустойчивости, масштабированию и безопасности.

Читать далее

Docker и сети

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

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

Читать далее

Три уровня Kubernetes in Kubernetes

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

Всем привет. Меня зовут Путилин Дмитрий (Добрый Кот) Telegram.

От коллектива FR-Solutions : Продолжаем серию статей о K8S.

В этой статье расскажем об архитектурных концептах развертывания kubernetes кластеров.

Затронем как легаси методы так и новые практики, такие как cluster-api и k8s in k8s.

Начать путешествие

Небольшое сравнение gpt4all и alpaca.cpp

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

Все тестировалось на очень тупеньких запросах о написании python кода, написании рассказа на русском, cоздания playbook для Ansible c дефолтовыми threads = 4 и number of tokens to predict = 200

Читать далее

Kubernetes-валидаторы и где они обитают

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

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

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

Читать далее

Стандарты безопасности в Kubernetes (обзор и видео доклада)

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

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

Читать далее

Простой способ развернуть телеграмм бота с Aiogram + Webhook на хостинг

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

Расскажу самый простой и бесплатный способ развернуть на хостинге телеграмм бота, написанного на aiogram и перевести на webhook. Посмотреть видео-версию, которую я разместил, можно на https://youtu.be/Gw-cVvsaOGE .

Бот будет работать 24/7 пожизненно.

Без использования VPS, фреймворка (django, flask, fastapi,..), pythonanywhere и heroku.

Краткое содержание действий:

Пункт 1. Сохранить пример к себе, регистрация на хостинге.

Пункт 2. Через FTP поместить наш файл бота на хостинге.

Пункт 3. Через SSH установить библиотеку aiogram.

Пункт 4. Настроить сервис бота на хостинге.

Пункт 5. Настроить веб-сайт на переадресацию всех запросов на сервис бота.

Пункт 6. Отредактировать файл запуска бота с учетом наших настроек.

Пункт 7. Перезапуск сервиса бота, проверка бота. Просмотр логов.

________________________________________________________

Пункт 1. Сохранить пример к себе, регистрация на хостинге.

Идем на страницу официальной документации:

https://docs.aiogram.dev/en/v2.25.1/examples/webhook_example.html

Копируем содержимое webhook_example.py к себе в файл webhook.py и сохраняем.

Читать далее

Дублирование облачной инфраструктуры: почему, зачем и как?

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

image


Всем привет!


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

Читать дальше →

Пакетное тестирование скоринговых моделей

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

Всем привет! Сегодня мы, риск-технологи банка «Открытие» Илья Мясников (@berrim0r) и Гевонд Асадян (@Gevond), расскажем, каким образом осуществляем тестирование моделей оценки кредитного риска перед выводом в прод. В прошлой статье про дублирующий проверочный скрипт мы рассказали о том, как мониторим корректность выведенной в прод модели. Но проверок же много не бывает! Перед выводом модели в прод нужно удостовериться, что выводимый функционал работает корректно.

Как проверить корректность расчета модели? Ну да, верно – скормить ей входные данные со строго определенными параметрами. Звучит не очень сложно, правда? А если факторов более полутора сотен? И часть из них оказывают влияние только при определенном взаимодействии с другими факторами? Такое количество вариантов входных данных вручную придется готовить не один день.

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

Дальше — больше

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

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

Какой смысл в BIG DATA и аналитических моделях машинного обучения, если информация вовремя не попадает к разработчикам, бизнес-аналитикам и руководителям? Если в вашей компании время передачи информации к специалистам по тестированию, развертыванию и поддержке занимает дни, а не секунды, пришла пора задуматься о внедрении практик DataOps (DATA Operations, датаопс).

Чтобы ближе познакомить вас с современными инструментами обработки и передачи информации, мы подготовили перевод ключевых тезисов из статьи «DataOps — что это такое и почему вам это должно быть интересно?».

Читать дальше →

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

Как запустить кластер kubernetes с k3s

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

Kubernetes – это платформа для оркестрации контейнеров, однако ее настройка и управление может быть сложным и трудоемким процессом. К счастью, есть более легкие альтернативы полноценному дистрибутиву Kubernetes, такие как k3s, которые предоставляют более простой и упрощенный опыт установки и эксплуатации. В этой статье мы расскажем, как настроить кластер Kubernetes с помощью k3s.

Читать далее

Быстрый старт на проекте с Drupal 7 без головной боли: решение проблем и работа без установки зависимостей

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

Ускорьте свой старт на проекте с устаревшим Drupal 7:

Узнайте как быстро стартовать работу на проекте с 7 версией Drupal и сэкономить время на настройке рабочего окружения.

Читать

Топ-11 ошибок при установке Kubernetes, которые не стоит допускать

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

Автор делится своим опытом установки Kubernetes на AWS Cloud и с использованием Ubuntu 20.04. Он столкнулся с некоторыми ошибками в процессе установки, и смог найти решения для них.

Читать далее

Несите трубы! Как мы строили пайплайн ML-эксперимента

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

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

Читать далее

Зачем нужны feature-окружения и как с ними работать

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

Паттерн feature-окружений называют по-разному: ondemand, review- или preview-окружения. Он нужен, чтобы приблизить среду разработки к продакшену, и позволяет разом избавиться от множества проблем, связанных с организацией разработки и переносом кода.
Но для создания feature-окружений и работы с ними ваш технологический стек должен быть достаточно мощным, чтобы обеспечить необходимую гибкость и динамичность. В этой статье я расскажу, как реализовать некоторые механизмы, необходимые для эксплуатации feature-окружений.


Читать дальше →

Managed Kubernetes the hard way

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

Всем привет. Меня зовут Путилин Дмитрий (Добрый Кот) Telegram.

От коллектива FR-Solutions и при поддержке @irbgeo Telegram : Продолжаем серию статей о K8S.

В этой статье мы поделимся своим опытом разработки Managed K8S под Yandex Cloud и расскажем, как мы создали конфигурацию, которую можно легко адаптировать для запуска в любом облаке или on-premises решении, изменяя только некоторые настройки. Если вы заинтересованы в построении гибких и масштабируемых Kubernetes-кластеров, то этот материал обязательно для вас.

Начать приключение

Как взломать Kubernetes (и как его защитить)

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

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

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

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

Читать далее