Дмитрий Чуйко
Компания: BellSoft
Контейнеры — полезные инструменты разработки, но их часто воспринимают как должное, не задумываясь о повышении их эффективности. Например, есть средства, автоматически собирающие контейнеры за нас, такие как Paketo Buildpack для Spring Boot приложений. Но при автоматической сборке мы получаем либо «черный ящик» с начинкой, не подходящей для наших нужд, либо случайные образы, которые могут содержать устаревшую версию Java или неэффективные скрипты. Использование автоматически собранных контейнеров становится проблемой при увеличении нагрузки и количества инстансов. По сути, заоблачных счетов за облачные ресурсы можно было бы избежать, использовав оптимальные контейнеры. А для этого нужно вовлечь разработчиков в процесс оптимизации деплоймента.
Оптимизация подразумевает под собой следующее:
Помня о предыдущем докладе «Не клади все яйца в один контейнер», можно догадаться, что если мы положим случайные яйца в наш контейнер, Kubernetes не улучшит ситуацию, а просто масштабирует неоптимальные сущности. Используя K8s, важно понимать:
Что можно сделать в сложившейся ситуации? Можно оптимизировать контейнеры с помощью встроенных инструментов, а можно собирать контейнеры самостоятельно и уже потом интегрировать в рабочий процесс K8s.
В своем докладе Дмитрий покажет, на что следует обратить внимание при последнем подходе. Кроме того, речь пойдет про технологию Native Image, так как все обозначенные выше проблемы и задачи применимы и к ней.
Компания: BellSoft
Компания: Yandex Cloud