Рустам Курамшин
Рустам Курамшин
  • 16
  • 40 615
Эксплуатация и развертывание Java-микросервисов: Spring Boot, Docker, Kubernetes
Выступил на площадке Южного ИТ-парка, где ребята из WorkSolutions 29 июня сделали классный java-митап!
Были доклады про DDD, GC и мой про DevOps для Spring Boot.
Получилось здорово, приятная атмосфера и много интересных дискуссий о java-разработке.
Таймкоды выступления:
00:00 - Введение.
02:52 - Эффективный Dockerfile для Spring Boot проектов.
19:16 - Управление Spring Application Properties.
33:19 - Запуск миграций Liquibase отдельно от релиза Spring Boot сервиса.
48:09 - Вопросы и ответы
Остальные доклады можно посмотреть на UA-cam-канале WorkSolutions:
"DDD. Реанимация легаси" - ua-cam.com/video/xsthIK0dXnQ/v-deo.html
"Memory administration для Java разработчика: избыточность или необходимость" - ua-cam.com/video/xskMJP-S-1E/v-deo.html
Спасибо WorkSolutions за митап!
Telegram - t.me/wsmeetup и t.me/wsdevs
UA-cam - www.youtube.com/@UCgVq_Vhr1RjZetkm9ZZW06g
Официальный сайт - worksolutions.ru
Переглядів: 1 067

Відео

