Вместо того, чтобы ронять прод, можно сделать то же самое на симуляторе — при этом без риска получить выговор. И такой симулятор есть — Semicolony. Он популярен среди инженеров, которые готовятся к серьезным собеседованиям, или кто хочет глубже разобраться в надежности и архитектуре крупных веб-сервисов. Вы можете изменять параметры сети, имитировать сбои серверов и сразу видеть, как это влияет на систему.
На платформе представлено более 40 различных симуляторов. Например:
⚪️Постепенное развертывание в Kubernetes. Работа с контроллером через
maxSurge и maxUnavailable и завершение работы пода.⚪️Распределенный консенсус. Визуализация того, как узлы в сети выбирают лидера, как происходит репликация логов и что случается, если часть серверов внезапно уходит в офлайн.
⚪️Теорема CAP. Симулятор, позволяющий «разрезать» сеть (создать network partition) и в реальном времени увидеть, как распределенная система жертвует либо согласованностью данных, либо доступностью.
⚪️Консистентное хеширование. Помогает понять, как распределяется нагрузка в базах данных и кэшах. Вы можете добавлять или удалять узлы и наблюдать, как перебалансируются данные с минимальными потерями.
⚪️Структуры данных (B-Trees и LSM-Trees). Показывают «подкапотную» часть современных баз данных. Можно увидеть, как индексируются данные, как разрастаются деревья и как происходит слияние таблиц.
⚪️Сетевые протоколы. Пошаговые интерактивные разборы DNS-резолвинга и TLS-рукопожатия, показывающие, какими именно пакетами обмениваются клиент и сервер для установки защищенного соединения.
@DevOpsKaz 😛
