Рубрика «Анализ и проектирование систем» - 91

Итак, продолжаем тему, начатую неделю назад. В прошлый раз своими взглядами на непрерывную защиту веб-приложений поделился разработчик WAF. Сегодня я хотел бы рассказать о том, как это задача решается в центре мониторинга и реагирования на кибератаки Solar JSOC. Под катом — все о боевой эксплуатации WAF: какие методы работы мы считаем наиболее эффективными, как атакуют веб-сервисы наших заказчиков и как отрабатывает (и иногда не отрабатывает) WAF.

Проблема непрерывной защиты веб-приложений. Взгляд со стороны исследователей и эксплуатантов. Часть 2 - 1
Читать полностью »

Исследование устойчивости национальных сегментов сети - 1
Топ-20 устойчивых регионов за 2017 год на карте мира

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

На глобальную доступность любого оператора связи влияют его пути до Tier-1 операторов. Tier-1 — транснациональные/трансконтинентальные операторы, обеспечивающие глобальную связность между континентами и странами.

Если отсутствуют пути до Tier-1 операторов — оператор не будет иметь глобальную доступность.
Читать полностью »

В прошлой статье я сказал, что числовые атрибуты напрямую связаны с операциями, которые мы проводим над объектами. При этом натуральные числа – самый простой из рассматриваемых нами атрибутов. Есть и более сложные. Например, матрицы. Если мы говорим о свойстве линейного преобразования в трехмерном пространстве, то оно записывается 9-ю числовыми значениями, из которых удобно сформировать матрицу размером 3 на 3. Причина этого в том, что два преобразования, выполненных последовательно, — тоже преобразование, числовые атрибуты которого могут быть получены путем перемножения двух матриц. В этом сила моделирования преобразования при помощи матрицы.

Я бы много отдал, чтобы преподавание математики строилось именно таким способом: через практическую задачу, через ввод нужных объектов (чисел, матриц, волновых функций) и объяснение, как операции над ними помогают решать конкретные задачи. Именно так строилось обучение в физмат школе, в которой мне довелось учиться – в интернате №18 при МГУ, спасибо преподавателям!
Читать полностью »

FMC (fixed mobile convergence) — это новое технологическое решение на стыке разных типов сетей связи: фиксированной и мобильной. С его помощью любая организация может создать единую сеть офисных и мобильных телефонов с общим планом короткой нумерации. Технология дает возможность созваниваться напрямую по коротким внутренним номерам сотрудникам вне офисов в разных регионах страны или мира без использования реальной офисной АТС.
Читать полностью »

Фото очереди в мавзолей Мао Цзэдуна —  BrokenSphere / Wikimedia Commons

В проекте, над которым я сейчас работаю, применяется распределённая система обработки данных: сначала несколько десятков машин одновременно производят некоторые сообщения, затем эти сообщения отправляются в очередь, из очереди три потока извлекают сообщения и после финальной обработки выкладывают данные в базу Redis. При этом имеется требование: от «зарождения» события в машине, производящей сообщение, до выкладывания обработанных данных в базу должно проходить не более четырёх секунд в 90% случаев.

В какой-то момент стало очевидно, что мы это требование не выполняем, несмотря на затрачиваемые усилия. Несколько произведённых измерений и маленький экскурс в теорию очередей привели меня к выводам, которые я бы хотел донести до себя самого несколько месяцев назад, когда проект только начинался. Отправить письмо в прошлое я не могу, но могу написать заметку, которая, возможно, избавит от неприятностей тех, кто только задумывается над тем, чтобы применять очереди в собственной системе.
Читать полностью »

Сотни контейнеров. Миллионы внешних запросов. Миллиарды внутренних транзакций. Мониторинг и нотификации проблем. Простое масштабирование. 99% up time. Деплои и откатывание релизов.

Kubernetes & production — быть или не быть? - 1

Kubernetes как решение всех проблем! «Быть или не быть?» — вот в чем вопрос!
Читать полностью »

Первая часть публикации вызвала определённый интерес, пришёл ряд откликов, среди которых есть один, который хочется отметить особо: «жаль, нельзя скачать с гитхаба половину автомата и допилить под свою задачу, все надо делать самостоятельно. Если бы был некий стандарт записи автомата в какой-нибудь xml, позволяющий обмен автоматными алгоритмами, плюс некая «стандартная библиотека», возможно, все бы было иначе […] речь идёт о выдумывании какого-то «обобщенного состояния» и «обобщенного автомата», построении библиотеки таких автоматов с возможностью их комбинировать так же просто, как вызываются функции в языках». Отвечу читателю и всем, кто знаком с темой программных автоматов, но не удовлетворён нынешним положением дел (а оно в целом неудовлетворительное): мы обратимся именно к такой постановке вопроса, после того как будет достаточно очерчен предмет разговора.
Сегодняшняя статья посвящена теоретическим, идейным и психологическим аспектам автоматов. Рассмотрев их, мы снова вернёмся на прагматические позиции, которые были заявлены в начале цикла публикаций.

Читать полностью »

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

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

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

Что, если выкинуть все лишнее из базы в распределенный кэш – наш опыт использования Hazelcast - 1

Так как базы данных Яндекс.Денег вынуждены хранить массу второстепенной и временной информации, однажды такое решение перестало быть оптимальным. Поэтому в инфраструктуре появился распределенный Data Grid с функциями in-memory базы данных на базе Hazelcast.

В обмен на стабильно высокую производительность и отказоустойчивость мы получили любопытный опыт внедрения, который не во всем повторяет документацию. Под катом вы найдете рассказ о решении проблем Hazelcast при работе под высокой нагрузкой, борьбе со Split Brain, а также впечатления от работы с распределенным хранилищем данных в большой инфраструктуре.Читать полностью »

Доставка миллиардов сообщений строго один раз - 1Единственное требование ко всем системам передачи данных состоит в том, что нельзя потерять данные. Данные обычно могут поступить с опозданием или их можно запросить заново, но их никогда нельзя терять.

Чтобы удовлетворить этому требованию, большинство распределённых систем гарантирует по крайней мере однократную доставку. Техники обеспечения «по крайней мере однократной доставки» обычно сводятся к «повторам, повторам и повторам». Вы никогда не считаете сообщение доставленным, пока не получите чёткое подтверждение от клиента.

Но как пользователю по крайней мере однократная доставка — это не совсем то, что я хочу. Я хочу, чтобы сообщения доставлялись один раз. И только один раз.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js