Программирование Cloud Native. Микросервисы, Docker и Kubernetes
Программирование Cloud Native. Микросервисы, Docker и Kubernetes
Разработка приложений и микросервисов в стиле Cloud Native. Упаковка микросервисов в контейнеры Docker, развертывание микросервисов с помощью Kubernetes. Управление развернутыми сервисами и их взаимодействие.
О книге
В этой книге мы взглянем на концепцию Cloud Native - создание приложений, "рожденных" для облака, узнаем о 12 факторах, вспомним как появились технологии виртуализации и масштабирования, разберем что именно принесут нам контейнеры Docker и микросервисы, и увидим, как настройка и оркестровка Kubernetes позволяет развернуть систему любой сложности в любом облаке и мгновенно приспособить ее к растущим нагрузкам.
Используя подход Cloud Native, мощь вычислительных облаков Cloud, и обеспечиваемый ими легкий доступ к прорывным технологиям, точную настройку и изоляцию деталей контейнеров Docker, и оркестровку контейнеров и микросервисов с помощью Kubernetes, вы сможете обслуживать миллионы запросов пользователей так легко, как если бы вы с полной уверенностью показали идеально настроенное приложение на вашем ноутбуке.
Содержание
-
Введение
- Актуальность и глубина информации. Онлайн-документация
- Аудитория книги
- Программирование и архитектура. Концепция Cloud Native
- Русскоязычные термины
- Пользовательские интерфейсы
- Примеры и их тестирование на GitHub
- Выбор Go и Java
- Сторонние библиотеки и инструменты
- Основные провайдеры облачных услуг - Amazon, Google, Microsoft
- Дополнительные форматы книги на ipsoftware.ru
- Открытый текст. Благодарности
-
1. Приложения, созданные для облака — концепция Cloud Native
- Основные положения концепции Cloud Native
- Микросервисы — быстрый цикл разработки и постоянный выпуск
- Контейнеры — изоляция и гарантия неизменяемости версий
- Облако — неизменная эластичная инфраструктура. “Феникс” вместо “снежинки”
- Оркестровка Kubernetes — декларативное описание состояния
- Инструменты для сбора журналов и наблюдения
- Разработка на практике — 12 факторов облачного приложения
- Резюме
-
2. Микросервисы
- Монолиты
- Архитектура на основе сервисов (SOA)
- Микросервисы по Мартину Фаулеру
- Разбиение системы на микросервисы
- Обратная сторона медали
- Резюме
-
3. Контейнеры и Docker
- Контейнеры — это Linux
- Docker
- Образы (image) Docker
- Интерактивные контейнеры — запуск и управление на примере образа Ubuntu
- Открытие мира для контейнера — веб-сервер nginx и работа с портами
- Резюме
-
4. Создание образов Docker. Команды Dockerfile
- Структура Dockerfile. Основные команды. Базовый образ
- Создание образов для приложений Java, Go, Node.js
- Многоступенчатая сборка. Размер образа image
- Репозитории образов. Метки, версии и latest
- Альтернативы Dockerfile. Jib
- Альтернативы Dockerfile. Buildpacks
- Резюме
-
5. Первые шаги в Kubernetes
- Первые выводы
- Первое развертывание
- Сервисы Kubernetes — точка доступа к масштабируемому приложению
- Отладка сервисов — переадресация портов
- Доступ к сервису из Интернета — балансировщик нагрузки
- Доступ к журналам (logs)
- Простое горизонтальное масштабирование
- Удаление развертывания и сервиса
- Визуальное представление кластера
- Версии Kubernetes
- Резюме
-
6. Объекты Kubernetes. YAML. Декларативное управление кластером
- Несколько слов об «ужасах» YAML
-
Объект
Deployment
вместоkubectl create deployment
-
Объект
Service
вместоkubectl expose
- Императивное управление кластером Kubernetes — create и delete
- Декларативное управление кластером. Команда apply
- Резюме
-
7. Взаимодействие сервисов Kubernetes
- Обнаружение сервисов через DNS
- Обнаружение сервисов с помощью переменных окружения
- Сервисы и метки
- Основные типы сервисов в Kubernetes
- Виртуальные IP-адреса. Kube-proxy
- Развертывание нескольких сервисов
- Локальное тестирование взаимодействующих сервисов
- Проверка готовности сервиса к работе
- Резюме
-
8. Метки и аннотации Kubernetes. «Канарейки». Service Mesh
- Метки на практике. «Канареечное» развертывание
- «Сине-зеленое» развертывание
- Шаблоны YAML — Kustomize
- Ручная отладка отсеков Pods и контейнеров с помощью меток
- Сетка микросервисов — Service Mesh
- Аннотации
- Резюме
-
9. Непрерывное обновление в Kubernetes. Deployment
- Непрерывное обновление (rolling update)
- История обновлений. Откат к стабильным версиям.
- Стратегия непрерывного обновления
- Автоматическое масштабирование
- Проверка жизнеспособности (liveness)
- Резюме
-
10. Управление ресурсами Kubernetes
- Распределение ресурсов по умолчанию
- Требования к ресурсам в развертываниях Deployment
- Пространства имен Namespace
- Дополнительные контексты kubectl
- Резюме
- Завершение
60-дневная гарантия 100% удовлетворения от Leanpub
В течение 60 дней после покупки вы можете получить 100% возврат средств за любую покупку на Leanpub всего в два клика.
Технически это рискованно для нас, поскольку файлы книги или курса останутся у вас в любом случае. Но мы настолько уверены в наших продуктах и услугах, а также в наших авторах и читателях, что с радостью предлагаем полную гарантию возврата денег за всё, что мы продаем.
Узнать, насколько что-то хорошо, можно только попробовав, а благодаря нашей 100% гарантии возврата денег это можно сделать без всякого риска!
Так что нет причин не нажать кнопку "Добавить в корзину", не так ли?
Ознакомьтесь с полными условиями...
Получайте $8 с покупки за $10 и $16 с покупки за $20
Мы выплачиваем 80% роялти за покупки от $7.99 и выше, и 80% роялти минус фиксированную комиссию 50 центов за покупки в диапазоне от $0.99 до $7.98. Вы зарабатываете $8 с продажи за $10 и $16 с продажи за $20. Таким образом, если мы продадим 5000 невозвращенных копий вашей книги по $20, вы заработаете $80,000.
(Да, некоторые авторы уже заработали намного больше этого на Leanpub.)
Фактически, авторы заработалиболее $14 миллионов, создавая, публикуя и продавая на Leanpub.
Узнайте больше о писательстве на Leanpub
Бесплатные обновления. Без DRM.
Если вы покупаете книгу на Leanpub, вы получаете бесплатные обновления, пока автор обновляет книгу! Многие авторы используют Leanpub для публикации своих книг в процессе написания. Все читатели получают бесплатные обновления, независимо от того, когда они купили книгу и сколько заплатили (включая бесплатные книги).
Большинство книг Leanpub доступны в форматах PDF (для компьютеров) и EPUB (для телефонов, планшетов и Kindle). Форматы, в которых доступна книга, показаны в правом верхнем углу этой страницы.
Наконец, книги Leanpub не имеют никакой бессмысленной DRM-защиты, поэтому вы можете легко читать их на любом поддерживаемом устройстве.
Узнайте больше о форматах электронных книг Leanpub и где их читать