Pull to refresh
0
0
Denis Michurin @denistu10

Sr. DevOps Engineer

Send message

Паттерны многопоточности в Go

Level of difficultyEasy
Reading time16 min
Views10K

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

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

Читать далее
Total votes 24: ↑22 and ↓2+25
Comments12

Обзор готовых решений для построения портала IDP и когда они не подходят: анализ на примере кейса компании Evrone

Reading time10 min
Views749

Построение IDP — один из наиболее эффективных методов оптимизации работы команд разработки. Но внедрению внутренних платформ и получению профита от них обычно предшествует немало барьеров: необходимость инвестиций, выделение ресурса специалистов вдолгую, потребность в соответствующей экспертизе. Проблемой становится и поиск варианта реализации. 

Меня зовут Александр Кириллов. Я СТО в компании Evrone. В этой статье я расскажу о наших предпосылках внедрения IDP, поиске вариантов реализации и объясню, почему иногда готовые решения не подходят.

Читать далее
Total votes 7: ↑7 and ↓0+16
Comments0

Что можно рассказать о функциях Python на примере кофемашины?

Reading time7 min
Views6.2K
Поделюсь с вами одной из моих любимых аналогий.

Я раньше сам молол себе кофе. Купил такую старомодную ручную кофемолку с металлической воронкой, крутильной рукояткой и маленьким деревянным подносом, на который ссыпается смолотый кофе.

Может быть, где-то у меня она ещё валяется.

Теперь я слишком занят. Перешёл на кофемашину. Она из таких, которые заправляются капсулами – то есть, максимально потворствует лени, а значит, работает максимально эффективно. Привожу этот пример на лекциях по программированию для начинающих – когда объясняю, что при работе над кодом леность – это хорошо, она свидетельствует об эффективности.
Читать дальше →
Total votes 14: ↑12 and ↓2+16
Comments13

Обзор k8sgpt: как искусственный интеллект помогает обучать DevOps-инженеров

Level of difficultyMedium
Reading time28 min
Views15K

В статье мы расскажем, что за утилита k8sgpt, как её поставить, какие есть полезные опции и как подключить к ней AI. Также покажем, какого уровня диагностику можно провести с помощью этого инструмента и на какие ответы чат-бота можно рассчитывать.

Читать далее
Total votes 29: ↑29 and ↓0+35
Comments6

Безопасность контейнерных сред: как отбить атаки киберпиратов

Level of difficultyHard
Reading time22 min
Views2.6K

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

Читать далее
Total votes 7: ↑7 and ↓0+9
Comments2

Надежный обход блокировок в 2024: протоколы, клиенты и настройка сервера от простого к сложному

Level of difficultyMedium
Reading time46 min
Views252K

Поскольку блокировки интернета в РФ в последние недели и месяцы многократно активизировались, а маразм все крепчает и крепчает, стоит еще раз поднять тему обхода этих самых блокировок (и делаем ставки, через сколько дней на эту статью доброжелатели напишут донос в РКН чтобы ограничить к ней доступ на территории страны).

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

Читать далее
Total votes 445: ↑437 and ↓8+489
Comments373

Что находится внутри образов distroless-контейнеров

Level of difficultyEasy
Reading time13 min
Views8.3K

Базовые distroless-образы GoogleContainerTools часто упоминаются как один из способов создания (более) маленьких, (более) быстрых и (более) безопасных контейнеров. Но что на самом деле они собой представляют? Зачем они нужны? В чем разница между контейнером, созданным на distroless-базе, и контейнером, созданным с нуля? Давайте разберёмся.

Читать далее
Total votes 44: ↑43 and ↓1+48
Comments2

Ceph: разбираем базовые операции в кластере на примере интеграции с Hashicorp Nomad

Reading time25 min
Views3.4K

Привет! Я Владимир Иванов, системный администратор выделенных серверов в Selectel. Мы довольно часто экспериментируем с подходами, процессами и решениями. В одном из экспериментов добрались до Ceph: сделали тренажер, в котором можно «потыкать» основной функционал хранилища, проверить гипотезы, что-то сломать/починить, не собирая при этом железный кластер. В случае фейла этот тренажер можно развернуть заново в пару консольных команд.

