Микросервисная архитектура [Skillbox] [Максим Чернухин, Антон Гращенков]
Микросервисная архитектура позволяет разбить монолитное приложение на независимые компоненты, или сервисы. Такие программы легко тестировать и дополнять новыми бизнес-функциями — изменения в одной части кода не влияют на другую.
Микросервисы интегрируют с базами данных и упаковывают в контейнеры при помощи Docker. Контейнеризация позволяет запускать приложение в изолированной и безопасной среде. Платформу Kubernetes используют для управления контейнерами, автоматизации их установки в промышленную среду и контроля нагрузки.
Содержание курса
Этап 1. Создание простого сервиса
Научитесь разрабатывать несложные микросервисы и создавать доменную модель для будущей системы. Узнаете, как создать схему хранения информации в базе данных и настроить ее взаимодействие с сервисом. Сможете создать контейнер для приложения, который будет автоматически подключаться к базе данных. Освоите инструменты: DDD, SQL, DDL, Constraint, Spring Boot, Spring Data, RESTful, юнит-тесты, Docker Container, Docker Compose, PostgreSQL, Swagger Open API, Liquibase, UX.
Этап 2. Создание pipeline lite
Вы научитесь проводить модульное тестирование вашего сервиса вместе с базой данных и раскатывать сервисы в Kubernetes на среду разработки. Сможете создавать тестовые стенды, настраивать статистический анализ кода и поставку артефактов в хранилище. Узнаете, как выкатить поставку в продакшн с пайплайна. Познакомитесь с созданием и настройкой процесса разработки от написания кода до попадания его в продакшн. Освоите инструменты: Kubernetes, Helm; Feature, Dev- и prePROD-стенды; Smoke testing, регрессионное тестирование, SonarQube, Artifactory, GitLab CI/CD.
Этап 3. Работа с файловой системой
Поймете, как создавать HTTP/REST EndPoint'ы для взаимодействия с данными в S3. Сможете создать контейнер для приложения, который подключится к S3 хранилищу в Kubernetes. Освоите инструменты: Zero Trust, TLS, подходы ABAC и RBAC, Keycloak, OpenSSL, Spring Security, OpenID Connect, OAuth 2.0.
Этап 4. Основы безопасности
Узнаете, как обеспечить безопасность интеграций сервисов и баз данных, межсервисных взаимодействий, и познакомитесь с ролевыми моделями. Освоите инструменты: AWS Amazon S3, Endpoint, HTTP, трейсинг, логирование.
Этап 5. Интеграция сервисов через Kafka и работа с MongoDB
Научитесь использовать Kafka для интеграции и MongoDB для хранения аналитических данных. Вы сделаете микросервис, который общается через Kafka со своими соседями, и сервис, в котором будет проработана аналитика для микросервиса с данными. Освоите инструменты: DQL, MongoDB, Kafka.
Продажник:
Микросервисная архитектура позволяет разбить монолитное приложение на независимые компоненты, или сервисы. Такие программы легко тестировать и дополнять новыми бизнес-функциями — изменения в одной части кода не влияют на другую.
Микросервисы интегрируют с базами данных и упаковывают в контейнеры при помощи Docker. Контейнеризация позволяет запускать приложение в изолированной и безопасной среде. Платформу Kubernetes используют для управления контейнерами, автоматизации их установки в промышленную среду и контроля нагрузки.
Содержание курса
Этап 1. Создание простого сервиса
Научитесь разрабатывать несложные микросервисы и создавать доменную модель для будущей системы. Узнаете, как создать схему хранения информации в базе данных и настроить ее взаимодействие с сервисом. Сможете создать контейнер для приложения, который будет автоматически подключаться к базе данных. Освоите инструменты: DDD, SQL, DDL, Constraint, Spring Boot, Spring Data, RESTful, юнит-тесты, Docker Container, Docker Compose, PostgreSQL, Swagger Open API, Liquibase, UX.
Этап 2. Создание pipeline lite
Вы научитесь проводить модульное тестирование вашего сервиса вместе с базой данных и раскатывать сервисы в Kubernetes на среду разработки. Сможете создавать тестовые стенды, настраивать статистический анализ кода и поставку артефактов в хранилище. Узнаете, как выкатить поставку в продакшн с пайплайна. Познакомитесь с созданием и настройкой процесса разработки от написания кода до попадания его в продакшн. Освоите инструменты: Kubernetes, Helm; Feature, Dev- и prePROD-стенды; Smoke testing, регрессионное тестирование, SonarQube, Artifactory, GitLab CI/CD.
Этап 3. Работа с файловой системой
Поймете, как создавать HTTP/REST EndPoint'ы для взаимодействия с данными в S3. Сможете создать контейнер для приложения, который подключится к S3 хранилищу в Kubernetes. Освоите инструменты: Zero Trust, TLS, подходы ABAC и RBAC, Keycloak, OpenSSL, Spring Security, OpenID Connect, OAuth 2.0.
Этап 4. Основы безопасности
Узнаете, как обеспечить безопасность интеграций сервисов и баз данных, межсервисных взаимодействий, и познакомитесь с ролевыми моделями. Освоите инструменты: AWS Amazon S3, Endpoint, HTTP, трейсинг, логирование.
Этап 5. Интеграция сервисов через Kafka и работа с MongoDB
Научитесь использовать Kafka для интеграции и MongoDB для хранения аналитических данных. Вы сделаете микросервис, который общается через Kafka со своими соседями, и сервис, в котором будет проработана аналитика для микросервиса с данными. Освоите инструменты: DQL, MongoDB, Kafka.
Продажник:
https://skillbox.ru/course/mikroservisnaya-arkhitektura-newprice/