Приложение, как симбиоз микросервисов

Вначале были контейнеры

Контейнеры имеют очень длинную историю. В отличие от виртуализации, когда на одной физической машине мы можем запускать несколько независимых виртуальных машин, контейнеры существуют поверх операционной системы. Данный подход позволяет более гибко использовать ресурсы основной машины, но, в то же время, накладывает определенные ограничения. К примеру, мы можем легко запустить CentOS Linux поверх Ubuntu, но мы не сможем запустить Windows поверх Ubuntu.

Технология контейнеров существует уже очень давно и все больше становится похожей на изолированные виртуальные машины с собственной сетевой инфраструктурой, политикой групп либо с персональными файловыми хранилищами. Благодаря особенностям современного ядра Linux (таких как lxc) контейнеры завоевали большую популярность среди разработчиков программных продуктов.

Но, как управлять этими контейнерами? Как взаимодействовать между ними? Обычный подход виртуальных машин тут уже неуместен, необходимо что-то новое. И этим новым стал Docker.

Уникальность Docker

Как я уже говорил ранее, многие технологии существовали задолго до появления Docker. Docker принес глоток свежего воздуха, новый подход, который позволил ему стать лучшим Open Source проектом.

Что же такого особенного в Docker? А то, что Docker сосредотачивает внимание разработчика на программном продукте, а не на среде, в которой он будет работать. Ваше приложение должно одинаково хорошо выполняться как на личном лэптопе, как в тестовой среде, так и в продакшн. Приложение должно быстро разворачиваться и не зависит от версий установленного на сервере вспомогательного ПО.

Эпоха микросервисов

Уже давно не секрет, что современные программные продукты состоять из множества других проектов. Разделите их! Вынесите компоненты в отдельные микросервисы со своей средой, где они наилучше работают. Уходит эпоха монолитного ПО, сегодня намного проще поддерживать, развивать и обновлять небольшие компоненты.

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

Lego для облака

Дети очень любят Lego. Игрушка дает возможность из существующих элементов создать что-то новое, что-то уникальное, что-то свое и развивать его до бесконечности. Docker внес свои правки в историю построения облачных сервисов. Все больше набирает популярности подход PaaS (Платформа как сервис). И я очень надеюсь, что с помощью Docker мы сможем создать Webitel, как простую и мощную платформу телефонии, одинаково хорошо работающую в облаке и на выделенном сервере в офисе.

Вместо многоточия

К чему я это все? Наша команда сумела пересмотреть идеологию построения нашего продукта Webitel. Мы пошли новым путем, начали все с чистого листа. И я хочу, на простых примерах, рассказать Вам как мы это сделали и как сейчас все это работает.

Интересно? Мне продолжать? 🙂

3 комментария on "Приложение, как симбиоз микросервисов"


Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.