Так и появилась идея написать эту статью. Я покажу, как подключить Ceph к оркестратору Nomad, чтобы получить постоянное хранилище для контейнеров. Если хотите поближе познакомиться с примерами эксплуатации и обслуживания Ceph, прошу под кат! А если уже знакомы — прошу в комментарии, поделитесь своим опытом.
Читать дальше →
Total votes 37: ↑37 and ↓0+54
Comments0

Транзакция, ACID, CAP теорема и уровни изоляций транзакций простыми словами

Level of difficultyEasy
Reading time5 min
Views18K

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

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

Читать далее
Total votes 45: ↑39 and ↓6+37
Comments13

Это база: нюансы работы с Redis. Часть 1

Level of difficultyMedium
Reading time15 min
Views44K

Привет! Меня зовут Петр и мы в компании Nixys очень любим Redis. Эта база используется, если не на каждом нашем проекте, то на подавляющем большинстве. Мы работали как с разными инсталляциями Redis, так и с разными версиями, вплоть до самых дремучих, вроде 2.2. Несмотря на то, что в Интернете очень много статей и докладов по этой БД, мы в своей практике достаточно часто встречаемся с непониманием некоторых основных концепций Redis и со стороны разработчиков, и со стороны системных администраторов.

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

Читать далее
Total votes 79: ↑79 and ↓0+79
Comments5

Managed Kubernetes the hard way

Level of difficultyHard
Reading time14 min
Views5K

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

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

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

Начать приключение
Total votes 14: ↑13 and ↓1+13
Comments14

Готовим из ванильного Kubernetes PaaS-платформу для создания кластера. Опыт dBrain

Reading time8 min
Views3.9K

Сегодня Kubernetes — одно из наиболее оптимальных решений для работы с микросервисной архитектурой. Но это не традиционная комплексная система PaaS. В ванильный K8s входит несколько стандартных компонентов, которые отвечают только за минимальный набор необходимых функций. Но для эффективной работы приложений и деплоя продуктовой среды необходимо множество дополнений — CNI, СSI, DNS, Ingress контроллер, внешние LB и т. д. Цель нашей команды — готовая для комфортной работы с кластером PaaS‑платформа. В этой статье мы расскажем, как готовим Kubernetes в dBrain.cloud, чтобы ее достичь.

Читать далее
Total votes 3: ↑2 and ↓1+2
Comments0

Как использовать промты в ChatGPT для генерации кода на Python

Reading time2 min
Views44K

Привет, друзья! Сегодня я хочу рассказать вам о том, как использовать промты в ChatGPT для создания программного кода на Python. Если вы работаете с Python или интересуетесь программированием, то вы, наверняка, знаете, насколько важно уметь быстро и эффективно создавать код.

Для тех, кто не знаком с термином "промт", это специальные подсказки, обычно они выводятся в виде текста, который указывает правила для ответа ИИ.

Чатбот ChatGPT основан на искусственном интеллекте и способен генерировать текст на основе предыдущих входных данных, так же основан на copilot. Таким образом, мы можем использовать его для генерации промтов для создания кода на Python.

После множества экспериментов и ошибок, я нашел наиболее оптимальный промт для работы с ChatGPT, который позволяет мне полностью автоматизировать процесс разработки программы в соответствии с моим ТЗ. Сейчас я готов поделиться с вами своим опытом.

Читать далее
Total votes 11: ↑9 and ↓2+9
Comments42

Как подружить Алису с ChatGPT

Level of difficultyMedium
Reading time6 min
Views66K

О ChatGPT сейчас не говорит только ленивый. Давайте попробуем соединить голосовой помощник Алиса и ChatGPT. Таким образом мы сможем взаимодействовать с ChatGPT с помощью голоса. А он с помощью голоса может нам отвечать. Конечно тут будут ограничения о которых я подробно опишу далее. Данная статья не столько о ChatGPT а о том как писать навыки для Алисы.

Читать далее
Total votes 34: ↑34 and ↓0+34
Comments17

Когда НЕ нужно использовать Apache Kafka?

