Книжный куб
11.1K subscribers
2.67K photos
6 videos
3 files
1.97K links
Рекомендации интересных книг, статей и выступлений от Александра Поломодова (@apolomodov), технического директора и эксперта в архитектуре
Download Telegram
В начале апреля у меня будет экзамен по Kubernetes для сдачи на сертификат, потому что старый сертфикат expired и пришло время проходить экзамен заново:)
Для меня подготовка к экзамену - это возможность снова погрузиться в мир распределенных систем и современной инфраструктуры.
Причем важно, что погружение предстоит не только теоретическое, но и практическое - ведь для сдачи экзамена надо уметь решать реальные задачи на скорость.
В итоге, я написал короткую статью на тему подготовки - https://apolomodov.medium.com/cka-exam-preparation-part-0-4fa4afd9414c
А вот маленький Illustrated Children's Guide, который мне очень нравится и который подходит тем, кто просто хочет узнать что такое Kubernetes - https://www.youtube.com/watch?v=3I9PkvZ80BQ

#Software #Infrastructure #Kubernetes #ExternalReview
🔥6👍3
Kubernetes Patterns (Рубрика #Architecture)

В последнее время я читаю много информации про Kubernetes для прохождения повторной сертификации.
Среди читаемого есть как мануалы с официального сайта, так и интересные книги с платформы O'Reilly и даже playbook'и от katacoda.com.
Но сегодня я решил всвпомнить про книгу "Kubernetes Patterns", которая не так полезна в сертификации, как в понимании того, какие абстракции дает K8s разработчикам в построеннии их сервисов.
По структуре книга напоминает классическую книгу “Design Patterns” банды четырех, которая содержала creational, structural и behavioral паттерны. Но у нас здесь 5 категорий паттернов:
- Foundation patterns - базовые блоки k8s, на основе которых строится все остальное
- Behavioral patterns - поведенческие паттерны, которые позволяют добиться желаемого поведения, например, запуска периодических job или приложения синглтона
- Structural patterns - структурные паттерны, которые показывают как можно расширить функционал основного контейнера добавив другие контейнеры в pod
- Configuration patterns - конфигурационные паттерны, которые позволяют эффективнее управлять конфигурацией ваших приложений
- Advanced patterns - продвинутые паттерны, которые раскрывают темы того, как работает сам k8s и как его можно расширять

Подробнее можно почитать в статье в моем блоге

#Software #Infrastructure #Kubernetes #Patterns #Architecture #DistributedSystems
👍3
Вчера я получил отбивку о том, что успешно сдал экзамен CKA (Certified K8s Administrator Exam) и сразу после этого решил написать обзор по отличному курсу подготовки к этому экзамену от Sander van Vugt. Курс доступен на платформе O'Reilly, в нем 11 часов видео и при большом желании его можно успеть посмотреть за 1 день. Краткий обзор курса в статье - https://bit.ly/CKAPrepCourse

А теперь кратко зачем я заморочился с изучением деталей K8s и сдачей экзамена, в котором надо решить 17 практических задач за 2 часа
Я считаю, что K8s достаточно интересно спроектирован
- декларативное описание целевого состояния вместо императивного
- концепция control loop’ов для поддержания состояния
- подход с тотальным decoupling частей k8s (labels и концепция селекторов)
- отличный способ для имплементации 12 factor app
- крутой пример проектирования с продумыванием точек расширения
...

Рекомендую изучение K8s для улучшения понимания как проектировать системы
#Kubernetes #Infrastructure #Architecture #Software #ExternalReview
👍10🎉5
Посмотрел сегодня документальный фильм про Kubernetes, который рассказывает как этот оркестратор появился и как стал стандартом де-факто для оркестрации контейнеров.
Фильм получился очень интересным и показал, что
- для захвата доли на cloud рынке Google пришлось придумать что-то новое
- это что-то новое решили делать по моделе Open Source и в итоге создать отдельную структуру Cloud Native Computing Foundation и задонатить в нее
- совместная работа разных заинтересованных лиц RedHat, Google, ... помогла проекту влючить разный опыт участников и совместно двигать проект вперед
- успешный пилот с Pokemon Go, инфраструктура которого была развернута поверх K8s, показал, что оркестратор имеет большие перспективы
- ну и еще ряд интересных моментов, например, размер изначальной команды в несколько человек или очень камерный первый Kubecon:)

