Как стать автором
Обновить
23
0
Aleksei Fedorov @telesis

Cloud & DevOps Architect

Отправить сообщение

Как DDoS-атаки стали для нас рутиной и как ML помогает их отражать

Время на прочтение10 мин
Количество просмотров5.2K

Несколько лет назад увидеть DDoS-атаку было целым событием. Если такое и случалось, то инцидент тщательно анализировала целая команда специалистов, а каждая извлечённая крупица информации использовалась для обучения моделей, формирования новых факторов и улучшения подходов для защиты от новых потенциальных атак. 

Но постепенно число атак увеличивалось, и в какой-то момент отбить очередной DDoS стало обычным делом. Только за прошедший 2023 год мы в Яндексе отразили 1002 атаки. В этом нам помогло инхаус-решение — Антиробот, который работает на уровне L7 сетевой модели OSI.

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

Читать далее
Всего голосов 33: ↑32 и ↓1+31
Комментарии3

Обновление кешей сервисов в реальном времени с помощью YDB CDC на примере Yandex Monitoring

Время на прочтение15 мин
Количество просмотров1.8K

Меня зовут Егор Литвиненко. Я старший разработчик Yandex Observability Platform. Летом 2023 года я рассказывал на Saint Highload в Санкт-Петербурге про наш путь внедрения YDB CDC для обновления данных в сервисах, чтобы решить проблему инвалидации кешей.

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

Какие подходы к доставке изменений мы использовали.

Почему выбрали переход на CDC и в чём были сложности в работе с изменениями до этого. 

Чем YDB CDC отличается от других решений, как настроить правильно, и на какие грабли мы наступили в процессе.

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

Как поддерживать решение после внедрения.

Читать далее
Всего голосов 22: ↑22.5 и ↓-0.5+23
Комментарии2

Как LLM могут повлиять на труд разработчиков (и не только их)

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

Если взглянуть на ИТ индустрию изнутри, хотя бы за последние 20 лет, то технологии и продукты сменяли друг друга довольно активно, вознося на пик спроса то одних специалистов, то совершенно других. Если брать рынок РФ, то в крупном корп секторе таких волн было несколько: была волна разработчиков OEBS (который, все еще работает в очень крупных компаниях, начиная с телекома, заканчивая известными интернет компаниями), был взлет и падение SAP/ABAP, был Siebel CRM, в части интеграции были монстры типа Oracle SOA или Tibco, в BI - Oracle BI и Sap Bobj, но сейчас все эти продукты, а вместе с ними тысячи их разработчиков перешли в разряд legacy с исчезающе малым числом вакансий и низкими зарплатами. И каждый раз, находясь в казалось бы несущемся вперед поезде очередного OEBS, находились люди, видевшие, что поезд уже горит и пора "соскакивать". На этом фоне, [backend] разработка казалась чем-то стабильным, несмотря на смены парадигм и фреймворков.

Эта статья попытка взглянуть на классическую заказную разработку с т.з. "я не сидим ли мы в поезде, паровоз которого уже горит" и поделиться соображениями в части влияния больших языковых моделей (LLM) на труд разработчиков (и шире, ИТ специалистов), рынок труда в этой сфере в кратко- и средне срочной перспективе.

Читать далее
Всего голосов 3: ↑2 и ↓1+1
Комментарии2

Новые горизонты баз данных: 8 тенденций в управлении информацией

Время на прочтение14 мин
Количество просмотров4.9K

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

Сегодня мы узнаем про перспективы развития баз данных — 8 тенденций управления информацией и рассмотрим 11 наглядных примеров.

Читать далее
Всего голосов 13: ↑9 и ↓4+5
Комментарии3

The Kernel-Bridge Framework: мостик в Ring0

Время на прочтение7 мин
Количество просмотров9.4K
Хотели ли Вы когда-нибудь заглянуть под капот операционной системы, посмотреть на внутреннее устройство её механизмов, покрутить винтики и посмотреть на открывшиеся возможности? Возможно, даже хотели поработать напрямую с железом, но считали, что драйвера — rocketscience?

Предлагаю вместе пройтись по мостику в ядро и посмотреть, насколько глубока кроличья нора.

Итак, представляю драйвер-фреймворк для kernel-хакинга, написанный на C++17, и призванный, по возможности, снять барьеры между ядром и юзермодом или максимально сгладить их присутствие. А также, набор юзермодных и ядерных API и обёрток для быстрой и удобной разработки в Ring0 как для новичков, так и для продвинутых программистов.

Основные возможности:

  • Доступ к портам ввода-вывода, а также проброс инструкций in, out, cli и sti в юзермод через IOPL
  • Обёртки над системной пищалкой
  • Доступ к MSR (Model-Specific Registers)
  • Набор функций для доступа к юзермодной памяти других процессов и к памяти ядра
  • Работа с физической памятью, DMI/SMBIOS
  • Создание юзермодных и ядерных потоков, доставка APC
  • Юзермодные Ob*** и Ps***-каллбэки и фильтры файловой системы
  • Загрузка неподписанных драйверов и ядерных библиотек

