Nginx Application Platform расширяется. Появляются новые возможности управления API, а в будущем платформа сможет создавать сервисную сетку, пишет портал eWeek.
До недавнего времени компания Nginx была более всего известна благодаря своему веб-серверу с открытым кодом. Теперь это только один из множества продуктов, которые она разрабатывает и поддерживает.
Nginx предлагает пакет сервисов и функций для доставки веб-приложений. Их ядром является представленный в 2017 г. Nginx Controller. В этом году компания анонсировала новый модуль API Management для Nginx Controller, который позволяет придерживающимся интегрированного подхода организациям определять API, публиковать их поверх Nginx и управлять ими.
«Если вы посмотрите на наш продукт API Management, то увидите, что у нас нет нескольких уровней между управлением и данными, у нас очень понятная архитектура, — заявил генеральный директор Nginx Гус Робертсон. — Мы считаем, что наша архитектура обеспечивает бескомпромиссную производительность, которая более устойчива к сбоям, поскольку не имеет единой точки отказа».
Nginx постоянно наращивает свой портфель коммерческих продуктов с августа 2013 г., когда компания выпустила сервер Nginx Plus, обладающий коммерческими инструментами и поддержкой, которых нет в веб-сервере Nginx с открытым кодом. Nginx является вторым по популярности веб-сервером в мире для активных сайтов. По данным Netcraft Web Server Survey за январь 2019 г., его доля рынка составляет 22%.
В декабре 2012 г., когда Робертсон приступил к работе в качестве генерального директора Nginx, у компании не было оплачивающих ее услуги клиентов. В 2019 г., по его словам, их стало более 2 тыс. Примерно 150 из них входят в 2 тыс. крупнейших компаний мира.
Nginx Application Platform
Nginx Application Platform объединяет множество технологий, помогающих организациям управлять приложениями. На уровне данных Nginx Plus осуществляет доставку приложений. Поверх него находится Nginx Controller, обеспечивающий развертывание, управление, аналитику и политику на уровне данных.
«Nginx может применяться в самых различных целях. Занимая всего 1,6 Мб, платформа содержит свыше 700 директив для управления трафиком различными способами, — сказал Робертсон. — Прелесть Nginx в том, что она может делать множество различных вещей. Но когда вы говорите с клиентами о сценариях использования, оказывается, что она является для организаций крепким орешком».
Nginx предусматривает три основных сценария применения Nginx Application Platform. Первый из них — доставка приложений, что включает регулирование нагрузки и кэширование. Второй — управление API. Теперь оно доступно. Третий предназначен для сервисной сетки. Такие возможности появятся позднее в этом году.
Шлюз API
Nginx предоставляет клиентам собственный модуль шлюза API для повышения производительности и управляемости, сообщил Робертсон. Он отметил, что многие разработчики средств управления API используют Nginx в качестве базового уровня данных.
Как выразился Робертсон, поскольку его компания лучше чем кто-либо понимает код ядра Nginx, она способна создать упрощенную архитектуру для высокопроизводительного управления API.
Сервисная сетка
В зарождающемся мире технологии сервисных сеток проект Istio с открытым кодом, который работает вместе с контейнерным движком Kubernetes, является одним из пионерских. Он уже получил поддержку основных производителей, включая IBM, Cisco и Google. По словам Робертсона, Istio «представляет интерес» и послужит хорошей проверкой, которая поможет понять, как способна работать сервисная сетка. Но Nginx придерживается другого подхода.
«Мы видим, как сегодня Nginx используется в сервисных сетках без Istio, работающего на базе Kubernetes, — сказал он. — Мы считаем, что есть более простое решение, чем Istio».
Робертсон сообщил, что находящаяся в разработке сервисная сетка Nginx сначала будет развертываться примерно так же, как развертывается сегодня Istio, но будет обладать повышенной производительностью и управляемостью. Istio работает как sidecar-прокси — когда контейнер создается в капсуле (pod) Kubernetes наряду с контейнерами приложений, чтобы помогать направлять трафик в сервисную сетку, которая маршрутизирует трафик и управляет им. При подходе Nginx контроллер Nginx будет использоваться в качестве механизма создания сервисной сетки.
Робертсон заявил, что подход Nginx приведет к созданию сервисной сетки 2.0. Более подробно компания расскажет о нем ближе к концу 2019 г.
Бессерверные вычисления
Nginx разрабатывает также инициативу с открытым кодом под названием Nginx Unit. Робертсон называет ее сервером приложений-полиглотом, поскольку она работает с различными языками программирования, включая Python, PHP, Perl, Ruby, Go и JavaScript, а в 2019 г. начнет поддерживать и Java. Сегодня Unit вписывается в сценарий использования контейнера микросервисов и, возможно, поможет организации бессерверных вычислений.
«Unit представляет собой сервер приложений, который может быть вызван для обработки события, а затем вновь отключен», — пояснил Ричардсон.
При бессерверных вычислениях, которые порой именуют «функции как сервис», для исполнения события функции не требуются долго работающие серверы. Функция выполняется как сервис, а короткоживущий сервер приложений или контейнер позволяют осуществить транзакцию события.
«Мы присматриваемся к бессерверным вычислениям. Nginx Unit обладает такой возможностью. Но сегодня это для нас не главное», — сказал Робертсон.