На прошедшей недавно конференции для разработчиков SpringOne компания VMware объявила о запуске публичной бета-версии Tanzu Application Platform. На базе этой платформы, разработчики и операторы команд DevOps кластеров Kubernetes смогут разрабатывать различные решения для Azure Kubernetes Service, Amazon Elastic Kubernetes Service, Google Kubernetes Engine, а также непосредственно для инфраструктуры на базе Tanzu Kubernetes Grid.
На этапе первого бета-релиза платформа включает в себя следующие возможности:
Шаблоны приложений с уже готовыми лучшими практиками и правилами использования
Автоматическая сборка образов контейнеров
Среда исполнения для обслуживания контейнеров и обработки событий
Средства обнаружения и маршрутизации API
Аналитика по запущенным приложениям, что упрощает траблшутинг
Основная идея Tanzu Application Platform - дать разработчикам средства для интеграции существующих и новых приложений в бэкенд инфраструктуру контейнеров с соблюдений требований комплаенса и безопасности. При этом сама платформа модульная - то есть разработчики могут выбирать утилиты, которые они используют.
С помощью данной платформы разработчики могут создать декларативный манифест приложения с URL-адресом, который можно расшарить между членами разных команд. Этот манифест превращается в своего рода контракт, над которым работают разработчики и операционные команды, чтобы обеспечить перевод приложения в производственную среду и его обслуживание там.
Вот пример такого манифеста (чтобы его обслуживать, не нужно знать языки программирования):
Платформа поддерживает как долгоживущие веб-приложения, так и различные сценарные программы, работающие на основе событий. Для них предоставляются уже готовые шаблоны и гайдлайны по интеграции приложений в продакшен, поэтому разработчикам не нужно перелопачивать тонны документации.
В то же время, предоставляемые платформой уровни абстракции для приложений не являются черной коробкой - разработчик может получить доступ ко всем оберткам от VMware, вплоть до изначального kubectl.
Если какие-то из определений для внешних компонентов отсутствуют на платформе, их всегда можно подключить с помощью специальных адаптеров, которые можно сделать для любого компонента из тысяч инструментов в экосистеме Kubernetes.
Важное преимущество платформы - возможность разделить обслуживание приложений на 2 контура: внутренний, где разработчики заняты только тем, чтобы приложение работало, и внешний - где DevOps и безопасники выводят его в производственную среду и обслуживают его. Например, при появлении уязвимости команды DevOps и безопасности могут сами обеспечить обновление приложения через VMware Tanzu Build Service. То есть, разработчика в этом случае не будут отвлекать от его самой важной задачи - кодинга.
Через Tanzu Application Platform API portal разработчики могут получить простой доступ ко внутренним и внешним API-интерфейсам. Там же можно в графическом интерфейсе протестировать endpoints напрямую.
С помощью Spring Cloud Gateway for Kubernetes можно наладить взаимодействие внутренних и внешних сервисов с микросервисами. Вместо рабочих процессов на базе тикетов, разработчики теперь получают доступ к API, который позволяет настроить маршруты в JSON во время привязки сервисов Tanzu Application Platform. То есть, разработчику не нужно покидать свою IDE для настройки взаимодействия между сервисами.
Ну и благодаря Cloud Native Runtimes for VMware Tanzu, разработчики могут просто обслуживать события от других приложений и компонентов инфраструктуры. С использованием платформы TriggerMesh можно получать внешние события от cloud native applications и обрабатывать их:
Также, чтобы узнать больше интересного о платформе Tanzu Application Platform вы можете посмотреть следующие технические сессии: