Контейнерная инфраструктура и микросервисы

Контейнерная инфраструктура и микросервисы

Микросервисная архитектура

Микросервисная архитектура – разновидность архитектуры приложений, которая представляет собой альтернативу монолитной архитектуре.

В монолитной архитектуре сервис – это комплексная система, состоящая из тесно взаимосвязанных компонентов, которые обмениваются данными по «тяжеловесным» протоколам – как открытым (например, SOAP, XML-RPC), так и проприетарным.

В микросервисной архитектуре сервис включает в себя небольшие и слабо связанные между собой модули – микросервисы, которые взаимодействуют по «экономичным» сетевым протоколам (в стиле REST и с использованием, например, JSON, Protocol Buffers, Thrift).

Особенности микросервисной архитектуры:

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

Контейнерная инфраструктура

Микросервисы чаще всего выполняются в контейнерных средах. При этом каждый из них обычно изолируется в отдельном контейнере или небольшой группе контейнеров. Эти контейнеры доступны по сети другим микросервисам и пользователям.

Контейнеризация (или виртуализация на уровне операционной системы) – это метод виртуализации, позволяющий ядру операционной системы поддерживать не один, а несколько экземпляров пространства пользователя. Эти экземпляры называют контейнерами. С точки зрения выполняемых процессов контейнеры идентичны отдельным экземплярам операционной системы. Программы из разных контейнеров не могут воздействовать друг на друга. Сами контейнеры хранятся в хостовой операционной системе.

В рамках контейнеризации могут создаваться как почти полноценные экземпляры операционных систем, так и решения, которые обеспечивают изоляцию отдельных сервисов с минимальным операционным окружением. Ко второй группе относится решение Docker.

Docker-контейнеры

Что такое Docker? Это свободное программное обеспечение, которое служит для автоматического развертывания приложений и управления ими в контейнерных средах. Иными словами, это контейнеризатор приложений.

Ключевая особенность Docker заключается в том, что он позволяет «упаковать» приложение или самодостаточный компонент приложения со всем его окружением и всеми зависимостями в контейнер. Этот контейнер можно затем развернуть в любой операционной системе Linux, поддерживающей контрольные группы в ядре. Такие контейнеры называются docker-контейнерами.

Важно отметить, что работоспособность компонента почти полностью обеспечивает разработчик, поскольку именно он «упаковывает» в контейнер все необходимые зависимости и библиотеки. Разработчик должен позаботиться о том, чтобы компонент или приложение в контейнере вели себя так, как задумано.

Помимо этого, Docker позволяет следить за тем, как контейнеры хранятся и где они эксплуатируются.

Развертывание сервисов с помощью Docker

Docker позволяет «свернуть» в контейнер отдельный модуль какой-либо системы или несколько таких модулей. В дальнейшем их можно оперативно развернуть в любом сегменте инфраструктуры.

В отличие от дистрибутивов программного обеспечения, контейнеры Docker не требуют дополнительно устанавливать связанные библиотеки и модули.

Если для виртуализации вычислительных мощностей необходим гипервизор, то docker-контейнеры можно развернуть практически в любой среде Linux. Кроме того, совместное применение подобных контейнеров на одном хосте требует меньше вычислительных ресурсов, чем две отдельные виртуальные машины.

Таким образом, контейнеризация – наиболее перспективный способ поставки (развертывания) компонентов сложных программных комплексов.

Читайте еще

  • Запись эфира: Indeed ITDR — событие года в области Identity Security Записи вебинаров
    Запись эфира: Indeed ITDR — событие года в области Identity Security

    25 ноября состоялся прямой эфир, посвященный единственному на российском рынке решению для комплексной защиты инфраструктуры айдентити — Indeed ITDR 2.0....

    27.11.2025
  • Индид представила первую публичную версию Indeed ITDR Indeed ITDR
    Индид представила первую публичную версию Indeed ITDR

    Компания «Индид», российский разработчик решений в области защиты айдентити, объявила о выпуске Indeed Identity Threat Detection and Response (ITDR) 2.0...

    17.11.2025
  • Как работает PAM-система управления привилегированным доступом База знаний
    Как работает PAM-система управления привилегированным доступом

    PAM-система собирает данные привилегированных учетных записей (учетные записи системных администраторов) в Active Directory и на серверах с ОС Microsoft Windows,...

    04.05.2023