В общем, смотреть было интересно. Фильм состоит в сумме из двух частей, которые в сумме составляют порядка часа
- Part 1 - https://www.youtube.com/watch?v=BE77h7dmoQU
- Part 2 - https://www.youtube.com/watch?v=318elIq37PE

#Kubernetes #Film #Documentary #Software
👍8🔥7
KubeCon + CloudNativeCon North America 2023 (6-8 ноября в Чикаго ... или онлайне)

В 2019 году я был на европейском Kubecon в Барселоне. Там было больше 7к посетителей и мне конфа отлично зашла. В конце 2019 года я сгонял еще с коллегами на Software Architecture Conference от O'Reilly в Берлине (я писал про то, как планировал поехать и какие впечатления были в итоге: 1 и 2). На 2020 год у меня уже была куча планов, включая посещение Kubecon в Северной Америке, но долбанул ковид и все зарубежные конференции отменились. В 2021 году все так же было нельзя ездить зарубеж и я от нечего делать смотреть виртуально Kubecon Eu 2021, о чем даже написал 3 статьи: 1, 2 и 3. В 2022 опять людям было не до зарубежных конференций, причем даже в онлайне их смоттреть не хотелось:) Но в 2023 году я решил глянуть осенний Kubecon виртуально - больно интересен этот домен. Я бы съездил бы и в оффлайне, но доехать в Чикаго у меня не получится - нет американской визы.

P.S.
С точки зрения виртуальной конфы Kubecon в 2021 году был сделан отлично, главное выделить себе время на ее посещение - а я постараюсь выделить:) Кроме того, виртуальный Kubecon стоит денег: до 7 июля стоимость всего 15$, а потом она увеличивается в 5 раз до $75, поэтому есть смысл поторопиться.

#Conference #Software #SoftwareArchitecture #SystemDesign #DistributedSystems #Kubernetes #Architecture
👍9
Platform Engineering on Kubernetes • Mauricio Salatino & Thomas Vitale • GOTO 2023

Интересное интервью с Mauricio Salatino, автором книги "Platform Engineering on Kubernetes" в котором обсуждаются следующие темы

- Open-Source: The gateway to continuous learning in software engineering - как автор книги занялся open source проектами и как это ему помогло стать лучше с точки зрения software engineering
- Mastering the Cloud-Native ecosystem: Insights from a Kubernetes expert - про то, как появилась идея книги + как сложно собрать набор cloud-native проектов, для решения реальных задач (и как автор выбрал набор таких проектов, а потом менял их по мере изменения CNCF ландшафта)
- Navigating the Cloud-Native maze: A developer's guide to tools & ecosystem - тут автор рассказывает как ориентироваться в этом ландшафте и как разные части этого ландшафта стыкуются друг с другом
- Streamlining Cloud-Native deployment: tools, techniques & infrastructure - рассказ про структуру книги: деплой приложения, билдинг артефактов, изменения инфры под кластером, ... И так он приходит к концепции платформы поверх K8s
- Simplify & scale: Leveraging Knative for containerized application deployment - обсуждение части книги про Knative в разрезе более простого релиза приложений без погружения в модель K8s. Рассказ про a/b тестирование и feature flags
- Dapr: Empowering developers & simplifying infrastructure - обсуждение Dapr (distributed application runtime)
- Unveiling capabilities: Delivering functionality stealthily without tool exposure - как предоставить capabilities так, чтобы это было в форме абстракций, а не конкретных инструментов (knative, dapr, ...). Тут идет речь про platform API, которые предоставляют API более высокого уровня абстракции, чем просто голый K8s и прикрученные сбоку проекты из CNCF ландшафта. Это основная содержательная часть интервью
- Kubernetes: Is it a boon or bane for your organization? - как организации начинат использовать Kubernetes и как они приходят к platform engineering
- Developer experience: Tools should be enablers, not blockers - сложно добавить что-то к заголовку:)

P.S.
Расшифровка интервью доступна здесь.