Правильный DevOps для Spring Boot и Java. Что нужно знать про Docker, Kubernetes и Liquibase.
Переглядів 3,9 тис.Місяць тому
В этом докладе, с которым мы выступили на JPoint 2024, речь пойдет о лучших практиках в построении DevOps-процессов для проектов, написанных на Spring Boot и Java/Kotlin. Примеры кода и конфигов из выступления можно посмотреть в этом репо на GitHub github.com/RustamKuramshin/right-devops Бывает так, что разработчики не интересуются DevOps-процессами, а DevOps-инженеры не знакомы с традиционными...
Веб-разработка на Spring Boot/Java и React/TypeScript (IT-Fest 2021, Сбер, Ростов-на-Дону).
Переглядів 147Місяць тому
В период работы в Сбере доводилось часто выступать на митапах и самому их организовывать. В этот раз мы решили внести вклад в образование детей и сделали доклад для онлайн-фестиваля информационных технологий IT-Fest 2021, который проходил в Ростове-на-Дону. Его основными участниками были школьники, которые интересуются IT и программированием. Тайм-коды: 00:00 - Начало нашего доклада 01:21 - Вве...
Быстрая разработка на Spring Boot и Jmix. Интервью с командой Jmix (Конференция Стачка 2024).
Переглядів 2,2 тис.Місяць тому
Получился небольшой фильм о моей поездке в г. Ульяновск в апреле 2024 г. на IT-конференцию "Стачка 2024". Эти несколько дней пролетели очень быстро и точно будет, что вспомнить! Тайм-коды: 00:00 - Обзор атмосферы на конфе 02:05 - Мой доклад про быструю разработку на Spring Boot и Jmix 29:07 - Интервью с участниками команды Jmix в Haulmont 43:53 - Конец На конференции я был не один. В Ульяновске...
Java-конференция JPoint 2024. День первый.
Переглядів 2093 місяці тому
Java-конференция JPoint 2024. День первый.
Как инструменты быстрой разработки на Java могут помочь бизнесу (Spring Data REST и Jmix)
Переглядів 5199 місяців тому
Онлайн выступление на "High Performance Systems 2023" в Школе управления Сколково, г. Москва. Сайт конференции - hps-conference.ru/ Почитать о инструментах из доклада: Spring Data REST - spring.io/projects/spring-data-rest Jmix - www.jmix.ru/ Мой подробный доклад о Spring Data REST на конференции JPoint 2023 - ua-cam.com/video/roaGUHaWPxw/v-deo.html
Spring Data REST. Конструктор быстрой разработки REST API (Java-конференция JPoint 2023, Москва).
Переглядів 586Рік тому
У вас в проекте много REST-сервисов? Устали писать boilerplate-код и поддерживать зоопарк реализаций CRUD API? Тогда Spring Data REST это то, что вам нужно! Пример pet-проекта из выступления - github.com/RustamKuramshin/companies-data-rest Спикеры: Владислав Калинин - jpoint.ru/persons/2fa5cc16678e434d8897a4c69af59119/ Рустам Курамшин - jpoint.ru/persons/531f68452b314dcb9c3ccc09779f0e1a/
Spring Cloud и Spring Boot Admin - Инструменты наблюдаемости
Переглядів 1,1 тис.Рік тому
Spring Cloud и Spring Boot Admin - Инструменты наблюдаемости. Поговорим о Spring Cloud OpenFeign, Spring Boot Admin и Spring Cloud Sleuth. Спикеры: Рустам Курамшин, Александр Янчий, Александр Фролов - Java Backend разработчики платформы управления строительством "Инфратех" itech-infra.ru/
Использование Spring Cloud для микросервисов на Spring Boot
Переглядів 4,6 тис.Рік тому
Провели meetup об опыте внедрения инструментов Spring Cloud для решения задач распределенных систем (микросервисов). Были рассмотрены: Spring Cloud Gateway, Spring Cloud Config и Spring Cloud Netflix (Eureka). Было показано внутреннее устройство этих проектов, принципы работы, эксплуатации и расширения. Спикеры: Рустам Курамшин, Александр Янчий, Александр Фролов - Java Backend разработчики плат...
ХАКАТОН ЕВРАЗА 2.0 - Видеопрезентация решения задачи хакатона командой "Чашечка Кофе"
Переглядів 201Рік тому
ХАКАТОН ЕВРАЗА 2.0 - Видеопрезентация решения задачи хакатона командой "Чашечка Кофе" Код на GitHub - github.com/RustamKuramshin/evraz-hackaton-2023 Презентация - drive.google.com/file/d/18tiaHAVU0iqT2dEecZNUmWpvdzPDUzpI/view?usp=share_link
Введение в Kotlin Coroutines (митап JUG Ru и Сбера).
Переглядів 4 тис.Рік тому
Введение в Kotlin Coroutines на примерах Spring Framework, java.util.concurrent, Spring WebFlux и Project Reactor. Код из презентации тут - github.com/RustamKuramshin/sber-java-meetup Выступление на митапе Сбера, организованным JUG Ru. 15 декабря 2022. Запись всего митапа тут ua-cam.com/video/UEqa-DIOSRM/v-deo.html
Выступление на JPoint 2022 (BoF Сбера)
Переглядів 372Рік тому
Выступление на JPoint 2022 (BoF Сбера)
Антон Архипов - Kotlin. Взгляд скептического Java-разработчика.
Переглядів 12 тис.2 роки тому
Запись выступления Антона Архипова (СберМитап, 8.02.2022). Антон выступил с докладом для разработчиков Сбера, набрасывал на Kotlin и защищал его :) Говорили о взгляде на язык, о его перспективах и проблемах. В конце была сессия вопросов и ответов. P.S. Отдельное спасибо Владиславу Калинину за звуковую дорожку, без нее невозможно было бы выложить эту запись. P.S.S. Сорри за суету на экране :)
Hello, Kotlin (Основы Kotlin)
Переглядів 1,5 тис.2 роки тому
Запись митапа "Hello, Kotlin" Тайм-коды выступления: 0:36 - История 11:38 - Основы Kotlin 44:01 - За что мы любим Kotlin 47:26 - Кратко о Kotlin Coroutines 53:29 - Бэкенд разработка на Kotlin 55:28 - Как учить Kotlin
Введение в корутины Kotlin (Kotlin Coroutines)
Переглядів 8 тис.2 роки тому
Запись митапа "Введение в корутины Kotlin" Тайм-коды выступления: 00:00 - Вступление 01:20 - Зачем нужны корутины 20:34 - Continuation и CPS (Continuation Passing Style) 31:28 - Конечный автомат корутин 42:51 - Низкоуровневый доступ к корутинам 47:11 - Контекст и диспетчеры 54:58 - Отмена и таймауты 56:19 - Обработка исключений 58:39 - Композиция корутин 1:02:02 - kotlinx.coroutines 1:03:55 - К...
Рисование мема "Woman yelling at a cat" с помощью Java
Переглядів 2804 роки тому
Рисование мема "Woman yelling at a cat" с помощью Java

