Size: a a a

Пятничный деплой

2021 January 07
Пятничный деплой
Последний выпуск предновогодней подборки Threat Zone ❄️ Безопасность JSON Web Tokens (JWT)

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

В этом году мы изучили JWT и запилили подробный материал, в котором есть:

• примеры использования;
• разбор распространенных ошибок в реализации схем аутентификации;
• анализ основных видов атак на эти схемы;
• подробные рекомендации по предотвращению рисков при использовании JWT.

Совсем скоро новогодние каникулы, и вы сможете спокойно изучить нашу библиотеку😉
источник
2021 January 08
Пятничный деплой
Основы Golang в одной статье: https://proglib.io/w/a3840387
источник
Пятничный деплой
#машины_aws

Ваше выходное чтиво - третья глава по DynamoDB.

В этой части: что такое консистентность, почему ее так тяжело достичь и как воспроизвести в DynamoDB, как отлавливать изменения данных, а также особенности кеширования с использованием DAX и построение гео-распределенных таблиц.
источник
2021 January 10
Пятничный деплой
Rambler делится опытом перехода от Python к Rust:
- https://m.habr.com/ru/company/rambler_group/blog/533268/
- https://m.habr.com/ru/company/rambler_group/blog/535234/

#FunctionalProgramming
источник
2021 January 11
Пятничный деплой
источник
Пятничный деплой
источник
Пятничный деплой
🤝 Обмен знаниями в инженерных командах

Наш читатель @terrifilch прислал интересную ссылку на интервью с Balázs Balázs, который работал в Facebook: https://codingsans.com/blog/knowledge-sharing

В статье описываются те приёмы обмена знаниями (и это не только документация!), с которыми он сталкивался и самые базовые вещи, касательно подходов и приёмов. Всегда интересно посмотреть, как процессы устроены у коллег по цеху, вот она — возможность 🙂
источник
Пятничный деплой
Cloudflare готовится перевернуть рынок хостинга веб-приложений. Длинный пост, но технологии на самом деле поразительные.

Исторически, Cloudflare — крупный и агрессивный игрок на рынке CDN, то есть они умеют с минимальной задержкой и максимальной скоростью отдавать статический контент: картинки или страницы, которые одинаковые для всех пользователей. Они забирают их с ваших серверов, копируют (кешируют) на сотни своих серверов и отдают пользователю. Прикол в том, что у Cloudflare есть свои серверы в 200 главных точках обмена трафиком, 99% пользователей интернета живут ближе, чем в сотне километров от сервера Cloudflare. Это называется edge-network, пограничная сеть, в смысле та, которая граничит с пользователями. Небольшое расстояние и оптимизированные серверы означают, что статический контент будет грузиться мгновенно.

Проблема в том, что большинство страниц — динамические. Например, гугл-документ или мою ленту фейсбука кешировать на edge смысла нет — никому кроме меня она не нужна, да и мне интересна только самая последняя версия документа, и я его только что отредактировал. Исторически это означает, что нам нужно вести все эти вычисления новых страниц где-то на центральном сервере. У крупных компаний вроде гугла или фейсбука обычно есть несколько крупных серверных ферм на каждом континенте, поближе к пользователям, так что пользователи из России кучкуются на европейских серверах, а американцы — на штатовских. Это всё требует довольно сложную инфраструктуру, маленьким компаниям недоступную. Облака Амазона и другие конкуренты пытаются решить эту проблему, но без поллитра во всех их рычажках не разберешься.

Кажется, у Cloudflare получилось придумать элегантное, красивое решение для динамических страниц, которое работает прямо на edge-серверах! Встречайте Cloudflare Workers и Durable Objects.

Cloudflare Workers — облачные функции, в Амазоне они называются лямбды (lambda@edge). То есть вы пишете программу, которая обрабатывает запросы пользователей, загружаете её в облако и она запускается по необходимости на серверах облака, прозрачно, незаметно для вас и для пользователя. Придет один пользователь — запустится одна копия, придет тысяча — запустится тысяча копий. Обычно есть время на так называемый cold start, то есть после некоторого ожидания облачная функция тушится и нужно время, чтобы она проснулась и начала отвечать на запросы. Тут этой задержки нет. Обычно вам нужно выбрать регион работы функции (помните про близость к пользователю?), тут выбирать не нужно, код запустится из самого ближнего к пользователю edge (!) сервера. Обычно эта штука стоит недешево, здесь она примерно в 3-10 раз дешевле, чем у конкурентов. Весь этот банкет за счет того, что наш код работает не контейнерах, а v8-изолятах, то есть частично — на движке гугл-хрома! (тут рассказано, как их выбрали). Но это всё закуска, кайф — дальше.

У облачных функций есть слабое место — координация пользователей. Например, мы хотим сделать копию сервиса Гугл-документов или сервис чатов — то есть несколько людей подключаются к одной программе, могут в неё писать и читать общие данные. Решений два — либо запускаем программу по-старинке, один экземпляр на сервере и храним данные в памяти (быстро!), либо запускаем в функциях, но тогда нужна будет очень быстрая общая база данных и то скорость будет ниже, потому что функциям нужно будет ходить в центральную базу данных.

Cloudflare эту проблему решили с помощью Durable Objects — это такие воркеры, которые а) уникальны, то есть гарантированно запускается только один экземпляр б) имеют доступ к надежному и быстрому хранилищу в) запускаются там, где большинство пользователей и могут самостоятельно мигрировать между серверами. Получается, что большинство операций происходят в памяти, но при этом самостоятельная серверная программа не нужна. Красиво! В статье примеры каунтера и чата, простота кода впечатляет.

