Forwarded from addmeto (Grigory Bakunov)
Что произошло с фейсбуком Пролистал большую статью от https://blog.cloudflare.com/october-2021-facebook-outage/ клаудфлер про сегодняшнее падение фейсбука, решил написать свою, сильно более простую. Сегодня приблизительно в 19:45 по Москве оглушительно рухнул Фейсбук и почти все его внешние и внутренние сервисы. Лежал Facebook, Messenger, Instagram, WhatsApp, лежали корпоративные и бизнес-сервисы фейсбука, не отвечали ни сайты ни мобильные приложения.
Что произошло: судя по всему кто-то из сетевых администраторов внес изменения в конфигурацию сети фейсбука, причем так, что большая часть этой сети перестала существовать. Интернет, который многие считают единой сетью на самом деле состоит из большого количества более мелких сетей, по сути это сетка сеток. Чтобы информация из одной подсети попадала в другую, была построена система обмена информацией о конфигурации и расположении узлов в подсетях, маршрутизаторы обмениваются друг с другом информацией о расположении подведомственных им сетей по протоколу BGP.
Так вот, одна из таких подсетей анонсировала всем внутри и снаружи что часть сети фейсбука теперь находится не у нее. Так получилось, что именно в этой подсети жили NS-сервера, отвечающие за домены, принадлежащие компании, а значит начиная с какого-то момента все, кто пытался узнать на каком IP-адресе находится facebook.com стали получать пустой ответ. Последствия предсказуемы: не работает фейсбук и все его сервисы у пользователей, внешних и внутренних.
Почему так долго: вместе с тем сотрудники фейсбука оказались в незавидном положении - недоступны все внутренние ресурсы компании, включая мессенджеры и корпоративные адресные книги. Нельзя зайти в офис (часть офисов пускали только по беджикам, которые привязаны к интернет-авторизации), потеряны почти любые привычные способы коммуникации. В добавок ко всему большую часть проблем можно было решить только при физическом доступе к серверам, который существенно осложнен привычной расслабленностью удаленной работы. Первые признаки восстановления систем можно было заметить уже после 12 ночи, т.е. через 3 часа глухого молчания.
При этом крепко досталось всему интернету. Лежали почти все крупные соцсети, которым внезапно достался трафик фейсбука - люди не найдя привычной инсты и вотсапа пошли искать спасения в твиттере и телеграмме. Получившие новый трафик поначалу радовались, но потом начали стонать под полученной неожиданно нагрузкой. Сильно пострадали все публичные DNS сервера - мобильные клиенты facebook и все сайты, где была авторизация через facebook или кнопка like безостановочно DDoSили свои днс запросами к несуществующему фейсбуку. Трафик некоторых мобильных приложений вырос в 30-50 раз. Впечатляет?
Будет ли такое повторяться? Будет. Потому что современный интернет все еще базируется на принципах, которые были выработаны 30, а иногда и больше лет назад. Никто тогда не думал о глобальной мировой сети, за прошедшие годы человечество построило интернет таким, какой он есть сейчас - централизованным, уязвимым, и потому не устойчивым. Последние выключения cloudflare, amazon, facebook и других крупных интернетообразующих сервисов показали, насколько хрупкая конструкция этот наш интернет. И кажется это то, что срочно пора исправить.
Что произошло: судя по всему кто-то из сетевых администраторов внес изменения в конфигурацию сети фейсбука, причем так, что большая часть этой сети перестала существовать. Интернет, который многие считают единой сетью на самом деле состоит из большого количества более мелких сетей, по сути это сетка сеток. Чтобы информация из одной подсети попадала в другую, была построена система обмена информацией о конфигурации и расположении узлов в подсетях, маршрутизаторы обмениваются друг с другом информацией о расположении подведомственных им сетей по протоколу BGP.
Так вот, одна из таких подсетей анонсировала всем внутри и снаружи что часть сети фейсбука теперь находится не у нее. Так получилось, что именно в этой подсети жили NS-сервера, отвечающие за домены, принадлежащие компании, а значит начиная с какого-то момента все, кто пытался узнать на каком IP-адресе находится facebook.com стали получать пустой ответ. Последствия предсказуемы: не работает фейсбук и все его сервисы у пользователей, внешних и внутренних.
Почему так долго: вместе с тем сотрудники фейсбука оказались в незавидном положении - недоступны все внутренние ресурсы компании, включая мессенджеры и корпоративные адресные книги. Нельзя зайти в офис (часть офисов пускали только по беджикам, которые привязаны к интернет-авторизации), потеряны почти любые привычные способы коммуникации. В добавок ко всему большую часть проблем можно было решить только при физическом доступе к серверам, который существенно осложнен привычной расслабленностью удаленной работы. Первые признаки восстановления систем можно было заметить уже после 12 ночи, т.е. через 3 часа глухого молчания.
При этом крепко досталось всему интернету. Лежали почти все крупные соцсети, которым внезапно достался трафик фейсбука - люди не найдя привычной инсты и вотсапа пошли искать спасения в твиттере и телеграмме. Получившие новый трафик поначалу радовались, но потом начали стонать под полученной неожиданно нагрузкой. Сильно пострадали все публичные DNS сервера - мобильные клиенты facebook и все сайты, где была авторизация через facebook или кнопка like безостановочно DDoSили свои днс запросами к несуществующему фейсбуку. Трафик некоторых мобильных приложений вырос в 30-50 раз. Впечатляет?
Будет ли такое повторяться? Будет. Потому что современный интернет все еще базируется на принципах, которые были выработаны 30, а иногда и больше лет назад. Никто тогда не думал о глобальной мировой сети, за прошедшие годы человечество построило интернет таким, какой он есть сейчас - централизованным, уязвимым, и потому не устойчивым. Последние выключения cloudflare, amazon, facebook и других крупных интернетообразующих сервисов показали, насколько хрупкая конструкция этот наш интернет. И кажется это то, что срочно пора исправить.
The Cloudflare Blog
Understanding how Facebook disappeared from the Internet
Today at 1651 UTC, we opened an internal incident ennoscriptd "Facebook DNS lookup returning SERVFAIL" because we were worried that something was wrong with our DNS resolver 1.1.1.1. But as we were about to post on our public status page we realized something…
addmeto
Что произошло с фейсбуком Пролистал большую статью от https://blog.cloudflare.com/october-2021-facebook-outage/ клаудфлер про сегодняшнее падение фейсбука, решил написать свою, сильно более простую. Сегодня приблизительно в 19:45 по Москве оглушительно рухнул…
https://9to5mac.com/2019/03/14/facebook-outage/
короч это уже было в симпсонах (с)
тоже самое было и в 2019 у них
короч это уже было в симпсонах (с)
тоже самое было и в 2019 у них
9to5Mac
Telegram benefits from what is said to be Facebook’s most severe global outage
The BBC suggests that yesterday's Facebook outage – which also impacted Facebook Messenger, WhatsApp and Instagram – was the most severe one ever ...
== Python 3.10
https://www.opennet.ru/opennews/art.shtml?num=55907
оптимизации порадовали
Ссл порадовал
И мелочевка при аннотировании типов
https://www.opennet.ru/opennews/art.shtml?num=55907
оптимизации порадовали
Ссл порадовал
И мелочевка при аннотировании типов
www.opennet.ru
Выпуск языка программирования Python 3.10
После года разработки представлен значительный выпуск языка программирования Python 3.10. Новая ветка будет поддерживаться в течение полутора лет, после чего ещё три с половиной года для неё будут формироваться исправления с устранением уязвимостей.
вау. можно на мардауне спокойно и удобно писать не только документацию но и презентации делать
https://marp.app/
https://marp.app/
marp.app
Marp: Markdown Presentation Ecosystem
Marp (also known as the Markdown Presentation Ecosystem) provides an intuitive experience for creating beautiful slide decks. You only have to focus on writing your story in a Markdown document.
== Hardware, характеристики, numbers you should know
https://youtu.be/aOWSJxl4MYc
хорошая лекция про цифры в Computer Science которые надо знать
https://youtu.be/aOWSJxl4MYc
хорошая лекция про цифры в Computer Science которые надо знать
YouTube
Инструменты Промышленной Разработки. Лекция 12. Hardware, характеристики, numbers you should know
Шикарнейшая лекция по LLVM
== Компиляторы, LLVM
https://youtu.be/lgzxifLoY4E
блин. на полке целая книжка про LLVM все никак не доползу почитать
== Компиляторы, LLVM
https://youtu.be/lgzxifLoY4E
блин. на полке целая книжка про LLVM все никак не доползу почитать
YouTube
Инструменты Промышленной Разработки. Лекция 13. Компиляторы, LLVM
минмалистичный доклад про мап редьюс, хадупы и проблемы этого подхода https://youtu.be/aceBLW_cmuQ
YouTube
Приглашенный доклад (Данила Кутенин, 02.11.2020)
== заметки по выбору шифров в тлм 1.3
https://habr.com/ru/post/554070/
https://habr.com/ru/post/554070/
Хабр
Заметки по выбору шифров для TLS 1.3
После дискуссии с коллегами о TLS 1.3 в целом и прикладном использовании идущих в комплекте с ним шифров я решил кратко изложить основы, которые не худо было бы знать любому разработчику. Мне хотелось...
== что такое драйвер устройства ?
https://youtu.be/8yqNfAsKZus
https://youtu.be/8yqNfAsKZus
YouTube
Что такое драйвер устройства?
Рассматривается понятие драйвера и типичный путь прохождения запроса на запись и чтение данных от приложения до устройства.
В формате текста - https://zen.yandex.ru/media/id/5ebe63d184a8a27314377e2b/ot-tranzistora-do-freimvorka-chast-21-draiver-ustroistva…
В формате текста - https://zen.yandex.ru/media/id/5ebe63d184a8a27314377e2b/ot-tranzistora-do-freimvorka-chast-21-draiver-ustroistva…
== Аппаратное прерывание
https://youtu.be/AzXR1IUww7Q
== Программное прерывание
https://youtu.be/UkbXs94fRN0
https://youtu.be/AzXR1IUww7Q
== Программное прерывание
https://youtu.be/UkbXs94fRN0
YouTube
Аппаратное прерывание
Одно из самых важных понятий в понимании операционных систем. После понимания прерываний открыты буквально все двери. Не проходите мимо)
В формате текста - https://zen.yandex.ru/media/id/5ebe63d184a8a27314377e2b/ot-tranzistora-do-freimvorka-chast-19-apparatnoe…
В формате текста - https://zen.yandex.ru/media/id/5ebe63d184a8a27314377e2b/ot-tranzistora-do-freimvorka-chast-19-apparatnoe…
== Адресное пространство
https://youtu.be/P-MRbkePbyE
- логический адрес (для ассемблера)
- адресные регистры (Page Address Register) нужен для вычисления реального адреса =
- регистры атрибутов страниц (говорит о том где именно находится эта страница) = перемещаемость, чтение, запись, выполнение
- регистры присутствия страниц и дескриптор процесса
- привилегированность процесса (можно все, ограничения)
х86:
- биос
- таблицы символов
- видеопамять
- свободная память
- данные биос
- вектора прерываний
== Менеджер памяти
https://youtu.be/_mDAMquAwPY
- динамическое выделение памяти
maloc/free
- фрагментация памяти
== Дисковая подсистема
https://youtu.be/MeRIcJs-pnI
v = bytes * sectors * disks * i
== SSD накопитель
https://youtu.be/-dKku_EfnMk
SLC - одна ячейка = 1 бит
MLC - одна ячейка = 2 бит
TLC - одна ячейка = 3 бит
== Файловая система SSD накопителя.
https://youtu.be/Q7drAKYkj00
FAT: boot, reserv, fat, fat backup, root, data
boot:
- кол-во байт в секторе
- кол-во секторов в кластере
- кол-во секторов в дорожке
- кол-во FAT таблиц
- кол-во секторов всего
- метка тома
- ...
root это список файлов и адрес первого кластера файла в FAT
в FAT лежит уже указатель на следующий кластер в FAT. если больше нет то записано FFFF а если FFF7 то файл поврежден
так же про EXT
так же про F2FS
https://youtu.be/P-MRbkePbyE
- логический адрес (для ассемблера)
- адресные регистры (Page Address Register) нужен для вычисления реального адреса =
- регистры атрибутов страниц (говорит о том где именно находится эта страница) = перемещаемость, чтение, запись, выполнение
- регистры присутствия страниц и дескриптор процесса
- привилегированность процесса (можно все, ограничения)
х86:
- биос
- таблицы символов
- видеопамять
- свободная память
- данные биос
- вектора прерываний
== Менеджер памяти
https://youtu.be/_mDAMquAwPY
- динамическое выделение памяти
maloc/free
- фрагментация памяти
== Дисковая подсистема
https://youtu.be/MeRIcJs-pnI
v = bytes * sectors * disks * i
== SSD накопитель
https://youtu.be/-dKku_EfnMk
SLC - одна ячейка = 1 бит
MLC - одна ячейка = 2 бит
TLC - одна ячейка = 3 бит
== Файловая система SSD накопителя.
https://youtu.be/Q7drAKYkj00
FAT: boot, reserv, fat, fat backup, root, data
boot:
- кол-во байт в секторе
- кол-во секторов в кластере
- кол-во секторов в дорожке
- кол-во FAT таблиц
- кол-во секторов всего
- метка тома
- ...
root это список файлов и адрес первого кластера файла в FAT
в FAT лежит уже указатель на следующий кластер в FAT. если больше нет то записано FFFF а если FFF7 то файл поврежден
так же про EXT
так же про F2FS
YouTube
Адресное пространство
Адресное пространство это одно из основных понятий системного программирования. Описываем регистры и оборудование разработанного ранее учебного компьютера.
Статья - https://zen.yandex.ru/media/id/5ebe63d184a8a27314377e2b/ot-tranzistora-do-freimvorka-chast…
Статья - https://zen.yandex.ru/media/id/5ebe63d184a8a27314377e2b/ot-tranzistora-do-freimvorka-chast…
== Строим 16-битный компьютер
https://youtu.be/0SGeL8q6Diw
- архитектура
- инструкции и базовый список команд, дешефратор
* префикс 2 бит
* команда 5бит
* 2-3 регистра
== Процессы. Многозадачность.
https://youtu.be/Xa_LcBLfy6g
сохранение контекста процесса это как заморозить мяса в холодильнике (с) =)
... и так каждый квант времени
== Поток. Многопоточность.
https://youtu.be/-52NxdPgbXE
функция ядра для блокировки
https://youtu.be/0SGeL8q6Diw
- архитектура
- инструкции и базовый список команд, дешефратор
* префикс 2 бит
* команда 5бит
* 2-3 регистра
== Процессы. Многозадачность.
https://youtu.be/Xa_LcBLfy6g
сохранение контекста процесса это как заморозить мяса в холодильнике (с) =)
... и так каждый квант времени
== Поток. Многопоточность.
https://youtu.be/-52NxdPgbXE
функция ядра для блокировки
YouTube
Строим 16-битный компьютер
Перед рассмотрением курса по основам операционных систем ознакомимся с техническими подробностями железа, на котором это все будет работать. Современные компьютеры слишком сложны, поэтому нужно рассмотреть простой учебный компьютер
== UNIX. Творение ученых в недрах лаборатории
https://youtu.be/VFyYWzhdL2c
"все есть файл" и это все поменяло
https://youtu.be/VFyYWzhdL2c
"все есть файл" и это все поменяло
YouTube
UNIX. Творение ученых в недрах лаборатории
Пройдемся по истории и предыстории, затронем массу технических вопросов, посмотрим на схемы
Статьи на Пульс: https://pulse.mail.ru/source/3768777279273129127
Основы операционных систем: https://www.youtube.com/watch?v=0SGeL8q6Diw&list=PL5NHx3fCeyvvkRU0XgoNMrPksqUneGufJ…
Статьи на Пульс: https://pulse.mail.ru/source/3768777279273129127
Основы операционных систем: https://www.youtube.com/watch?v=0SGeL8q6Diw&list=PL5NHx3fCeyvvkRU0XgoNMrPksqUneGufJ…
== Функциональные узлы цифровых устройств.
https://youtu.be/M-SNYCgKqZE
1) мультиплексор = N входнов, M управляющих входов, 1 выход
2) демультиплексор = 1 вход, M управляющих входов, N выходов
3) Шифратор - говорит какой вход получил 1.
4) Дешифратор - по адресу входа выводит на конкретный выход 1
5) декодер (кодопреобразователь) - преобразует код входа в код выхода
== АЛУ
https://youtu.be/ded0iOVZhSA
1) полусумматор - 2 входана которые подаются два однобитных числа и выходом суммы и выходом переноса
2) полный сумматор
== Базовый элемент памяти. Триггер.
https://youtu.be/1e2WcPn4cKA
D-триггер
== Память со случайным доступом. Оперативная память. RAM.
https://youtu.be/To6L93LvxtQ
Random Access Memory
Static RAM
Dynamic RAM
более плотная, но при этом полный адрес ячейки определяется двумя адресами за два тата RAS (row address select) и CAS (column address select)
== Как работает процессор
https://youtu.be/deQ7BlznZhE
== Первая программа на ассемблере.
https://youtu.be/sAfajgahNF8
Ассемблер это НЕ ЯЗЫК а программа которая переводит мнемонику в машинный код.
== Цикл https://youtu.be/S4UkoxDayVE
== Массивы https://youtu.be/EDA1G0gu-1M
== Функции. Передача параметров. Возврат результата. ABI.
https://youtu.be/kDTk8Mq3Bn8
стековый фрейм
SP - Stack Pointer
ABI - Application Binary Interface
== Рекурсивные функции
https://youtu.be/OvGwfHWcJ0c
Жестокое надругательство над психикой, но детей от экранов можно не убирать (с)
== Структуры. Первый шаг к объектно-ориентированному программированию.
https://youtu.be/5inZ1T2mEeU
== Указатели в Си. Второй шаг к объектно-ориентированному программированию.
https://youtu.be/uHNw_6TIM_4
https://youtu.be/M-SNYCgKqZE
1) мультиплексор = N входнов, M управляющих входов, 1 выход
2) демультиплексор = 1 вход, M управляющих входов, N выходов
3) Шифратор - говорит какой вход получил 1.
4) Дешифратор - по адресу входа выводит на конкретный выход 1
5) декодер (кодопреобразователь) - преобразует код входа в код выхода
== АЛУ
https://youtu.be/ded0iOVZhSA
1) полусумматор - 2 входана которые подаются два однобитных числа и выходом суммы и выходом переноса
2) полный сумматор
== Базовый элемент памяти. Триггер.
https://youtu.be/1e2WcPn4cKA
D-триггер
== Память со случайным доступом. Оперативная память. RAM.
https://youtu.be/To6L93LvxtQ
Random Access Memory
Static RAM
Dynamic RAM
более плотная, но при этом полный адрес ячейки определяется двумя адресами за два тата RAS (row address select) и CAS (column address select)
== Как работает процессор
https://youtu.be/deQ7BlznZhE
== Первая программа на ассемблере.
https://youtu.be/sAfajgahNF8
Ассемблер это НЕ ЯЗЫК а программа которая переводит мнемонику в машинный код.
== Цикл https://youtu.be/S4UkoxDayVE
== Массивы https://youtu.be/EDA1G0gu-1M
== Функции. Передача параметров. Возврат результата. ABI.
https://youtu.be/kDTk8Mq3Bn8
стековый фрейм
SP - Stack Pointer
ABI - Application Binary Interface
== Рекурсивные функции
https://youtu.be/OvGwfHWcJ0c
Жестокое надругательство над психикой, но детей от экранов можно не убирать (с)
== Структуры. Первый шаг к объектно-ориентированному программированию.
https://youtu.be/5inZ1T2mEeU
== Указатели в Си. Второй шаг к объектно-ориентированному программированию.
https://youtu.be/uHNw_6TIM_4
YouTube
Функциональные узлы цифровых устройств.
Постарайтесь запомнить назначение этих узлов и через пару-тройку видео сможем без особого труда заняться разработкой своего собственного процессора
шикарнейший плейлист про историю и архитектуру старых вычислительных систем.
== Микропроцессоры и архитектуры прошлого
https://www.youtube.com/playlist?list=PL5NHx3fCeyvsHbGENJn6hpij9FrrGb92r
== Микропроцессоры и архитектуры прошлого
https://www.youtube.com/playlist?list=PL5NHx3fCeyvsHbGENJn6hpij9FrrGb92r
YouTube
Микропроцессоры и архитектуры прошлого - YouTube
== How Developers Stop Learning: Rise of the Expert Beginner
https://daedtech.com/how-developers-stop-learning-rise-of-the-expert-beginner/
https://daedtech.com/how-developers-stop-learning-rise-of-the-expert-beginner/
DaedTech
How Developers Stop Learning: Rise of the Expert Beginner - DaedTech
In this post, I describe the phenomenon of the so-called expert beginner -- someone with mediocre skill who thinks he's an expert.