Как оптимизировать сборку и контейнеризацию приложений на 8 стеках (C++, Go, Rust, Java, .NET, Python, Node.js, PHP)?
Образ Java-сервиса весит гигабайт, потому что в production уехал полный JDK. CI на каждом коммите заново скачивает и компилирует зависимости. А в Kubernetes под падает по OOMKilled, потому что JVM не видит лимиты cgroups.
Мы сделали курс по сборке приложений, где под каждый стек разобран свой набор инструментов: Conan и ccache для C++, cargo-chef для Rust, jlink для Java, Native AOT для .NET, uv для Python. На выходе вы получите multi-stage сборки, которые переиспользуют кэш зависимостей, и runtime-образы без компиляторов, SDK и лишних библиотек.
В программе вас ждёт:
🟢Настройка многоэтапных (multi-stage) Docker-сборок для C++, Go, Rust, Java, .NET, Python, Node.js и PHP.
🟢Оптимизация кэширования зависимостей в CI/CD с помощью ccache, cargo-chef, uv и послойной упаковки JAR (jarmode=tools).
🟢Сборка полностью статических бинарных файлов (musl, CGO_ENABLED=0, ldflags) для запуска в scratch-контейнерах.
🟢Создание кастомных минимальных Java Runtime сред с помощью утилит jdeps и jlink.
🟢Настройка компиляции Native AOT и IL Trimming для .NET-приложений.
🟢Оптимизация автозагрузки Composer и кэширования байт-кода через OPcache Preloading в PHP
↘️ Подробная программа
В финальном проекте вы напишете multi-stage Dockerfile для микросервисов на Go, Rust, Java и Python, настроите кэширование через cargo-chef и cache mounts BuildKit, сократите runtime-образы до scratch, alpine и distroless и проверите, что сервисы запускаются в Kubernetes в рамках лимитов cgroups.
Курс уровня Middle. Нужны базовые знания Docker и опыт написания простых Dockerfile, работа в Linux CLI и Git, понимание основ CI/CD. Знать все восемь языков не обязательно: по каждому стеку даём готовые паттерны сборки.
🎁 До 20 октября действует скидка 3 000 рублей для новых участников
↘️ Узнать подробнее и записаться
Образ Java-сервиса весит гигабайт, потому что в production уехал полный JDK. CI на каждом коммите заново скачивает и компилирует зависимости. А в Kubernetes под падает по OOMKilled, потому что JVM не видит лимиты cgroups.
Мы сделали курс по сборке приложений, где под каждый стек разобран свой набор инструментов: Conan и ccache для C++, cargo-chef для Rust, jlink для Java, Native AOT для .NET, uv для Python. На выходе вы получите multi-stage сборки, которые переиспользуют кэш зависимостей, и runtime-образы без компиляторов, SDK и лишних библиотек.
В программе вас ждёт:
🟢Настройка многоэтапных (multi-stage) Docker-сборок для C++, Go, Rust, Java, .NET, Python, Node.js и PHP.
🟢Оптимизация кэширования зависимостей в CI/CD с помощью ccache, cargo-chef, uv и послойной упаковки JAR (jarmode=tools).
🟢Сборка полностью статических бинарных файлов (musl, CGO_ENABLED=0, ldflags) для запуска в scratch-контейнерах.
🟢Создание кастомных минимальных Java Runtime сред с помощью утилит jdeps и jlink.
🟢Настройка компиляции Native AOT и IL Trimming для .NET-приложений.
🟢Оптимизация автозагрузки Composer и кэширования байт-кода через OPcache Preloading в PHP
↘️ Подробная программа
В финальном проекте вы напишете multi-stage Dockerfile для микросервисов на Go, Rust, Java и Python, настроите кэширование через cargo-chef и cache mounts BuildKit, сократите runtime-образы до scratch, alpine и distroless и проверите, что сервисы запускаются в Kubernetes в рамках лимитов cgroups.
Курс уровня Middle. Нужны базовые знания Docker и опыт написания простых Dockerfile, работа в Linux CLI и Git, понимание основ CI/CD. Знать все восемь языков не обязательно: по каждому стеку даём готовые паттерны сборки.
🎁 До 20 октября действует скидка 3 000 рублей для новых участников
↘️ Узнать подробнее и записаться