… и многое другое.
Читать дальше →
Всего голосов 29: ↑29 и ↓0+29
Комментарии15

Как самому за один вечер собрать минимальную ОС Linux из исходного кода

Уровень сложностиСредний
Время на прочтение11 мин
Количество просмотров73K
image

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

Ещё больше не даёт покоя мне тот факт, что все ядра операционной системы Linux, которые работают на различных устройствах и серверах, собраны из исходного кода, находящегося в репозитории на сайте kernel.org.

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

Мне всегда хотелось собрать операционную систему Linux самому из исходного кода, но процесс этот всегда казался сложным и запутанным, да и многого я не понимал. Но всё-таки в определённый момент времени я накопил достаточное количество знаний, чтобы осуществить свою мечту. В этой статье я хочу рассказать вам, как собрать минимальную Linux из исходного кода и запустить её у себя на компьютере.
Читать дальше →
Всего голосов 110: ↑109 и ↓1+108
Комментарии77

Как работает компьютер: глубокое погружение (на примере Linux)

Уровень сложностиСложный
Время на прочтение48 мин
Количество просмотров133K



Введение


Я делала много вещей с компьютерами, но в моих знаниях всегда был пробел: что конкретно происходит при запуске программы на компьютере? Я думала об этом пробеле — у меня было много низкоуровневых знаний, но не было цельной картины. Программы действительно выполняются прямо в центральном процессоре (central processing unit, CPU)? Я использовала системные вызовы (syscalls), но как они работают? Чем они являются на самом деле? Как несколько программ выполняются одновременно?


Наконец, я сломалась и начала это выяснять. Мне пришлось перелопатить тонны ресурсов разного качества и иногда противоречащих друг другу. Несколько недель исследований и почти 40 страниц заметок спустя я решила, что гораздо лучше понимаю, как работают компьютеры от запуска до выполнения программы. Я бы убила за статью, в которой объясняется все, что я узнала, поэтому я решила написать эту статью.


И, как говорится, ты по-настоящему знаешь что-то, только если можешь объяснить это другому.


Более удобный формат статьи.

Читать дальше →
Всего голосов 152: ↑152 и ↓0+152
Комментарии36

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

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

C 2010 года вместе с тем, как свет увидел новый язык программирования Rust от Mozilla я начал его изучение и применение. Время шло, но он стабильно показывал отличное соотношение тех, кто хочет использовать его, кто уже использует и кто планирует делать это дальше. 

С появлением стабильной версии 1.0 в 2015 году было решено «с головой» погружаться в изучение и пилить курс, который бы в «экспресс» режиме позволил познакомиться с основами и понять, как использовать Rust на практике. 

В кейсе поговорим о создании курса, разочаровании в российском рынке, выходе материала в мир и увеличении доходов с его продажи почти в 10 раз. 

Читать далее
Всего голосов 70: ↑41 и ↓29+12
Комментарии39

Величайшие программисты 21 века. Джон-Движок Кармак

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

Джон Кармак вместе с тёзкой Джоном Ромеро стали родоначальниками игрового жанра FPS. На слабеньких 486SX, без видеокарт (!) они выдали настоящий 3D-шутер без лагов с эффектом присутствия, что стало бомбой для 1993 года — в эпоху пошаговых стратегий и отсутствия скроллинга. Казалось, тут вмешалась чёрная магия…

В принципе, примерно так и есть. В разработке Wolfenstein 3D, Doom и движка Quake Джон Кармак действительно использовал кучу нестандартных приёмов вроде конверсии указателей или выхода за границы объектов, чтобы в циклах получать доступ к другому объекту, который гарантированно идёт следом.

Уровень программирования Doom и Quake до сих пор считается непревзойдённым образцом хакерских оптимизаций, а сам Джон Кармак — эталон сверхэффективного разработчика. Благодаря высочайшему качеству программирования Doom стал феноменом, который изменил мир.
Читать дальше →
Всего голосов 121: ↑117 и ↓4+113
Комментарии63

Мнение: DevOps — это раковая опухоль

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

jenkins, terraform, chef, nexus, git, jira, wiki, octopus, ansible, confluence KISS

Читать далее
Всего голосов 326: ↑255 и ↓71+184
Комментарии422

Экстремальная настройка производительности HTTP: 1,2M API RPS на инстансе EC2 с 4 виртуальными процессорами (vCPU)

Время на прочтение54 мин
Количество просмотров18K

Прим. перев.: автор данного исследования — Marc Richards, Solutions Architect и DevOps-инженер — продемонстрировал потрясающую настойчивость и тщательность в тотальной оптимизации производительности веб-приложения. Получившийся материал — кладезь полезных знаний для расширения своего кругозора в области оптимизации, особенностей сетевого стека в Linux и не только, даже вне зависимости от практической заинтересованности в конечном результате автора. Приготовьтесь к по-настоящему длинному техническому путешествию с обилием терминологии, увлекательных графиков и полезных ссылок.