КОМЕНТАРІ

  • @andreykolesnikov960
    @andreykolesnikov960 6 днів тому

    при использовании Jmix в больших проектах столкнетесь с проблемами в производительности. для web-админки подойдет, да

    • @rustam-kuramshin
      @rustam-kuramshin 6 днів тому

      @@andreykolesnikov960 какие есть реальные кейсы из практики? Было бы интересно обсудить.

  • @user-cz8pg1xf2y
    @user-cz8pg1xf2y 14 днів тому

    А не подскажите примеры правильного развертывание spring boot в кубере? Через 2.5 недели хакатон, я девопс стажер друг бекендер на джаве, хотим заранее инфраструктуру готовить под хакатон) И поэтому хочется посмотреть примеры в гитхабе с понятным readme

    • @rustam-kuramshin
      @rustam-kuramshin 14 днів тому

      Достаточно запустить spring boot в docker-контейнере. Далее его развертывание в kubernetes мало чем отличается от других фреймворков. Почитать про особенности можно здесь docs.spring.io/spring-boot/how-to/deployment/cloud.html А в целом читайте туториалы как деплоить микросервисы в kubernetes. Их очееь много.

  • @user-pi2pg3nl3n
    @user-pi2pg3nl3n 17 днів тому

    круто, тебя очень интересно слушать, подача огонь!

  • @vitya1337
    @vitya1337 19 днів тому

    👍 это круто

  • @sergey_molotoff
    @sergey_molotoff 19 днів тому

    По-моему, лучший обзор на инструменты Spring Cloud. Спасибо!

  • @vladuxa2011
    @vladuxa2011 19 днів тому

    👍

  • @socialcatalyst2608
    @socialcatalyst2608 21 день тому

    ребят, а как сваггер прокинуть через gateway?

    • @rustam-kuramshin
      @rustam-kuramshin 14 днів тому

      Привет. Это очень общий вопрос. В целом нужно в конфиге указать роут для прокидывания статики свагера с того сервиса кто эту статику раздает.

  • @vasyay5307
    @vasyay5307 21 день тому

    "отвязать миграцию liquibase от релиза ваших сервисов" , да нет, всё это должно быть в одном релизе. Зачем отвязывать.

    • @rustam-kuramshin
      @rustam-kuramshin 21 день тому

      Не для всех проектов это подходит

    • @user-gw6df6ns7e
      @user-gw6df6ns7e 8 днів тому

      Зависит от конкретного сервиса. Иногда достаточно автоматического базового подключения. Часто надо предусматривать скрипты отката.

    • @vasyay5307
      @vasyay5307 8 днів тому

      Возможность отката в идеале всегда, релиз мс + миграция. Если у вас логика вынесена в БД и вы катите миграцию без сервиса, значит у вас что-то не так.

  • @semzin
    @semzin 22 дні тому

    Посмотрел примеры Vaadin? На полных щах предлагают ui писать на Java, а не на темплейтах с маркапом?

    • @rustam-kuramshin
      @rustam-kuramshin 21 день тому

      @@semzin vaadin это java-ориентированная фронтенд разработка, да. По сути это всё для бэкендеров сделано. Если есть фронты, то нужно делать на классическом фронтендовом стеке.

  • @dendr576
    @dendr576 25 днів тому

    Классное выступление, много полезной информации. Спасибо

  • @neonsun6162
    @neonsun6162 Місяць тому

    представляю как это всё звучит для людей, которые не в теме, столько английских слов, да еще с такой плотностью)

  • @TheSemenFarada
    @TheSemenFarada Місяць тому

    Такой вопрос - позволяет ли spring cloud как то показать граф зависимостей между микросервисами? Напермер что сервис1 обращаеться (посылает запросы) к сервису 2 , сервис 2 - к сервису 3 а сервис 3 - к сервису 1 и все они обращаються к сервису 4 ?

    • @rustam-kuramshin
      @rustam-kuramshin Місяць тому

      Нет. Для этого нужно идти в observability инструменты. Если говорить про последнии версии проектов в spring'е, то был сделае переход на open telemetry. Далее вы можете взять Jaeger для анализа трейсов OTel и будут вам карты микросервисов как здесь описано www.aspecto.io/blog/jaeger-tracing-the-ultimate-guide/

  • @rengerxavier2845
    @rengerxavier2845 Місяць тому

    Рустам, очень интересно про buildpacks с настройкой его для спринга, что там можно настроить, и можно ли настроить так, чтобы командой ./gradlew bootBuildImage запускало сборку в контейнере (независимо от окружения), и какие возможности настройки этого хозяйства есть. Искал в интернете, не особо чего нашел, в доке самого билдпакса, только как создавать свои билдеры, но как конфигурировать дефолтные и т.п. не видел...

    • @rustam-kuramshin
      @rustam-kuramshin Місяць тому

      Есть в доках Spring Boot раздел про maven и gradle плагины spring'а: docs.spring.io/spring-boot/gradle-plugin/packaging-oci-image.html и docs.spring.io/spring-boot/maven-plugin/build-image.html Там можно почитать про работу с buildpacks. Про packeto buildpacks для Java проектов можно почтить тут paketo.io/docs/howto/java/ В итоге есть очень много параметров для настройки.

  • @rengerxavier2845
    @rengerxavier2845 Місяць тому

    Спасибо друг, очень во время! Надо было собрать jmix приложение в докер образ, но хост корпоративного докер-дева старый (18 убунта) и новый nodeJs для сборки туда просто не встает, но с билдером, да еще и со слоями, чутка модифицировал Dockerfile, чтобы JAVA_OPTS пробрасывать в ентрипоинт и всё получилось! Лайк и подписка🤗🤗

  • @roman_biller
    @roman_biller Місяць тому

    респект!

  • @armenarz4062
    @armenarz4062 Місяць тому

    у меня всегда primefaces

    • @rustam-kuramshin
      @rustam-kuramshin Місяць тому

      По описанию интересный. Надо глянуть.

  • @swenbomwollen4263
    @swenbomwollen4263 Місяць тому

    Спасибо за видео! Из доклада не очень понял, а какие в итоге преимущества по сравнению с использованием чистого Ваадина? На сайте jmix в качестве преимуществ тоже в основном перечисляют фичи Ваадина, и с бутом+секьюрити Ваадин уже дружит.

    • @rustam-kuramshin
      @rustam-kuramshin Місяць тому

      Скорость разработки. Jmix не равен Vaadin + Spring Boot. Потому что jmix очень многое реализует за разработчика. На jmix можно за одну минуту нашелкать таблицу в дизайнере моделей и уже сразу автоматический к ней можно сгенертровать UI со списком и всеми формами. И это меньше что можно делать. На оф сайте в доках и примерах можно почитать.

    • @viktor_fadeev
      @viktor_fadeev Місяць тому

      Команда Jmix подготовила специальный раздел документации docs.jmix.ru/jmix/concepts/index.html с разъяснениями концепции фреймворка, принципов и ключевых фичей. Посмотрите раздел - там ответы

  • @user-ct3eh3tb7q
    @user-ct3eh3tb7q Місяць тому

    Ну че то пример на реакте написан как будто намеренно плохо что бы показать какой он якобы не читаемый . особенно блок try/catch внутри flatmap, есть же адекватные инструменты у данного апи для этих манипуляций которые читаемы и лаконичны

    • @user-ct3eh3tb7q
      @user-ct3eh3tb7q Місяць тому

      В остальном информации достаточно , много и достаточно подробно )

  • @ConfidenceGold
    @ConfidenceGold Місяць тому

    Хз, если чисто админку накинуть наверное пойдет. Но прям для Энтерпрайза будет дешевле фронт на реакте для гибкости и бэк на спринг буте заебенить

    • @rustam-kuramshin
      @rustam-kuramshin Місяць тому

      Как же дешевле, если больше кода писать нужно. Jmix используют в достаточно крупных компаниях.

    • @ascar66
      @ascar66 Місяць тому

      просто для банквоского внутреннего приложения не нужна красота потому что это скорее рабочий инструмент. Да даже 1с предприятие к примеру его задача быть надежным инструментом а не быть красивым

  • @volk_alen
    @volk_alen Місяць тому

    Очень подробно, понятно! Спасибо большое!

  • @maximtronin4510
    @maximtronin4510 Місяць тому

    Я использую jmix на многих проектах, крутой инструмент.

  • @konstantinchvilyov9602
    @konstantinchvilyov9602 2 місяці тому

    deferred [dɪˈfɜːd] отсроченный, отложенный, замедленный. defer [dɪˈfɜː] отсрочить, отложить.

  • @konstantinchvilyov9602
    @konstantinchvilyov9602 2 місяці тому

    MDC (Mapped Diagnostic Context)[mæpt][daɪəgˈnɒstɪk][ˈkɒntekst] - Среда Отображаемого Выявления

  • @konstantinchvilyov9602
    @konstantinchvilyov9602 2 місяці тому

    unconfined [ʌnkənˈfaɪnd] неограниченный

  • @konstantinchvilyov9602
    @konstantinchvilyov9602 2 місяці тому

    Intercepted [ɪntəˈseptɪd] перехваченный. Unintercepted - не перехваченный. Intercept [ˈɪntəsept] останавливать, прерывать, перехватывать, задерживать.

  • @konstantinchvilyov9602
    @konstantinchvilyov9602 2 місяці тому

    intrinsic [ɪnˈtrɪnsɪk] присущий; встроенный, внутренний, собственный

  • @konstantinchvilyov9602
    @konstantinchvilyov9602 2 місяці тому

    resume [rɪˈzjuːm] продолжить, возобновить, восстановить

  • @konstantinchvilyov9602
    @konstantinchvilyov9602 2 місяці тому

    continuation passing [ˈpɑːsɪŋ] style - способ переходящего продолжения

  • @konstantinchvilyov9602
    @konstantinchvilyov9602 2 місяці тому

    continuation [kəntɪnjʊˈeɪʃn] продолжение

  • @konstantinchvilyov9602
    @konstantinchvilyov9602 2 місяці тому

    promise [ˈprɒmɪs] обещание, обязательство

  • @viktor_fadeev
    @viktor_fadeev 3 місяці тому

    Ох, красиво ввернули про Jmix. Респект и уважуха от всей нашей дружной команды!

  • @user-ei8xn2bx2i
    @user-ei8xn2bx2i 3 місяці тому

    очень доступное видео/ Спасибо

  • @roman_biller
    @roman_biller 3 місяці тому

    круто! )

  • @viktor_fadeev
    @viktor_fadeev 3 місяці тому

    Выставочная зона в этом году клево организована. Места всем хватает

  • @konstantinchvilyov9602
    @konstantinchvilyov9602 5 місяців тому

    Future [ˈfjuːʧə] - Будущее

  • @alexeis628
    @alexeis628 5 місяців тому

    43:50 ну вообще у программиста есть возможность написать коммент. Пишите комменты чаще, чтобы понимать какой тип Вы ожидаете получить

  • @frednekrasov7019
    @frednekrasov7019 5 місяців тому

    Мне кажется или тут почти все из пальца высасывают минусы.

  • @user-br4gt7xu2j
    @user-br4gt7xu2j 6 місяців тому

    глядя на котлин, чувство что его придумали программисты, которым не давали говнокодить на джаве, но им очень сильно хотелось

  • @qrthack
    @qrthack 6 місяців тому

    Такое ощущение, что Антон не особо любит Java, а Kotlin тем более

    • @rustam-kuramshin
      @rustam-kuramshin 6 місяців тому

      :)

    • @qrthack
      @qrthack 6 місяців тому

      @@rustam-kuramshin что посоветуете для того, чтобы легче было устроиться на работу, Java, C#, Golang? если знать на достойном уровне

    • @rustam-kuramshin
      @rustam-kuramshin 6 місяців тому

      @@qrthack читать книги и писать код. Курсы и прочее не советую. По java и go много хороших книг. Остальное - практика. Сейчас из-за перегретого рынка любой человек, который мало мальски что-то знает, будет замтен на интервью.

    • @AntonArhipov
      @AntonArhipov 4 місяці тому

      Видимо Антон просто не любит программировать :)

  • @lonchakovav
    @lonchakovav 6 місяців тому

    "(Kotlin) Более выразительный язык, больше возможностей отстрелить ногу" - э, погодите, стрелять в ногу, это фишка С++ :)

  • @user-dx9yq5js2c
    @user-dx9yq5js2c 6 місяців тому

    Спасибо!

  • @devprototype
    @devprototype 6 місяців тому

    Спасибо большое! Очень полезно!

  • @devprototype
    @devprototype 6 місяців тому

    Спасибо большое! Очень полезно!

  • @aiislive
    @aiislive 6 місяців тому

    А почему не Clojure?

    • @rustam-kuramshin
      @rustam-kuramshin 6 місяців тому

      Видимо из-за его уровня популярности. Kotlin всё-таки сильно популярен. Про Clojure ничего не могу сказать, не изучал его.

  • @flowname
    @flowname 7 місяців тому

    21:15, год-полтора спустя, JDK21 выкатил Loom, имеет вложенный паттерн-матчинг, рекорды используются во все концы, а Котлин отстаёт по фичам. Что и требовалось доказать. И да, для null-safety давно существуют бибилиотечные функциональные интерфейсы вроде Vavr.

  • @AlexJPep
    @AlexJPep 8 місяців тому

    ого, ещё довоенное время...

  • @yantasheiko58
    @yantasheiko58 8 місяців тому

    XD

  • @yantasheiko58
    @yantasheiko58 8 місяців тому

    Супер понятно, спасибо! Отличный митап.

  • @bulatnikoffdmitrii4438
    @bulatnikoffdmitrii4438 9 місяців тому

    Cахар это хорошо, но по сути, действительно, концептуально это ничего не решает. Корутины и в java есть, реактивные потоки, лямбды и тд. В чем плюсы котлина, я так и не понял, кроме того что компиляция происходит медленнее, и еще мне кажется что бОльшая свобода синтаксиса будет наталкивать на решения с "кривой" архитектурой , проще говоря будет больше говнокода, такое я видел в JS. А мне показалось, что котлин это вариант JS для JVM. И еще я заметил, что Антону было тяжко читать вопрос, где он сказал, что слишком много букв, это побочка от перехода на котлин с его сахаром?)

  • @petervakulin3987
    @petervakulin3987 9 місяців тому

    Структуры нет, воды как в мировом океане... Текстовая выжимка этого выступления займет максимум пару страниц крупным кеглем. Бесполезно.