#SoftwareDevelopment #Kubernetes #DistributedSystems #PlatformEngineering #Software #Architecture #SoftwareArchitecture
👍4🔥21
Code of Architecture - Kubernetes Patterns, 2nd Edition

В голосовании на выбор новой книги победило второе издание "Kubenetes Patterns", что вышло в марте 2023. В ближайшее время мы начнем ее читать и планируем управиться за три-четыре выпуска. Если вам интересна эта тема, то для вас есть пара ресурсов, что могут быть полезны
- Бесплатная версия ebook от RedHat доступна здесь
- Мой обзор первого издания книги есть в статье. Во втором издании добавилась часть про security patterns и была сильно отредактирована часть про advanced patterns (про elastic scale и image builder)
- Поверх Kubernetes стали строиться платформы и про эту концепцию можно посмотреть интервью Mauricio Salatino, автора книги "Platform Engineering on Kubernetes", про которое я писал раньше

#Kubernetes #SoftwareArchitecture #Software #Architecture #Patterns #DIstributedSystems
👍8🔥53
Первый выпуск Code of Architecture по книге "Kubernetes Patterns (2 edition)"

В понедельник в 18:00 по Москве мы начнем читать новую книгу, которая победила в голосовании пользователей.
И начнется обсуждение с самого простого - мы поговорим про вводную главу и дальше про первую часть книги с фундаментальными паттернами.

В первой главе пойдет речь про
- самые основы в виде 12-factor application как некий стандарт для приложений
- базовые концепции k8s контейнеров, подов, сервисов, labels и namespaces

А в части про фундаментальные паттерны мы поговорим про
- как описывать зависимости приложения
- как декларативно задавать как оно должно разворачиваться
- как делать health checks приложений
- как выглядит управление жизненным циклом приложения
- как происходит автоматическое размещения рабочих нагрузок в кластере и как мы можем на это влиять как разработчики приложений

Гость эфира — наш коллега Станислав Сычев, руководитель команды Runtime Platform. Его команда строит крупные K8s-кластеры и продумывают, как в них жить множественным потребителям.

Ждем всех завтра на канале "Code of Architecture".

P.S.
Перед первым выпуском вы все еще можете скачать бесплатную версию ebook от RedHat и прочитать мой обзор первого издания книги.

#CoA #SoftwareDevelopment #SoftwareArchitecture #Architecture #SystemDesign #Kubernetes #DistributedSystems
👍105🔥3
Обзор whitepaper "Design patterns for container-based distributed systems"

Недавно я прочитал whitepaper 2016 года, в котором Brendan Burns и David Oppenheimer рассказывали про паттерны для проектирования распределенных систем, которые возникли в контейнерном мире . Я нашел эту статью, когда готовился к выпускам "Code of Architecture" по книге "Kubernetes Patterns". Статья показалась мне интересной с точки зрения истории, так как один из соавторов статьи (Brendan Burns) является одновременно соавтором Kubernetes.

В этой статье авторы проводят параллели между паттернами из объектно-ориентированного программирования и паттернами для контейнеров, которые дают полезные абстракции для построения распределенных систем. Они рассматривают три варианта паттернов:
— Паттерны уровня одного контейнера
— Паттерны уровня одной машины (single-node)
— Паттерны уровня многих машин (multi-node)

Подробнее в статье в моем блоге. Приложил несколько иллюстраций из статьи, чтобы наглядно показать содержание whitepaper.

#SoftwareDevelopment #SoftwareArchitecture #Architecture #SystemDesign #Kubernetes #DistributedSystems #ExternalReview
👍103🔥2😎1
Второй выпуск Code of Architecture по книге "Kubernetes Patterns (2 edition)"

Сегодня в 18:00 по Москве мы продолжим обсуждать книгу про паттерны и сфокусируемся на поведенческих паттернах.
Мы поговорим про взаимодействие Pods и самой платформы.
А также обсудим:
— какие бывают типы заданий (jobs) в k8s;
— какие виды запуска pods обеспечивает k8s;
— можно ли построить stateful-приложение с помощью стандартных инструментов k8s;
— как в k8s происходит Service Discovery;
— и что pod может узнать сам о себе от платформы