Читать далее
Всего голосов 75: ↑75 и ↓0+75
Комментарии7

Метрики как способ эффективного управления проектами

Время на прочтение7 мин
Количество просмотров8.2K

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

Но как сделать так, чтобы всеми метриками было удобно пользоваться? Чтобы не приходилось собирать всё вручную, а была бы единая точка входа к данным, и сама полученная информация помогала контролировать состояние дел и проводить верную оценку.

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

Читать далее
Всего голосов 2: ↑1 и ↓10
Комментарии4

Как я решил проблему плохого кода с помощью architecture guide

Время на прочтение13 мин
Количество просмотров15K

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

Читать далее
Всего голосов 29: ↑23 и ↓6+17
Комментарии36

Принципы проектирования SOLID с примерами на Python

Время на прочтение9 мин
Количество просмотров55K

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

Читать далее
Всего голосов 20: ↑19 и ↓1+18
Комментарии13

Архитектура Kubernetes – руководство для «чайников», 5 новых функций Podman, которые стоит попробовать…

Время на прочтение2 мин
Количество просмотров8.4K

... а также видео-тур по Ansible Automation Platform 2.0.

Новая порция инсайтов, гайдов, книжек и советов. Оставайтесь с нами – станьте частью DevNation!

Читать дальше: Архитектура Kubernetes...
Всего голосов 2: ↑2 и ↓0+2
Комментарии1

Почему коротко и по видео — это старый новый тренд. И как на это отзывается IT-рынок

Время на прочтение4 мин
Количество просмотров5.6K

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

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

IT-рынок откликается на запрос и ищет новые варианты общения.

Читать далее
Всего голосов 13: ↑10 и ↓3+7
Комментарии27

DevOps & SRE — основное различие

Время на прочтение3 мин
Количество просмотров40K

Споры вокруг Site Reliability Engineering и DevOps подходов, обусловлены различиями компаний, команд, сервисов, объемов разработки, практик, инфраструктуры и культурного кода. На рынке IT, есть путаница, это правильно, можно по-разному практиковать DevOps и SRE, и разные инженерные команды могут выполнять эти роли. Тем не менее, существуют основые сходства и различия в подходах. Сейчас DevOps в тренде и будет пользоваться спросом ближайшие годы, SRE набирает популярность медленнее но все же актуален.

Читать далее
Всего голосов 12: ↑7 и ↓5+2
Комментарии6

Как заставить Ansible работать быстрее – 8 советов по плейбукам

Время на прочтение6 мин
Количество просмотров15K

Ansible – это мощный и простой инструмент автоматизации с открытым кодом. Он помогает оптимизировать множество задач по эксплуатации ИТ-инфраструктуры, от самых простых, наподобие установки программных пакетов, до весьма сложных, вроде развертывания кластера с несколькими узлами или многоэтапного обновления операционной системы. Сегодня мы расскажем, как оптимизировать плейбуки и модули Ansible, чтобы создаваемые вами автоматизации работали быстрее.

Читать дальше: Как заставить Ansible...
Всего голосов 15: ↑14 и ↓1+13
Комментарии16

DevOps Cookbook: как построить процессы с нуля

Время на прочтение7 мин
Количество просмотров16K

Привет! Меня зовут Мария, я DevOps-инженер в компании Wrike. В этой статье расскажу о работе DevOps-инженеров с командами разработчиков: как выглядит процесс взаимодействия, из каких этапов состоит и как построить его с нуля. Статья будет полезна, если вы часто меняете проекты и каждый раз вам приходится заново создавать документацию и внедрять базовые процессы в работу команды.

Читать далее
Всего голосов 23: ↑22 и ↓1+21
Комментарии13

7 принципов Agile из Agile Extension от IIBA

Время на прочтение6 мин
Количество просмотров5.6K

Принципы — это те рельсы, которые направляют людей по жизненному пути. Международный Институт Бизнес-Анализа (IIBA) определил 7 главных принципов, которые указывают бизнес-аналитикам как работать приносить больше пользы команде и клиенту, делая меньше работы с большим коэффициентом полезности. Статья будет полезна как начинающим бизнес-аналитикам, так и тем коллегам, кто хочет глубже погрузиться в Agile или подготовиться к сдаче экзамена AAC.

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

Статья является переработкой тех параграфов "Agile Extension to BABOK Guide", которые говорят про принцы Agile бизнес-анализа, и содержит небольшие дополнения и пояснения.

Читать далее
Всего голосов 10: ↑9 и ↓1+8
Комментарии12

Информация

В рейтинге
Не участвует
Откуда
Минск, Минская обл., Беларусь
Зарегистрирован
Активность

Специализация

System Software Engineer, DevOps
Lead