Загрузка страницы

Дмитрий Чуйко — Не клади все яйца в один билдпак

Ближайшая конференция: JPoint 2024, 17 апреля (online), 24–25 апреля (offline, Москва)
Подробности и билеты: https://cutt.ly/AwDEziay
— —
Контейнеры — полезные инструменты разработки, но их часто воспринимают как должное, не задумываясь о повышении их эффективности. Например, есть средства, автоматически собирающие контейнеры за нас, такие как Paketo Buildpack для Spring Boot приложений. Но при автоматической сборке мы получаем либо «черный ящик» с начинкой, не подходящей для наших нужд, либо случайные образы, которые могут содержать устаревшую версию Java или неэффективные скрипты. Использование автоматически собранных контейнеров становится проблемой при увеличении нагрузки и количества инстансов. По сути, заоблачных счетов за облачные ресурсы можно было бы избежать, использовав оптимальные контейнеры. А для этого нужно вовлечь разработчиков в процесс оптимизации деплоймента.

Оптимизация подразумевает под собой следующее:
— уменьшение время создания контейнера, а следовательно, и срока вывода продукта на рынок;
— упрощение процесса создания контейнеров и разработки в целом, включая тестирование и вывод в производство;
— соблюдение баланса между созданием и обкаткой контейнеров и оптимизацией использования ресурсов.
Помня о предыдущем докладе «Не клади все яйца в один контейнер», можно догадаться, что если мы положим случайные яйца в наш контейнер, Kubernetes не улучшит ситуацию, а просто масштабирует неоптимальные сущности.

Используя K8s, важно понимать:
— как могут проявиться проблемы, связанные с неэффективными контейнерами, при масштабировании;
— как с с этими проблемами бороться;
— что делают конфигурируемые скрипты и как повысить их эффективность;
— сколько мы потеряем в производительности, если не будем предпринимать никаких действий.
Что можно сделать в сложившейся ситуации? Можно оптимизировать контейнеры с помощью встроенных инструментов, а можно собирать контейнеры самостоятельно и уже потом интегрировать в рабочий процесс K8s.

В своем докладе Дмитрий покажет, на что следует обратить внимание при последнем подходе. Кроме того, речь пойдет про технологию Native Image, так как все обозначенные выше проблемы и задачи применимы и к ней.

Ссылка на презентацию: https://squidex.jugru.team/api/assets/srm/21a6d4e3-9e2f-46f6-91fc-7a4c80034b62/eggs-k8s.pdf

Видео Дмитрий Чуйко — Не клади все яйца в один билдпак канала JPoint, Joker и JUG ru
Показать
Комментарии отсутствуют
Введите заголовок:

Введите адрес ссылки:

Введите адрес видео с YouTube:

Зарегистрируйтесь или войдите с
Информация о видео
20 июня 2022 г. 15:58:28
01:03:35
Другие видео канала
Дмитрий Бугайченко — Демистифицируем машинное обучение – из разработчика в ML-инженерыДмитрий Бугайченко — Демистифицируем машинное обучение – из разработчика в ML-инженерыМаксим Бартков — Сложный Rate-Limiting — это просто с Bucket4jМаксим Бартков — Сложный Rate-Limiting — это просто с Bucket4jА. Гончарук (Querify Labs) — Composable systems: Как быстро писать эффективные базы данных на JavaА. Гончарук (Querify Labs) — Composable systems: Как быстро писать эффективные базы данных на JavaАндрей Паньгин, Леонид Талалаев, Артем Дроздов — Непрерывное профилирование в облаке с помощью eBPFАндрей Паньгин, Леонид Талалаев, Артем Дроздов — Непрерывное профилирование в облаке с помощью eBPFЧашка кофе с JPoint: интервью с Дмитрием ЧуйкоЧашка кофе с JPoint: интервью с Дмитрием ЧуйкоВладимир Ситников, Алексей Стукалов — Разбор доклада Ted Neward «Iconoclasm»Владимир Ситников, Алексей Стукалов — Разбор доклада Ted Neward «Iconoclasm»Антон Котов — Почему мы решили переходить на R2DBC и чем это закончилосьАнтон Котов — Почему мы решили переходить на R2DBC и чем это закончилосьJosh Long — Bootiful Spring GraphQLJosh Long — Bootiful Spring GraphQLАхтям Сакаев — DDDamn good!Ахтям Сакаев — DDDamn good!Александр Нозик — Архитектура математических вычислений на KotlinАлександр Нозик — Архитектура математических вычислений на KotlinAndres Almiray — JReleaser — releasing at the speed of lightAndres Almiray — JReleaser — releasing at the speed of lightАлександр Коженков — Масштабируем Spring Boot микросервисыАлександр Коженков — Масштабируем Spring Boot микросервисыАндрей Беляев — JPA-паззлеры (+Hibernate и Spring)Андрей Беляев — JPA-паззлеры (+Hibernate и Spring)Паша Финкельштейн — Магия Spark: Как высокоуровневые конвейеры становятся распределенным хардкоромПаша Финкельштейн — Магия Spark: Как высокоуровневые конвейеры становятся распределенным хардкоромЛеонид Старцев — Как эволюционировать свою библиотеку на Kotlin безболезненно для клиентовЛеонид Старцев — Как эволюционировать свою библиотеку на Kotlin безболезненно для клиентовGeoffrey De Smet — AI maintenance scheduling with OptaPlanner on QuarkusGeoffrey De Smet — AI maintenance scheduling with OptaPlanner on QuarkusНикита Поваров, Роман Поборчий — Самопишущийся кодНикита Поваров, Роман Поборчий — Самопишущийся кодДмитрий Константинов — Apache Cassandra — потоки и памятьДмитрий Константинов — Apache Cassandra — потоки и памятьЕвгений Мандриков — Decomposing ComposeЕвгений Мандриков — Decomposing ComposeSteve Poole — Practical steps for creating safer software (Code included)Steve Poole — Practical steps for creating safer software (Code included)
Яндекс.Метрика