Компонент Kubernetes, который абстрагирует работу с API облачных провайдеров.
Изначально облачная логика была внутри kube-controller-manager. Начиная с Kubernetes 1.6, CCM выделен в отдельный процесс/Deployment и берёт на себя задачи, связанные с облаком: создание LoadBalancer, управление нодами, маршрутизация и пр.
CCM включает контроллеры (node, route, service), которые отслеживают состояние кластера и вызывают облачные API для синхронизации. Например, при создании Service типа LoadBalancer CCM запрашивает у провайдера балансировщик. Это позволяет использовать Kubernetes в мультивендорных средах без «вшивания» логики конкретного облака в ядро.
Примечание: для хранилищ сейчас обычно используются CSI-драйверы; исторически облачные диски интегрировались через провайдер в Kubernetes.
Автоматически создаёт облачный балансировщик для Service.
Добавляет/удаляет ноды, выставляет providerID и метки (например, зона доступности).
Настраивает маршрутизацию между нодами, если это требуется конкретным провайдером.
CCM предоставляет интерфейс для Cluster Autoscaler, чтобы динамически добавлять/удалять ноды в облаке при изменении нагрузки. Без CCM автоскейлинг ограничен локальными кластерами; с ним — полноценно работает в облаке.
#полезное
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🔥4👏2
В официальном блоге Kubernetes есть статья о классической проблеме инициализации Cloud Controller Manager после выноса cloud-provider из ядра.
— Зависимость от нод.
При старте kubelet с
--cloud-provider=external получают запрещающую метку (taint)node.cloudprovider.kubernetes.io/uninitialized:NoSchedule. CCM должен снять эту запрещающую метку и добавить облачные сведения (адреса, метки). Если CCM развёрнут как Deployment/DaemonSet без необходимых допусков (tolerations), он может не запуститься на таких нодах.
— Каскадный эффект. Неинициализированные узлы блокируют запуск CCM, тот — снятие запрещающей метки. Параллельно CNI может ждать IP от CCM, узлы получают
node.kubernetes.io/not-ready, и система зацикливается.— Задержки.
Новый процесс инициализации добавляет задержки по сравнению с прежним поведением, когда kubelet сразу заполнял данные узла.
—
hostNetwork: true. Чтобы CCM использовал сетевой стек хоста и имел доступ к конечным точкам (endpoints) и API провайдера.
— Deployment/DaemonSet + механизм leader-election.
Разворачивайте как управляемый ресурс и включайте
--leader-elect=true при нескольких репликах, чтобы избежать гонок. — Размещение на control plane.
Задайте nodeSelector:
{ node-role.kubernetes.io/control-plane: "" } и добавьте podAntiAffinity, чтобы реплики не оказывались на одном хосте. — Явные допуски (tolerations).
node.cloudprovider.kubernetes.io/uninitialized:NoSchedulenode-role.kubernetes.io/control-plane:NoSchedule и/или node-role.kubernetes.io/master:NoSchedulenode.kubernetes.io/not-ready:NoExecute и node.kubernetes.io/unreachable:NoExecute (иногда может потребоваться и NoSchedule).Дополнение: автоскейлинг по размеру кластера для CCM не рекомендуется; несколько реплик нужны для отказоустойчивости, а не для ускорения работы.
#заметкиИнженера
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥4❤3😢1
Позволяет монтировать удалённые директории как локальные, делая их доступными для нескольких хостов. Используется в кластерах, NAS и облаках для общего хранилища.
— Архитектура «клиент-сервер»: сервер экспортирует каталоги, клиенты их монтируют
— RPC-протокол: для управления подключениями (порт 111)
— NFS-демоны: nfsd обрабатывает запросы, mountd управляет монтированием
— Версии протокола: NFSv3 (UDP/TCP), NFSv4 (TCP, встроенная аутентификация)
# Установка пакета
sudo apt install nfs-kernel-server
# Создаём экспортируемый каталог
sudo mkdir /srv/share
sudo chown nobody:nogroup /srv/share
Конфигурация
/etc/exports:
/srv/share 192.168.1.0/24(rw,sync,no_subtree_check)
—
rw/ro — чтение-запись или только чтение—
sync/async — синхронная/асинхронная запись—
no_subtree_check — отключение проверки поддеревьев—
no_root_squash — доступ root без преобразования—
all_squash — всех пользователей отображать в nobody—
anonuid/anongid — явное указание UID/GID для анонимных пользователей
# Установка пакета
sudo apt install nfs-common
# Монтирование каталога
sudo mount -t nfs server-ip:/srv/share /local/mount
NFS — классика для общих файловых систем в Linux, идеально для кластеров или бэкапов
#линуксятина
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12❤4👏3🔥2
От монолита на «железе» и каскада — к микросервисам в контейнерах, облаку и DevOps.
Четыре составляющие подхода:
— Процесс:
Waterfall сменили Agile и DevOps — короткие итерации, автоматизация, CI/CD.
— Архитектура:
от монолита к микросервисам с независимыми релизами.
— Развёртывание:
от серверов в стойках и ВМ к образам Docker и контейнерам.
— Инфраструктура: вместо своих стоек — облако как базовая среда.
#полезное
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥4👏2
Кейс: Гибридное облако и DBaaS для поставщика электроэнергии
📞 Задача
⚪️ Обеспечить гарантированную доступность ИТ-сервисов.
⚪️ Сформировать целевую гибридную архитектуру с учётом территориальных ограничений и пошагового плана миграции.
⚪️ Закрыть дефицит компетенций по администрированию СУБД через модель сервиса (DBaaS).
🖲️ Этапы реализации
⚪️ Совместная рабочая группа: аудит текущей инфраструктуры, расчёт TCO и выбор сервисной модели.
⚪️ Проектирование целевой гибридной архитектуры с размещением в ЦОД Новосибирска; подготовка ТЗ и требований к SLA.
⚪️ План миграции с обходными сценариями под технические ограничения и распределённые площадки.
⚪️ Перенос критичных сервисов поэтапно с контролем доступности; ввод в промышленную эксплуатацию.
⚪️ Подключение DBaaS: обслуживание >200 БД (в т.ч. InterSystems IRIS и MS SQL) силами команды CORTEL.
⚪️ Настройка 24×7 поддержки и регламентов взаимодействия по SLA.
🚩 Результат
⚪️ Доступность 99,982% в год на новой гибридной архитектуре (ранее — 96,15%).
⚪️ 100% клиентов перешли на онлайн-сервисы благодаря модернизации и новому качеству обслуживания БД.
⚪️ Выгода сервисной модели: −59% к TCO относительно модернизации собственных ЦОД (по расчёту до старта проекта).
⚪️ Гарантированный SLA до 99,99% по критичным сервисам и работа 24×7 без зависимости от отпусков и замен в ИТ-штате.
⚪️ Быстрое закрытие дефицита компетенций: DBaaS вместо долгого найма редких DBA под кастомные решения.
✉️ Подробнее о проекте читайте здесь.
#изПрактики
«Мы скрупулёзно проработали ТЗ и требования к качеству. На выбранной гибридной архитектуре обеспечили непрерывность работы приложений и предсказуемый SLA; команда CORTEL быстро погрузилась и качественно оказывает сервис».
— директор по ИТ «НовосибирскЭнергоСбыт»
#изПрактики
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6👍3👏2
Удалёнка вошла в норму: четверть занятых в стране уже трудится из дома, а австралийские учёные выяснили, что лучше всего использовать гибридный режим.
Чтобы не словить минусы удалёнки
А еще разминки для тела и глаз
😄 — дом
👍 — офис
🔥 — гибрид
P.S. Не забудьте закрыть ноутбук на эти два дня, хороших выходных
#MentalDebug
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥32😁8👍7❤1😱1
С 1 сентября 2025 года внесены изменения: новые сроки, официальный стандарт ПНСТ 1007-2025 и типовые отраслевые объекты.
#статья
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4👍2🔥2
PodDisruptionBudget (PDB) - это объект Kubernetes, который ограничивает количество одновременно недоступных подов во время добровольных вытеснений (voluntary disruptions).
PDB не защищает от аппаратных сбоев или проблем с нодами. Его задача — сделать плановые работы предсказуемыми и безопасными.
Без PDB:
— При drain ноды Kubernetes может одновременно выключить все поды
— Rolling update может убить старые поды до запуска новых
— Обновление кластера = лотерея доступности сервиса
С PDB:
— Гарантируется минимальное количество работающих реплик
— Контролируется максимальное количество одновременно недоступных подов
— Плановые работы перестают влиять на SLO
apiVersion: policy/v1
kind: PodDisruptionBudget
metadata:
name: payment-service-pdb
spec:
minAvailable: 2 # Всегда должно быть доступно не менее 2 подов
selector:
matchLabels:
app: payment-service
Можно использовать для сервисов, где каждая недоступная реплика влияет на бизнес-метрики.
apiVersion: policy/v1
kind: PodDisruptionBudget
metadata:
name: kafka-pdb
spec:
maxUnavailable: 1 # Одновременно может быть недоступен только 1 под
selector:
matchLabels:
app: kafka-broker
Можно использовать для stateful-приложений (БД, очереди), где одновременный уход нескольких реплик может нарушить консистентность.
— При drain ноды kubectl drain node-1 — kubelet проверяет PDB перед каждым вытеснением
— При rolling update — Deployment согласует обновление с ограничениями PDB
— При ручном удалении kubectl delete pod — PDB может заблокировать операцию
PodDisruptionBudget — это не опция, а обязательный инструмент для любого продакшн-сервиса в Kubernetes.
Он превращает потенциально опасные операции в контролируемые процессы и позволяет соблюдать SLO даже во время плановых работ.
#заметкиИнженера
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🔥4👏2
Позволяет моделировать отказы и оркестровать сценарии через CRD и удобную веб-панель (Chaos Dashboard).
— Типы экспериментов: PodChaos, NetworkChaos, IOChaos, TimeChaos, DNSChaos, StressChaos, KernelChaos, а также облачные сбои.
— Оркестрация сценариев через Chaos Workflows, в том числе проверки статуса и последовательности шагов.
— Управление через Kubernetes API/kubectl и Web-UI; все сущности оформлены как CRD.
— Безопасность: ограничение пространств имён, аутентификация, admission-webhook и RBAC-контроль.
— Интеграции: GitHub Actions (chaos-mesh-action) для запуска экспериментов в CI.
— Установка через Helm-чарт
Полезно для проверки устойчивости сервисов к сбоям до продакшена и выявления «узких мест» инфраструктуры.
#полезное
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥2👏2
В Linux есть встроенные утилиты для анализа в реальном времени
— top / htop: Мониторинг процессов, CPU, памяти в реальном времени.
— iostat: Статистика ввода-вывода (диски, I/O bottlenecks).
— vmstat: Виртуальная память, CPU, процессы (общая нагрузка).
— netstat / ss: Сетевые соединения, порты, статистика трафика.
top # запуск, Shift+P для сортировки по CPU, Shift+M по памяти q для выхода.
htop # аналогично top, но удобнее;
iostat -x 1 5 # расширенный вывод, интервал 1с, 5 итераций
(показывает %util — загрузку дисков, await — время отклика).
vmstat 1 5 # интервал 1с, 5 итераций
(показывает r/b — процессы в очереди/блоке, swpd — swap, si/so — swap in/out).
netstat -tuln # TCP/UDP listening порты
ss -tuln # аналог netstat
ss -tp 'state established' # активные TCP-соединения с процессами.
Эти утилиты — первый инструмент при любой диагностике проблем с производительностью. Не заменяют полноценные системы мониторинга, но дают мгновенную картину происходящего в системе.
#линуксятина
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥3❤2👏2
SLA/SLO — обещанная и целевая доступность;
MTTR/MTBF — скорость восстановления и частота отказов;
RTO/RPO— время восстановления и допустимые потери данных при аварии;
TCO— совокупная стоимость владения.
Разберём их в виде глоссария:
Фиксирует качество сервиса в числах: доступность, ошибки, время ответа.
*обеспечивает выполнение обязательств, снижает штрафы и споры, задаёт понятные приоритеты.
Стандартизирует действия во время сбоя.
*сокращает MTTR, уменьшает потери выручки и репутации, помогает удерживать SLA/SLO.
Фиксирует, что произошло, почему это случилось и что нужно изменить, чтобы больше не повторилось.
* уменьшает повторные сбои и риски, повышает надёжность сервиса и накапливает знания для аудита и обучения.
Диагностирует неизвестные проблемы через исследование метрик, логов и трейсов.
* уменьшает время диагностики, поддерживает достижение SLO, убирает «слепые зоны».
Проводит поэтапный вывод обновлений с контролем трафика и быстрым откатом при проблемах.
* снижает релиз-инциденты, сокращает MTTR, уменьшает стоимость сбоев.
Размещает сервис в нескольких зонах/регионах, хранит копии данных, автоматически переключает трафик, регулярно проверяет восстановление из резервных копий.
* предсказуемые RTO/RPO, соблюдение требований, меньше простоев и ниже TCO.
Стандартизирует и автоматизирует типовые операции: перезапуск, откат, переключение трафика и т.д.
*сокращает MTTR и операционную рутину (toil), обеспечивает предсказуемые результаты.
Проводит запланированные эксперименты: отключение зависимостей, задержки, падение узлов и т.д., проверяет реакцию и восстановление сервиса.
*снижает частоту и длительность сбоёв, помогает удерживать SLA/SLO, уменьшает незапланированные расходы.
Измеряет повторяющиеся ручные задачи и устраняет их.
*высвобождает время инженеров на улучшения и фичи, уменьшает TCO.
#полезное
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7❤2👍2
Практическое руководство по тому, как мыслить, работать и строить команды в парадигме SRE, отвечающие за надежность современных сервисов.
— что такое SRE, чем оно отличается от DevOps и классической эксплуатации;
— менталитет SR-инженера: системное мышление, фокус на клиенте, работа с инцидентами и обратной связью;
— культура SRE и «продвижение» надежности внутри компании;
— как стать SR-инженером: переход из разработки, админства, нетехнических ролей, поиск работы и собеседования;
— один день из жизни SR-инженера, рутина, борьба с выгоранием и устойчивые рабочие практики;
— факторы успеха и типичные провалы при внедрении SRE в организации;
— иерархия надежности Дикерсона, модели команд SRE и этапы развития практики SRE в компании;
— дополнительные ресурсы, письма «молодому SRE» и советы от опытных практиков.
Полезно начинающим и действующим SR-инженерам, DevOps- и платформенным командам, инженерам эксплуатации, техлидам и руководителям ИТ, которые хотят системно подойти к надежности и выстроить зрелую практику SRE в своей организации.
Автор:
Дэвид Н. Бланк-Эдельман.
Издательство:
O’Reilly / «Спринт Бук», рус. изд., 2025.
#книги
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🔥2👏2
This media is not supported in your browser
VIEW IN TELEGRAM
sl — консольная утилита, которая запускает анимацию паровоза в ASCII-графике, когда вы вместо ls набираете sl .
Работает как обычная команда:
ввёл sl — поехал поезд, терминал на пару секунд превращается в анимированный скринсейвер.
# Debian / Ubuntu
sudo apt install sl
# Fedora
sudo dnf install sl
# Arch / Manjaro
sudo pacman -S sl
P.S. хороших выходных
#rootoffun
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9👍8😁7👏2❤1
#ИТиЗАКОН
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8😢3😁2
📦 Три типа хранилища
Наглядная схема от ByteByteGo.
➡️ Блочное хранилище (Block Storage)
Сервер получает необработанные блоки (том) и сам решает, как их использовать: под файловую систему, базу данных, виртуальные машины.
Подходит для задач, когда:
— требуются высокие IOPS и низкая задержка;
— нужно хранить данные СУБД;
— разворачиваются диски виртуальных машин и другие критичные транзакционные сервисы.
➡️ Файловое хранилище (File Storage)
Поверх блоков поднимается файловая система с привычной моделью «папки/файлы», доступной по сети (NFS, SMB).
Подходит для задач, когда:
— нужны общие папки для команд и проектов;
— требуется хранить логи, артефакты сборки и общий контент;
— к одним и тем же файлам обращаются несколько серверов.
➡️ Объектное хранилище (Object Storage)
Данные хранятся в виде отдельных объектов в общем пространстве, без привычных папок. Доступ к ним идёт через API (часто S3-совместимый). Такой подход делает упор на большой масштаб, надёжность и низкую стоимость, а не на максимальную скорость.
Подходит для задач, когда:
— нужны недорогие и надёжные объёмы хранения на терабайты и выше;
— требуется хранить бэкапы, архивы, статику и медиа;
— накапливаются данные для аналитики и построения data lake.
#полезное
Наглядная схема от ByteByteGo.
Сервер получает необработанные блоки (том) и сам решает, как их использовать: под файловую систему, базу данных, виртуальные машины.
Подходит для задач, когда:
— требуются высокие IOPS и низкая задержка;
— нужно хранить данные СУБД;
— разворачиваются диски виртуальных машин и другие критичные транзакционные сервисы.
Поверх блоков поднимается файловая система с привычной моделью «папки/файлы», доступной по сети (NFS, SMB).
Подходит для задач, когда:
— нужны общие папки для команд и проектов;
— требуется хранить логи, артефакты сборки и общий контент;
— к одним и тем же файлам обращаются несколько серверов.
Данные хранятся в виде отдельных объектов в общем пространстве, без привычных папок. Доступ к ним идёт через API (часто S3-совместимый). Такой подход делает упор на большой масштаб, надёжность и низкую стоимость, а не на максимальную скорость.
Подходит для задач, когда:
— нужны недорогие и надёжные объёмы хранения на терабайты и выше;
— требуется хранить бэкапы, архивы, статику и медиа;
— накапливаются данные для аналитики и построения data lake.
#полезное
Please open Telegram to view this post
VIEW IN TELEGRAM
❤7👍5🔥3
Экосистема инструментов вокруг Argo CD
— инструмент для быстрого развертывания и управления ArgoCD по принципу "GitOps для самого ArgoCD".
— инструмент для автоматического обновления образов в приложениях ArgoCD до последних версий.
— расширение для управления постепенным развертыванием (canary, blue-green) в Kubernetes.
— Превращает шаблоны на базе Helm, Kustomize и Jinja2 в Kubernetes-манифесты, а также автоматически создает ресурсы Argo CD Application, адаптированные для разных окружений
#полезное
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6🔥2👏2
Экосистема инструментов вокруг FluxCD
— оператор для автоматизации canary-релизов в Kubernetes, часто используемый с FluxCD.
— корпоративная платформа GitOps на основе Flux с веб-интерфейсом, RBAC и расширенной аналитикой.
— инструмент для организации мультитенантной работы в FluxCD, позволяющий изолировать команды и среды в рамках одного кластера.
— официальный Terraform провайдер для развертывания и управления FluxCD через Infrastructure as Code.
#полезное
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5👍2🔥2
В блоге Kubernetes объявили о поэтапном завершении поддержки Ingress NGINX.
Ingress — это Kubernetes-ресурс, который описывает, как внешний HTTP/HTTPS-трафик попадает к сервисам внутри кластера: хосты, пути, TLS, балансировка нагрузки.
Без него каждый сервис приходится выводить наружу через NodePort или отдельный LoadBalancer, что быстро становится неудобно в production.
Сам по себе Ingress — это только декларация. Работу за него делает Ingress-контроллер: отдельный компонент, который отслеживает создание и изменение Ingress-ресурсов через Kubernetes API и на их основе настраивает прокси или балансировщик (NGINX, Envoy, HAProxy и т.п.).
Ingress NGINX — это один из таких контроллеров. Он использует NGINX, парсит Ingress-ресурсы и генерирует для него конфигурацию.
Его массово выбрали как «дефолтное» решение за счёт:
— простого старта;
— хорошей производительности;
— богатого набора функций (rate limiting, авторизация, тонкая настройка через аннотации).
Ingress NGINX давно жил в режиме «минимально достаточной поддержки». На фоне высокой популярности проект сталкивался с одними и теми же ограничениями:
— мало мейнтейнеров,
— сложная кодовая база,
— растущий backlog issues и PR.
Решение о завершении поддержки — логический итог этого накопившегося технического и организационного долга.
— Поддержка Ingress NGINX заявлена до марта 2026 года.
— До этого момента будут выходить критические обновления безопасности.
— Текущие развёртывания продолжают работать в прежнем режиме.
— Образы контейнеров, Helm-чарты и другие артефакты остаются доступными.
#заметкиИнженера
Please open Telegram to view this post
VIEW IN TELEGRAM
😢5😱3❤2👍2
Обзор альтернативных контроллеров на замену Ingress NGINX
По сравнению с Ingress он:
— поддерживает более сложные сценарии маршрутизации (canary, A/B-тесты и др.);
— вводит чёткое разделение ролей между инфраструктурой и приложениями;
— становится отраслевым стандартом, который поддерживают разные вендоры и open source-проекты.
— динамическая конфигурация без перезапуска;
— встроенный dashboard для мониторинга и отладки;
— поддержка нескольких протоколов (HTTP, TCP, gRPC, WebSocket).
— высокая производительность и предсказуемое поведение под нагрузкой;
— развитые возможности балансировки и тонкая настройка;
— подробные метрики для интеграции с системами мониторинга.
— расширенные возможности для интеграции с service mesh;
— гибкая конфигурация через xDS-API;
— активное развитие и поддержка со стороны сообщества и вендоров.
— Сложность миграции с существующих конфигураций Ingress NGINX
— Поддержка Gateway API — становится ключевым критерием
— Производительность под вашу нагрузку
— Экосистема и сообщество вокруг проекта
Gateway API постепенно закрепляется как отраслевой стандарт. При выборе имеет смысл учитывать зрелость поддержки Gateway API, поскольку от этого зависят перспективы его долгосрочного использования.
#полезное
Please open Telegram to view this post
VIEW IN TELEGRAM
❤7👏3👍2🔥2
— мощная утилита для бенчмаркинга и стресс-тестирования систем хранения. Она стала стандартом для измерения реальной производительности дисков, SSD и массивов хранения.
— Тестирование различных паттернов доступа (seq/random read/write)
— Поддержка синхронных и асинхронных операций ввода-вывода
— Работа с разными блочными размерами и глубиной очереди
— Эмуляция реальных рабочих нагрузок (базы данных, файловые серверы)
— Детальная статистика по задержкам и пропускной способности
--rw: режим операции (read, write, randread, randwrite, randrw)--bs: размер блока (например, 4k, 1M)--size: общий объем данных для операции--runtime: длительность теста в секундах--numjobs: количество параллельных задач--ioengine: механизм I/O (libaio, sync, io_uring)--filename: файл или устройство для тестированияБазовый тест последовательной записи:
fio --name=seq_write --rw=write --bs=1M --size=1G --filename=./testfile
Тест случайного чтения (4K, типично для БД):
fio --name=rand_read --rw=randread --bs=4k --size=1G --filename=./testfile
Многопоточный тест с глубиной очереди:
fio --name=multithread --rw=randrw --bs=4k --numjobs=4 --iodepth=32 --size=1G --filename=./testfile --group_reporting
— BW (Bandwidth) — пропускная способность (MB/s)
— IOPS — операции ввода-вывода в секунду
— latency — задержки (min, max, avg, 95th percentile)
— slat/clat — задержки на уровне системы и устройства
Вместо расплывчатого значения «диск медленный» fio показывает конкретные цифры: скажем, 1500 IOPS при random read 4K с задержкой 15 ms. По этим данным уже можно предметно искать проблемы в хранилище и сравнивать производительность разных систем.
#линуксятина
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9❤3🔥3
Подробное руководство о том, как проектировать и развивать системы, работающие с большими объёмами данных: от выбора моделей и хранилищ до надёжной распределённой архитектуры.
— что такое data-intensive приложения и базовые требования к надёжности, масштабируемости и сопровождаемости;
— модели и хранение данных: реляционные, документные, графовые БД, внутреннее устройство движков, индексы, журналы, структуры данных вроде B-деревьев и LSM-деревьев;
— распределённые системы: репликация, шардирование, транзакции, согласованность, консенсус и компромиссы CAP/PACELC;
— обработка данных: batch- и stream-подходы, события и лог, конвейеры на базе Hadoop, Spark, Kafka, Flink;
— архитектурные решения: как трезво оценивать инструменты, читать документацию и строить системы, устойчивые к росту нагрузки и сбоям.
Полезно бэкенд-разработчикам, инженерам данных, архитекторам, DevOps- и платформенным командам, тимлидам и техническим руководителям, которые принимают решения о том, какие БД, брокеры и пайплайны данных использовать и как связать всё это в цельную систему.
Автор:
Мартин Клеппман.
Издательство:
СПб.: Питер, 2018. серия «Бестселлеры O’Reilly».
#книги
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥2👏2