Дмитрий Чуйко
Компания: BellSoft
Как здорово деплоить микросервисы в контейнерах. Возьмём в облаке контейнеровоз за недорого и загрузим его под завязку. Только что-то сервисы не стартуют, тормозят и тихонечко идут на дно.
Правильные инструменты диагностики и новые версии Java помогают разобраться и выправить ситуацию. Микросервисная архитектура и контейнеризация стали стандартами современной разработки приложений. Вызовы, с которыми сегодня сталкиваются разработчики, отличаются от тех проблем, которые мы привыкли решать раньше. Создатели Java-рантайма реагируют на это соответствующей функциональностью в JDK. Например, недорогой облачный инстанс может быть довольно мощным. И на нём работает связка контейнеров. А JVM, запущенные в разных контейнерах, ведут борьбу за ресурсы инстанса. Начиная с Java 10 виртуальные машины уже умеют жить дружно, работа над этим продолжилась и в Java 11.
С другой стороны, нужно выбрать, какой базовый образ использовать. Это включает в себя выбор операционной системы и Java-рантайма. Образы ОС могут сильно отличаться по размеру и иметь свои особенности, которые должна учитывать и Java. Java-рантаймы тоже теперь на любой вкус. И даже в рамках OpenJDK доступны сборки от разных компаний и с разной функциональностью и размером. И кроме того, можно создавать custom runtime image.
Мы рассмотрим практическое применение функциональности Java 11 в контейнерной среде, типичной для популярных фреймворков.
Компания: BellSoft