Отдельно подчеркну достойную документацию и хороший инструментарий разработчика.

Перечисленное выше — базовые технологии, на которых можно строить впечатляющие бизнес-решения.
источник
Пятничный деплой
источник
Пятничный деплой
источник
2021 January 12
Пятничный деплой
Всего 2 месяца отделяют вас от должности архитектора ПО!

Если у вас достаточно опыта в IT и вы настроены двигаться дальше по карьерной лестнице, онлайн-курс «Архитектор ПО» в этом поможет!

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

Вас ждут:
— 2 месяца насыщенной программы;
— 11 модулей и 40 онлайн-уроков;
— готовый toolkit для входа в профессию;
— задания, основанные на реальных кейсах;
— дипломный проект, который дополнит портфолио.

Для первых студентов действует скидка до 60%, а также рассрочка на 12 месяцев. Переходите: https://clc.am/hY9pAg и записывайтесь!
источник
Пятничный деплой
📺 Наткнулся на занятный Youtube канал (с учётом возраста канала и количества подписчиков, странно, что я не видел его раньше), где автор весьма подробно, буквально на пальцах объясняет различные линуксово-секурити-ctf темы. Из того что уже посмотрел, после чего решил сюда его принести:

•  Kernel Root Exploit via a ptrace() and execve() Race Condition.
•  Syscalls, Kernel vs. User Mode and Linux Kernel Source Code.

#видео #linux #security
источник
Пятничный деплой
источник
Пятничный деплой
#data
Отличный курс лекций про данные от Ростелека и вендоров: https://www.youtube.com/playlist?list=PLlCP3a0hjY50I5mumo_YCu7IEDjiUpEWO
З.Ы. лекции 1.1-1.3 вводные, их можно пропустить
источник
2021 January 13
Пятничный деплой
#машины_разное

Во время своего выступления Дор Лаор, СЕО Scylla анонсировал новый проект Cerci, который в корне меняет структуру консенсуса ScyllaDB.

Взамен Paxos в ядро этого немалоизвестного конкурента Cassandra и DynamoDB будет использоваться Raft, что по словам Дора сделано в угоду консистентности и позволяет быстрее синхронизировать новые узлы в кластере.

Интересно попробовать собрать POSIX FS over Scylla... когда-нибудь.
источник
Пятничный деплой
Juicefs  - a distributed POSIX file system built on top of Redis and S3.

#redis #s3 #posix #hdfs #golang #filesystem
источник
Пятничный деплой
👨🏻‍🎓
«В Яндексе десятки тысяч машин, которые постоянно нагружены под завязку разными вычислительными задачами. Бо́льшая часть этих вычислений относится к так называемой batch-нагрузке — как правило, оформленной в виде операций в парадигме MapReduce. Мы используем собственную систему YT, которая предоставляет распределённый storage и интерфейс запуска распределённых вычислений с произвольным пользовательским кодом. В докладе я расскажу о задачах, возникающих при попытке написать софт, который будет что-то планировать на кластерах из большого количества машин

Архитектура отказоустойчивого планировщика задач. Доклад Яндекса
источник
Пятничный деплой
Используем аналог s3 на localhost - MinIO для хранения файлов
https://rogs.me/2021/01/using-minio-to-upload-to-a-local-s3-bucket-in-django/
источник
Пятничный деплой
источник
Пятничный деплой
Фаерволы, файрволы, фаэрволы 🔐 Подкаст с участием Бориса Лыточкина — эксперта по сетям в Яндексе

Боря Лыточкин, он же Злой NOC — cетевой прораб Яндекса с 12-летним стажем, обладатель ачивки «сломал Яндекс». Отвечает за сеть в офисах компании и служебные сети дата-центров.

Первая часть подкаста на всех платформах: https://linkmeup.ru/blog/603.html. Темы:

Разбираемся в различиях:
— Роутеров и фаерволов
— Аппаратных фаерволов от тазиков (программных на -nix)
— NAT от фаерволов

Области, где требуется фильтрация (сегментация) пакетов:
— Граница Автономной Системы (border) — много полосы, потенциальная асимметрия
— ACL со стороны апстрима — зачем это может быть нужно?
— Групп сетей availability zone, проект, серверный/пользовательский
— На конечных устройствах серверах, ноутбуках, ПК, мобильники — зачем вообще, от кого защищаемся
— AntiDDoS, bypass (on wire/programmable)

Address planing — взаимосвязь количества правил фильтрации и количества маршрутов на сети.

Типы файрволов:
— L3/L4 пакетные фильтры — stateless TCAM-based
— Full-software processing L3/L4/dumb DPI — iptables/nftables/ipfw/pf/etc
— DPI (snort/suricata): RST generation vs filtering
— DPI + TCAM-based acceleration
— DPI и IPS, почему это не одно и то же

Режим работы файрвола — stateless vs stateful: что хранится в state, как используется.

-------------

Вторая часть будет в это воскресенье, 17 января, в 15:00 мск. Темы:

— Сколько надо поставить NAT, вебкамер и винбоксов, чтобы не попасть на Хабр
— Режим работы фаервола — stateless vs stateful
— NAT или нет NAT, вот в чём вопрос
— High availability как у сына маминой подруги

Почитать подробные тезисы, добавить в календарь и задать вопросы можно здесь: https://linkmeup.ru/blog/606.html
источник