Level of difficultyMedium
Reading time18 min
Views11K
image

Apache Kafka де-факто превратился в стандарт потоковой передачи событий для обработки данных на лету. По мере его широкого распространения в отрасли появляются вопросы: «А когда НЕ нужно использовать Apache Kafka? Какие ограничения у этой платформы? В каких ситуациях он не предлагает необходимые возможности? Как понять, что Kafka — неподходящий инструмент для какой-то задачи?»


В статье, перевод которой мы подготовили, автор Kai Waehner постарается ответить на эти вопросы. В отдельных главах приводится объяснение, когда стоит использовать Kafka, когда — нет, а когда — возможно.

Читать дальше →
Total votes 19: ↑15 and ↓4+15
Comments0

Эфемерные контейнеры в Kubernetes

Level of difficultyMedium
Reading time12 min
Views7.8K
image

Предисловие


С версии Kubernetes 1.16 была добавлена возможность запуска эфемерных контейнеров (Ephemeral Containers). Эта функция позволяет запускать временные контейнеры в рамках существующих Pod'ов, чтобы помочь в диагностике и отладке проблем, а также для выполнения различных задач в рамках существующего окружения.

Эфемерные контейнеры не заменяют существующие контейнеры в Pod'ах, а запускаются рядом с ними в рамках того же сетевого пространства и с теми же точками монтирования. Это означает, что эфемерные контейнеры могут легко получить доступ к ресурсам Pod'а, таким как файловая система или сетевые интерфейсы.
Читать дальше →
Total votes 25: ↑25 and ↓0+25
Comments2

Kubernetes без Kubelet: рассказываем об инструменте KWOK

Reading time10 min
Views3.2K

Вы когда-нибудь задумывались, как:

• настроить кластер из тысяч узлов за считанные секунды;
• имитировать реальные узлы с низким потреблением ресурсов;
• протестировать контроллер K8s в масштабе, но при этом не затратив больших средств инфраструктуры.

Если вы ответили «Да» на большинство вопросов, то вам, вероятно, будет интересно узнать о KWOK — инструменте, который позволяет создавать кластер из тысяч узлов.

Читать далее
Total votes 8: ↑6 and ↓2+5
Comments0

Как работать с облачной инфраструктурой: книги и справочники для инженеров [и интересующихся]

Level of difficultyEasy
Reading time5 min
Views4.5K
image

Мы подготовили подборку свежих высоко оцененных изданий (опубликованных после 2021 года), которые рекомендуют специалисты облачных провайдеров, резиденты Hacker News и участники тематических тредов на других площадках.

Книги из списка могут быть полезны системным администраторам, разработчикам и всем, кто желает погрузиться в мир микросервисов, ОС и DevOps.

Также напомним, что у нас есть база знаний с практическими материалами по облачным сервисам.

Читать дальше →
Total votes 9: ↑9 and ↓0+9
Comments0

VS Code, python, контейнеры — как обуздать эту триаду и разрабатывать внутри контейнера

Level of difficultyMedium
Reading time16 min
Views42K

Как пользоваться VS Code в полную силу


image


Это небольшой туториал о настройке VS Code для работы с python. Здесь вы не увидите каких-то божественных откровений — тут будет просто мой опыт о том, как сделать свою работу/хобби немного комфортнее и почему я пришел именно к такой конфигурации.

Читать дальше →
Total votes 42: ↑40 and ↓2+55
Comments18

Все что ты хотел знать о AWS Spot Instances, но боялся спросить

Level of difficultyMedium
Reading time16 min
Views4.3K


Всем привет, в данной статье мы затронем основные аспекты работы со спотовыми нодами AWS, как, что, и почему? А так же будут живые примеры инфраструктуры построенной на спотах, и в конце самое интересное это кол-во сэкономленных денег $. За подробностями прошу код кат.

Читать дальше →
Total votes 2: ↑2 and ↓0+2
Comments4
1
23 ...

Information

Rating
4,992-nd
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity

Specialization

System Software Engineer, DevOps
Senior
Python
Linux
Docker
OOP
Kubernetes
Terraform
Ansible
Golang
High-loaded systems