Гостями эфира станут
1. Михаил Кабищев из Ozon, он руководит разработкой платформы, которая делает жизнь dev-команды легче и проще.
1. Салих Фахрутдинов, Senior SRE инженер из Tinkoff Origination Platform, который отвечает за надежность заявочного процесса в нашей компании

P.S.
Если вам интересны эти выпуски, то подписывайтесь на канал Code of Architecture в Youtube и канал Code of Architecture в telegram.

#CoA #Kubernetes #Architecture #Software #SoftwareArchitecture #SystemDesign #DistributedSystems
👍65🔥1
DevOps-эры в Тинькофф: культура, люди, инструменты. Станислав Халуп

Крутое выступление от моего бывшего коллеги, Станислава Халупа. Я про это выступление вспоминаю достаточно часто в контексте того, как изменялась инженерная культура в Тинькофф. Стас кончено очень крут, но вот выступал он не так часто:)
В этом выступлении Стас прикольно рассказал про то, как мы проходили этапы Банка -> Внутренних стартапов -> Экосистемы. И как эти этапы драйвили развитие DevOps внутри нашей компании. Этому докладу уже пару лет и с тех пор мы продвинулись на пути создания внутренней платформы разработки, но причины и цели трансформаций в докладе изложены отлично.

#Devops #Software #Conference #Kubernetes #Architecture #DistributedSystems #PlatformEngineering #Engineering
👍9🔥32
Третий выпуск Code of Architecture по книге "Kubernetes Patterns (2 edition)"

Сегодня в 18:00 по Москве мы продолжим обсуждать книгу про паттерны и сфокусируемся на структурных паттернах и паттренах конфигурации.
Мы поговорим про организацию контейнеров внутри Pods, а также обсудим, стоит ли смешивать конфигурации системы с ее исходным кодом, и какие подходы для работы с конфигурациями предоставляет k8s. Детальнее разберем
— какой жизненный цикл для задач инициализации предоставляет k8s;
— как можно расширить функциональность существующего контейнера, никак его не изменяя;
— как организовать доступ к внешним сервисам;
— когда нужно использовать переменные окружения, ConfigMaps и Secrets для конфигурационной информации;
— можно ли создавать свои шаблоны конфигураций.

Гости выпуска
— Максим Снежков, тимлид команды Runtime Compute Tinkoff. Максим автоматизирует поставку k8s и интеграцию с инфраструктурой.
— Михаил Кабищев из Ozon, он руководит разработкой платформы, которая делает жизнь dev-команды легче и проще.

P.S.
Если вам интересны эти выпуски, то подписывайтесь на канал Code of Architecture в Youtube и канал Code of Architecture в telegram.

#Kubernetes #Architecture #Software #SoftwareArchitecture #SystemDesign #DistributedSystems
6🔥2👍1
Четвертый выпуск Code of Architecture по книге "Kubernetes Patterns (2 edition)"

Сегодня в 18:00 по Москве мы закончим обсуждать книгу про паттерны K8s и сфокусируемся на паттернах безопасности и продвинутых паттернах, которые не подошли ни к одной из предыдущих категорий, описанных в книге.

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

Гость эфира — мой коллега Станислав Сычев, руководитель команды Runtime Platform. Его команда строит крупные K8s-кластеры и продумывают, как в них жить множественным потребителям.

P.S.
Если вам интересны эти выпуски, то подписывайтесь на канал Code of Architecture в Youtube и канал Code of Architecture в telegram.

#Kubernetes #Architecture #Software #SoftwareArchitecture #SystemDesign #DistributedSystems
👍5🔥42
Книжный клуб CoA — Recap of "Kubernetes Patterns (2 edition)"

Этот июль в нашем книжном клубе "Code of Architecture" был посвящен обсуждению книги про паттерны использования Kubernetes, которую мы рассмотрели в четырех выпусках. В приведенной по ссылке статье я хотел поделиться всеми материалами и напомнить краткое содержание того, что мы успели обсудить. Если вам понравиться обзор, то вы можете скачать бесплатную версию ebook от RedHat и сравнить содержание второго издания с первым, прочитав мой обзор прошлого издания книги

#Kubernetes #Architecture #Software #SoftwareArchitecture #SystemDesign #DistributedSystems
🔥62👍2