Введение
С момента выхода нашего последнего отчета "Состояние Spring" мир разработки программного обеспечения претерпел значительные изменения. Технологии развиваются с бешеной скоростью, открывая новые возможности и создавая уникальные вызовы для разработчиков, стремящихся создавать высококачественное ПО. Искусственный интеллект стал мощным инструментом, ускоряющим процессы разработки и открывающим новые горизонты.
В условиях столь динамичных изменений крайне важно поддерживать программное обеспечение в актуальном состоянии. Однако пользователям все сложнее следить за появлением новых версий. Так, 55% опрошенных уже работают с последней версией Spring Boot, но 41% по-прежнему используют Spring Boot 2.7.
Наш новый отчет исследует тренды, которые будут определять будущее разработки ПО — от Generative AI до Kubernetes и концепции “scale to zero”. Мы также уделим внимание новым проектам Spring и трендам в области open source. Например, Testcontainers становятся все более популярными, их уже используют 53% опрошенных, а 54% заинтересованы в улучшении observability приложений. Не менее важным является внедрение искусственного интеллекта: 8% Spring окружений уже используют наш новый модуль Spring AI, упрощающий интеграцию ИИ в приложения. И впечатляющие 73% разработчиков планируют внедрять инструменты с поддержкой ИИ.
Отчет подразделяется на четыре раздела:
![](https://habrastorage.org/getpro/habr/upload_files/157/dea/23e/157dea23ec9e3463f5bf57a9553b91ff.png)
Демография
![](https://habrastorage.org/getpro/habr/upload_files/3ff/3a8/280/3ff3a82805b754e0505ff8af8b35c6a4.png)
Компания VMware совместно с Dimensional Research провела исследование, чтобы понять, какой опыт и какие взгляды характеризуют людей, ответственных за внедрение и использование Spring. В исследовании приняли участие активные Spring разработчики, архитекторы и менеджеры проектов, работающие в компаниях разного размера. В этом году опрос включал новые вопросы, связанные с применением и внедрением Generative AI в разработке. Также впервые был задан вопрос об ожидаемой продолжительности жизни Spring приложений. Оказалось, что треть респондентов (33%) ожидает срок службы приложения от 2 до 5 лет, 34% считают, что он продлится от 6 до 10 лет, и 9% предполагают, что приложения прослужат от 11 до 20 лет.
В 2024 году в исследовании участвовали 1464 квалифицированных респондента из различных регионов и с разным уровнем квалификации. Был представлен широкий диапазон ролей, регионов и рабочих статусов. Среди них 48% составляют разработчики, 19% — менеджеры разработки, а 28% — архитекторы. Эти пропорции в точности повторяют пропорции предыдущего исследования. Большинство участников (85%) имеет более трех лет опыта работы с Spring. Исследование охватывает различные индустрии, включая технологии (41%), финансовые и страховые услуги (16%). Также представлены розничная торговля (5%), сфера услуг (6%), государственный сектор (6%) и здравоохранение (4%).
В будущее со Spring
Темп изменений в мире технологий только растет с каждым годом. Успевать за всеми изменениями — серьезный вызов как для команды Spring, так и для наших пользователей. Основная цель исследования — понять, какие тренды важны для сообщества Spring, чтобы знать, куда направить наши усилия и ресурсы. В этом году мы видим, что Generative AI быстро набирает популярность, Kubernetes в связке со Spring обретает зрелость, а проблемы с обновлениями становятся более заметными.
Generative AI дебютирует как новый важный тип приложений
Какие типы API вы предоставляете клиенту? Выберите все подходящие варианты. Проценты посчитаны, отталкиваясь от общего количества респондентов, которые предоставляют API внешним или внутренним клиентам
![](https://habrastorage.org/getpro/habr/upload_files/8ed/7c1/5a8/8ed7c15a81d2272ab3b44266eed51544.png)
Доминирующие типы Spring-приложений по-прежнему включают «предоставление API внутренним клиентам» (80% респондентов), «предоставление API внешним клиентам» (70%) и бизнес-приложения (70%). Plain JSON over HTTP остается наиболее распространенным типом API (78%), но постепенно уступает более формализованным типам, таким как OpenAPI (63%), Web Services (37%), GraphQL (25%) и т.п.
Стоит отметить, что в этом году мы добавили новый тип приложений — Generative AI, который был выбран более чем одним из десяти респондентов (12%). Учитывая огромный потенциал, внедрение Generative AI в Spring-приложения — это тренд, за которым мы будем продолжать внимательно следить.
Serverless архитектура продолжает завоевывать позиции
Какой тип СОВРЕМЕННЫХ архитектурных подходов вы используете, когда работаете со Spring? Выберите все подходящие варианты. Проценты посчитаны, отталкиваясь от общего количества респондентов, которые используют современные архитектурные подходы со Spring
![](https://habrastorage.org/getpro/habr/upload_files/d35/a90/d53/d35a90d53d5d3c20e5a49ceb3d87709a.png)
Использование serverless архитектуры выросло на 6 процентных пунктов по сравнению с предыдущим отчетом, достигнув 30%, что делает её единственным современным архитектурным стилем, демонстрирующим рост. Модульные монолиты показывают кажущееся снижение по сравнению с прошлым годом. Однако в этом году мы добавили уточнение (не традиционные монолиты) и полагаем, что разница объясняется именно этим. Возможно компании, использующие смесь современных и традиционных архитектурных стилей, с большей вероятностью применяют модульные монолиты.
Kubernetes в связке со Spring обретает зрелость
![Используют Kubernetes в своих Spring окружениях Используют Kubernetes в своих Spring окружениях](https://habrastorage.org/getpro/habr/upload_files/480/252/288/4802522885e7df1ea7201c6824955884.png)
Какие возможности Spring помогли бы задеплоить Spring приложение в Kubernetes?Выберите все подходящие варианты. Проценты посчитаны, отталкиваясь от общего количества респондентов, у которых Kubernetes является частью Spring окружения
![](https://habrastorage.org/getpro/habr/upload_files/846/6c4/1b8/8466c41b803e6ad3d1a9cdfaf6690f4c.png)
Использование Kubernetes в Spring-окружениях продолжает расти, и в этом году достигло 65% респондентов. Более половины (52%) используют дистрибутивы Kubernetes (DIY, TKG, Rancher, EKS и т.д.), треть (33%) — платформы на основе Kubernetes (OpenShift, TAP и т.д.), а более четверти (26%) — платформы, не базирующиеся на Kubernetes (CloudFoundry, Heroku и т.д.). Мы считаем удивительным, что половина пользователей предпочитает начинать с дистрибутива Kubernetes, а не с более завершенной платформы на основе Kubernetes, ведь первый вариант требует сильно больше дополнительной работы.
Большинство (91%) использует Kubernetes для приложений с долгим сроком непрерывной работы или веб-приложений; 37% запускают Ephemeral Containers или Kubernetes Jobs, а 32% используют Kubernetes для поддержки serverless архитектуры, “scale to zero” приложений или лямбда функций. В то время как 90% респондентов всё ещё хотят, чтобы Spring поддерживал дополнительные возможности Kubernetes, три наиболее востребованные возможности значительно просели по популярности. Это может говорить о том, что многим становится комфортно работать с Kubernetes и Spring. Те, кто уже использует Kubernetes в своем Spring-окружении, считают добавление специфических функций Spring для Kubernetes менее важным, чем те, кто его не использует.
Scale To Zero
![](https://habrastorage.org/getpro/habr/upload_files/4c5/e53/fb0/4c5e53fb05dd5632c10b100e24058ade.png)
Мы добавили к нашему исследованию несколько вопросов, касающихся scale-to-zero, то есть возможности освобождать ресурсы, когда они не нужны, чтобы снизить затраты. Почти половина (49%) опрошенных использует или хотели бы использовать эту технологию. Из 14% уже использующих scale to zero, 38% используют её для поддержки автомасштабирования обычных приложений, 32% для поддержки serverless платформы, а 26% используют её как для serverless платформ, так и для автомасштабирования обычных приложений. Примерно четверть (26%) ранее не слышали об этой технологии.
Невозможность обновиться
Скорость изменений в технологической сфере стремительно нарастает. Новые релизы Java и Spring Boot выходят каждые шесть месяцев, что требует от пользователей постоянного внимания и адаптации. Недавние обновления фреймворков стали более агрессивными в плане минимально поддерживаемых версий. Например, Jakarta EE обновилась с Java 11 до 17, а Spring — с Java 8 до 17. Java 21 уже выпущена, и Java 25 не за горами. Это касается не только самой Java — другие продукты в экосистеме, такие как Hibernate, также обновляются каждые шесть месяцев или даже чаще.
Пользователи сталкиваются всё с большим количеством вызовов, пытаясь шагать в ногу с изменениями. Несмотря на то, что последняя версия Spring Boot 3.2 используется 55% пользователей, Spring Boot 2.7 всё ещё остаётся популярной — 41% продолжают её использовать.
Главная причина отказа от обновления версии — “невозможность приоритизировать задачу обновления”, которую отметили 48% опрошенных. Однако по мере того, как всё больше компаний сталкиваются с необходимостью обновиться с Spring Boot 2 до Spring Boot 3, несовместимые библиотеки, не входящие в Spring, становятся более частой причиной отказа от обновления, увеличившись с 4% в прошлом исследовании до 13% в текущем.
Время для модернизации?
Какие типы инструментария ваша организация использует или хочет использовать для поддержания Spring приложений на современном уровне? Выберите все подходящие варианты.
![](https://habrastorage.org/getpro/habr/upload_files/42a/a9b/f62/42aa9bf62086eff5acc92f7de1319bfc.png)
Похожим образом на то, как интеграция кода изменилась от периодического процесса к непрерывному циклу, обновления также достигли той точки, где необходим значительный сдвиг, и существуют инструменты, чтобы сделать этот сдвиг реальностью. Однако, когда мы спросили, какие инструменты разработчики используют для поддержания Spring-приложений в актуальном состоянии, большинство (65%) ответило, что они все еще делают обновления вручную. На втором месте оказался Github Dependabot, используемый 27%-ами. Более мощные предложения, такие как OpenRewrite, не достигли даже 20%. И результаты были в значительной степени независимы от размера компании, хотя крупные компании были чуть более склонны использовать собственные инструменты.
Цветущие проекты
Spring продолжает идти в ногу с последними технологическими трендами, добавляя новые модули и внедряя передовые open source решения. Платформа предлагает разнообразие инструментов, позволяющих выбрать подходящее решение для любых задач.
В этом году мы уделяем особое внимание новому модулю Spring AI, который привлекает все больше внимания. Также растёт популярность Spring Modulith и различных интеграций с облачными решениями.
Самые популярные проекты 2024-го года
Какие модули Spring вы используете в своем окружении? Выберите все подходящие варианты.
![](https://habrastorage.org/getpro/habr/upload_files/418/94c/e90/41894ce901035661ffd69e19d643705e.png)
В 2024 году самыми популярными проектами Spring остаются Spring Security (76%), Spring Data (73%) и Spring WebMVC (70%). Значительный рост продемонстрировал модуль Spring Session, который упрощает управление пользовательскими сессиями в веб-приложениях, обеспечивая их сохранность при использовании внешних баз данных. Его популярность увеличилась на 6% с прошлого года и теперь составляет 36%.
Spring AI — новый тренд
В этом году мы уделили внимание двум дополнительным проектам: Spring Modulith и Spring AI. Оба внедрены в работу 8% респондентов. Ранее Spring Modulith находился в экспериментальной фазе. Этот проект, предназначенный для помощи разработчикам в создании хорошо структурированных, модульных приложений, был официально выпущен в августе 2023 года.
Spring AI, который упрощает внедрение ИИ в Spring приложения, покинул экспериментальную фазу только в начале 2024 года. Версия 1.0 пока не выпущена, что подчеркивает раннее принятие этого инструмента разработчиками. Это факт подчёркивает высокую заинтересованность в использовании ИИ технологий даже на начальных стадиях их развития.
Что такое Spring AI?
Spring AI — это инновационный проект, который стремится сделать разработку приложений с использованием искусственного интеллекта более доступной и простой. Он был создан с уверенностью, что будущее за Generative AI, который будет использоваться не только разработчиками на Python, но и станет неотъемлемой частью многих языков программирования.
Spring AI предлагает удобные интеграции с крупными языковыми моделями (LLM), такими как те, что делают возможным работу ChatGPT. Он также поддерживает технологию RAG (retrieval augmented generation), которая позволяет языковым моделям получать и использовать информацию из внешних источников.
Компании применяют RAG, чтобы дать языковым моделям доступ к приватным данным, которые не входят в их обучающий набор. Например, чат-боты могут использовать комбинацию LLM и RAG для извлечения данных из базы знаний клиентской поддержки, обеспечивая более точные и актуальные ответы на запросы пользователей.
Устойчивый рост для интеграций Spring c облачными решениями
![](https://habrastorage.org/getpro/habr/upload_files/034/de9/e72/034de9e728dccb6e693d20ae500a3da4.png)
Наши интеграции с облачными решениями продолжают демонстрировать устойчивый и значительный рост от отчета к отчету. Уже 78% пользователей Spring запускают Spring-приложения в облачных сервисах.
Критерии выбора проектов. Тренд в сторону управления и соответствия требованиям
Какие критерии вы рассматриваете, когда принимаете решение использовать новый модуль Spring? Отметьте все подходящие варианты.
![](https://habrastorage.org/getpro/habr/upload_files/dbc/125/fc5/dbc125fc591f90b871c1a440d93b5a8e.png)
Для команды Spring важно понимать, какие факторы влияют на выбор технологий. В нашем опросе участники назвали основными критериями модуля Spring зрелость (75%) и документацию (74%). Поддержка со стороны сообщества заняла третье место.
Для команды Spring важно понимать, какие факторы влияют на ваше решение при внедрении новых технологий. Когда мы спросили, какие критерии считаются важными при принятии решения об использовании Spring модуля, зрелость (75%), и документация (74%) остались в топе, в то время как поддержка сообщества оказалась на третьем месте.
Набрали популярность в этом году такие критерии, как одобрение со стороны архитекторов (рост на три процентных пункта с 36% до 39%) и коммерческая поддержка (рост на три процентных пункта с 14% до 17%). Эти показатели особенно важны для крупных компаний. Так, 61% организаций с более чем 100,000 сотрудников требуют одобрения архитектурной команды, а 30% — коммерческой поддержки. Этот факт подчеркивает важность управления и соблюдения требований в процессе разработки ПО. Учитывая растущие угрозы безопасности, компании уделяют больше внимания выбору и использованию программного обеспечения с открытым исходным кодом.
Testcontainers — наиболее популярная “новая” технология
![](https://habrastorage.org/getpro/habr/upload_files/d51/c83/8f9/d51c838f9002ed8ca56df1a210e11eb6.png)
В этом году Testcontainers вышли на первое место среди новых технологий для JVM. Согласно последнему отчету, 92% испытывают положительные эмоции по отношению к Testcontainers. Более половины (53%) уже применяют эту технологию, и еще 18% планируют ее использовать. Только 7% опрошенных никогда не слышали о Testcontainers, что подчеркивает ее популярность и простоту внедрения.
Что такое Testcontainers?
Testcontainers — это библиотека с открытым исходным кодом, созданная в 2015 году. Она позволяет запускать интеграционные тесты с реальными зависимостями, что помогает убедиться, что ваш код работает как надо в условиях, близких к реальным. С помощью Testcontainers можно запускать легковесные контейнеризированные версии баз данных, брокеров сообщений и других сервисов. Такой подход упрощает тестирование, ускоряет процесс и устраняет необходимость в мокировании и настройки сложных конфигураций окружения.
Интеграция с Testcontainers уже некоторое время присутствовала в Spring Boot, но с версии Spring Boot 3.1 и выше появились значительные улучшения, которые ещё больше облегчили использование Testcontainers как во время написания интеграционных тестов, так и во время разработки.
Project Loom
![](https://habrastorage.org/getpro/habr/upload_files/f7e/274/d48/f7e274d487c6e1e7ffe9d4752943e3fc.png)
Project Loom, или виртуальные потоки, стал нашей главной технологией в прошлом году благодаря своей легковесной модели, которая улучшает работу приложений с блокирующим вводом/выводом. Project Loom снижает потребление памяти и увеличивает параллелизм, что делает его популярным среди разработчиков. Однако в этом году, Project Loom сместился на второе место в рейтинге технологий, получив 91% положительных отзывов. Примерно 28% участников опроса уже используют Loom, а 37% планируют его внедрить, что является самым высоким показателем среди всех изученных технологий.
Нативная компиляция остается нишевой технологией
С какими препятствиями вы сталкиваетесь при внедрении native? Отметьте все подходящие варианты.
![](https://habrastorage.org/getpro/habr/upload_files/119/d77/26e/119d7726edc6a20dd3639a69f54e76e4.png)
GraalVM и нативная компиляция продолжают привлекать внимание в сообществе Java, но остаются нишевой технологией. Сегодня лишь 24% респондентов используют нативную компиляцию, но стоит отметить что это значение выросло на целых 17 процентных пунктов по сравнению с прошлым годом. При этом 29% планируют её внедрение в будущем, что делает её второй по популярности технологий. Несмотря на интерес, только 11% применяют её в продакшене.
Нас удивляет, что технологии компиляции в native-код остаются нишевым решением, несмотря на всю шумиху вокруг них. Это можно объяснить рядом технических сложностей, таких как проблемы с совместимостью (51% опрошенных) и недостаток производительности (22%). Также 19% респондентов ожидают улучшений от Project Leyden. Кроме того, одна из основных задач, решаемых native-компиляцией, — это оптимизация использования памяти. Однако эта проблема постепенно теряет свою актуальность: число людей, упоминающих ее как серьезный вызов, снизилось с 38% до 23% в текущем исследовании.
Native компиляция: сравнение GraalVM и Project Leyden
Обычно приложения на Java компилируются для выполнения на JVM. Такой подход приводит к некоторым издержкам по сравнению с нативно скомпилированными бинарными файлами. Компиляция приложений Java в нативные исполняемые файлы уменьшает задержку при запуске и снижает использование памяти в несколько раз. Рекомендуем ознакомиться со следующими технологиями:
GraalVM. GraalVM Native Images предоставляет новый способ развертывания и запуска Java приложений в виде нативно скомпилированных бинарных файлов. По сравнению с Java Virtual Machine, Native Images используют меньше памяти и запускаются намного быстрее. Они хорошо подходят для приложений, которые разворачиваются в контейнерах, и особенно интересны при использовании на serverless платформах, таких как "Function as a Service".
Project Leyden. Представленный в 2022 году, Project Leyden — это проект OpenJDK, направленный на "улучшение времени запуска, времени до достижения пиковой производительности и использования памяти." Он стремится постичь все возможности для достижения этой цели, включая нативную компиляцию (static runtime images). Проект также основывается на функции JVM, известной как AppCDS, которая уменьшает время запуска и использование памяти. Spring уже поддерживает AppCDS.
Эволюция ИИ
С момента нашего предыдущего отчёта Generative AI-инструменты стали одной из самых горячих тенденций в разработке ПО. В этом году мы провели глубокое исследование, чтобы выяснить, как участники сообщества Spring относятся к AI-инструментам, какие у них планы и в каком виде они бы хотели получать доступ к новым технологиям.
Мнения по поводу ИИ инструментов разнятся
Какие из перечисленных характеристик более точно выражают ваше мнение об использовании инструментов разработки, поддерживающих ИИ? Выберите один наиболее подходящий ответ.
Хотя сообщество Spring в целом положительно оценивает AI в разработке, есть и некоторые сомнения. Более половины (52%) считают, что AI помогает только иногда, и 15% видят его пользу лишь на начальном этапе работы с незнакомой технологией. Только 19% считают, что AI кардинально меняет правила игры в разработке. Конечно, эти цифры могут измениться в ближайшие годы с развитием AI-инструментов и ростом понимания их возможностей.
Большинство будут осваивать инструменты с ИИ
![](https://habrastorage.org/getpro/habr/upload_files/1ae/f49/75d/1aef4975d413be688bb53f668c87d79b.png)
Несмотря на смешанные чувства, использование AI-инструментов в разработке набирает обороты. Почти три четверти (73%) разработчиков планируют использовать AI-инструменты в ближайшие 12 месяцев, и самыми популярными из них являются GitHub CoPilot и ChatGPT.
Разработчики хотят интеграции инструментов в IDE
![](https://habrastorage.org/getpro/habr/upload_files/15f/68e/c89/15f68ec8956388e1587e4306b48a0622.png)
Более половины разработчиков предпочитают интеграцию AI-инструментов в IDE. Только 18% выбирают внешние веб-инструменты, а 27% не имеют предпочтений.
Те, кто выбирает интеграцию с IDE, более положительно относятся к AI: 24% считают их меняющими правила игры (на 5 процентных пунктов выше среднего значения), а 58% (на 6 процентных пунктов выше среднего значения) говорят, что они помогают лишь иногда.
Spring нейтрален к IDE и к инструментам с ИИ
Spring не привязан к конкретным IDE, поэтому вы можете выбирать любые инструменты разработки с поддержкой AI. В конце 2018 года Spring представил Spring Tools 4 — переосмысленный набор расширений для IDE. Он поддерживает различные среды, включая Visual Studio Code, Eclipse Theia, облачные IDE, такие как Codespaces, и настольные IDE, такие как Eclipse. Вы можете использовать свою любимую среду и добавлять в нее как инструменты поддержки Spring, так и AI.
Spring — ваш оазис в мире технологий
В эпоху стремительного развития технологий становится все сложнее идти в ногу с прогрессом. В этой связи образование и обучение играют все более важную роль. Для команды Spring важно ежегодно отслеживать, откуда наши пользователи получают информацию и что их интересует больше всего. В этом году новыми источниками знаний стали Generative AI и Spring Academy, а такой критерий приложений как observability возглавил список тем, которым пользователи хотят научиться.
Топ-5 источников информации
Где вы получаете информацию о Spring?
Выберите все подходящие варианты.
![](https://habrastorage.org/getpro/habr/upload_files/65b/d48/3ed/65bd483ed24bfa044e087c38df08028b.png)
Когда мы задали вопрос об источниках информации, сайт Spring.io снова занял первое место, его выбрали 69% респондентов. Второе место заняла документация с результатом 68%, впервые опередив Stackoverflow (66%). Внутренние эксперты продолжают набирать популярность, их выбрали 28% опрошенных. Josh Long вновь получил почетное упоминание вместе с нашими девелопер адвокатами: Dan Vega и DaShaun Carter, которые ведут подкаст Spring Office Hours.
Новые вызовы, новые источники
![](https://habrastorage.org/getpro/habr/upload_files/c59/708/4b1/c597084b1ebef693efd323cc4c7857f6.png)
В этом году мы добавили два новых пункта в список информационных ресурсов: Generative AI и Spring Academy. Generative AI теперь используется 26% опрошенных как источник информации. Выяснилось, что ИИ может быть не только полезным во время написания кода, но и послужить хорошей альтернативой поисковым системам. Тем не менее, поисковыми системами все еще пользуются 65% пользователей, которые ищут общую информацию по той или иной теме.
Ранее мы познакомили читателей с Spring Academy, которая предлагает курсы от экспертов по Spring, которые должны помочь вам в обучении. Хотя 15% опрошенных использовали Spring Academy в качестве источника информации, мы продолжаем улучшать программу, чтобы сделать её более популярной. Те, кто уже попробовал Spring Academy, очень довольны, хоть их пока что и не так много.
Spring Academy теперь бесплатна!
Курсы Spring Academy гарантируют, что вы получите самую точную и актуальную информацию. Обучение проходит в практической форме, что позволяет применять полученные знания и приобретать навыки, необходимые для создания надежных, масштабируемых и поддерживаемых приложений.
С апреля 2024 года Spring Academy Pro больше не требует платной подписки. Она доступна для всех, кто регистрирует рабочий, профессиональный или учебный адрес электронной почты.
Остались вопросы? Узнайте больше здесь.
Документация Spring продолжает улучшаться
Качественная документация — одна из трёх основных причин, по которой Spring нравится 67% пользователей. Только 8% респондентов отметили, что плохая документация является проблемой для них при использовании Spring, а это на 4 процентных пункта меньше, чем в прошлый раз. Среди тех, кто заметил проблемы в с документацией, 41% сталкивается с трудностью нахождения нужной информации, в то время как среди всех опрошенных этот показатель составляет 30%. Чтобы решить эту проблему, мы недавно обновили поиск по документации.
Мы всегда стремимся к улучшению. Три ключевые области, нуждающиеся в доработке по мнению пользователей в этом году: учебные пособия и руководства (47%), документация о работе Spring (34%) и возможность поиска актуальной информации (30%).
Все стремятся узнать больше о Spring
Что бы вы хотели изучить о Spring больше всего? Выберите все подходящие варианты
![](https://habrastorage.org/getpro/habr/upload_files/c8c/d3d/c9a/c8cd3dc9a55aa7df17788aa04a646497.png)
Независимо от опыта работы в экосистеме Spring, всегда есть чему учиться. Команда Spring отмечает, что 99% сообщества стремятся к постоянному обучению. Наибольший интерес вызывают: application observability (54%), проектирование и разработка Spring приложений (54%), а также нововведения и ключевые функции (53%).
Мы добавили четыре варианта ответа на этот вопрос в этом году и заметили значительные изменения: два новых варианта, application observability и проектирование/разработка Spring приложений, сразу заняли лидирующие позиции. Команда Spring много инвестировала в observability за последние годы. Мы действительно хотим понять, насколько велико расхождение между тем, что инженеры думают, что они хотят измерять и тем, какие измерения действительно важны. Еще один новый вариант, AI/ML, набрал впечатляющие 35%, а GraphQL заинтересовал 28% респондентов.
Application Observability — это “горячий” тренд
Если вы хотите понять, почему application observability стала такой популярной темой, посмотрите недавно выпущенный отчет State of Observability 2024. В нем говорится, что "количество приложений и их сложность увеличиваются, а объем телеметрических данных более чем удвоился за последние два года". С ростом популярности современных архитектур, таких как микросервисы и serverless, и усложнением приложений в целом, становится труднее быстро устранять возникающие проблемы. Именно эту задачу и стремятся решить observability-инструменты.
Подведение итогов и рекомендации
Современные архитектуры и платформы. Современные архитектуры и Kubernetes стали основными в Spring-разработке. Более половины разработчиков (52%) используют Kubernetes-дистрибутивы, треть (33%) - платформы на базе Kubernetes, и более четверти (26%) - платформы, не связанные с Kubernetes. Serverless набирает популярность: 30% уже используют эту архитектуру. Переход к scale to zero стал важным для контроля затрат на ресурсы, поскольку serverless архитектура и облачные решения продолжают завоевывать популярность. Треть (32%) опирается на Kubernetes для поддержки serverless, scale to zero, AWS Lambda или Function workloads.
Многочисленные варианты использования ИИ. Generative AI упоминался в каждом разделе этого отчета.
Интеграция AI в приложения. Сейчас 12% уже интегрируют AI в Spring-приложения, что больше, чем в прошлом отчёте (8%). Многие не стали долго ждать и уже начали использовать новейшие AI технологии.
Разработка с поддержкой от ИИ. Мнения об AI-разработке остаются смешанными, но 73% планируют внедрить её в ближайшие 12 месяцев.
AI как источник информации. Четверть (26%) используют AI для поиска информации вместо посещения сайтов или чтения документации.
Проблемы с обновлениями. Многим сложно обновлять ПО: 41% до сих пор используют Spring Boot 2.7. Хотя на рынке есть автоматизированные инструменты для решения этой проблемы, большинство (65%) обновляются вручную.
Управление и соответствие. В этом году мы наблюдаем, как изменяются приоритеты в выборе Spring проектов. Одним из самых заметных трендов стало усиление внимания к корпоративному управлению и поддержке. Особенно это актуально для крупных компаний. Более половины (61%) организаций с численностью сотрудников свыше 100 000 требуют одобрения от команды архитекторов перед внедрением новых решений. Кроме того, треть таких компаний (30%) считают коммерческую поддержку важным критерием при выборе технологий. Растущий уровень киберпреступности также вносит свои коррективы. Бизнесы становятся более осторожными и тщательно оценивают возможные источники рисков.
Рекомендации для руководителей команд Spring-разработчиков |
Рекомендации для Spring-разработчиков |
Подумайте о внедрении платформы, которая помогает оптимизировать разработку приложений вместо того, чтобы интегрировать все в дистрибутив Kubernetes. Такой подход также поможет в достижении целей, связанных с управлением и совместимостью. Изучите вопрос влияния разработки с использованием ИИ на вашу команду и на программное обеспечение, которые вы производите. Автоматизируйте обновления Spring с помощью существующих инструментов. |
Изучите Testcontainers, Spring AI, Spring Modulith и application observability. Поймите, как Project Loom и нативная компиляция могут повысить производительность приложений. Используйте AI-инструменты для улучшения навыков программирования Попробуйте воспользоваться Spring Academy, чтобы узнать больше о Spring. Это бесплатно. |
Этот ежегодный опрос — бесценный ресурс для работы с сообществом Spring, помогает нам приоритизировать инновации и решать проблемы. Спасибо за то, что нашли время прочитать этот отчет. Если вы также принимали участие в исследовании, спасибо за вашу обратную связь!
![](https://habrastorage.org/r/w1560/getpro/habr/upload_files/f45/6e0/e09/f456e0e09f90afcbb6c0f0212804d3a0.png)
Присоединяйтесь к русскоязычному сообществу разработчиков на Spring Boot в телеграм — Spring АйО, чтобы быть в курсе последних новостей из мира разработки на Spring Boot и всего, что с ним связано.
Ждем всех, присоединяйтесь!
xammer
Правильно отмечено в статье в разделе обновления. Пока в команде Spring а будет "пацанская " трактовка стандартов JavaEE (Jakarta) крупные enterprise проекты будут все так же делать на консервативных и стабильных WebSphera, EAP RedHat и пр. Крупному бизнесу не нужны хайпоавые стартапы на год-два.
breninsul
Хм, кто - то еще использует WebSphera для новых проектов? Зачем,?
AstarothAst
А банки-то и не в курсе...
xammer
Если СберТех до сих пор использует IIS, с заделом перехода до санкций на EAP и Fuse, не говоря про попытку Альфа Банка сделать Альфа Лаб (Alpha digital сейчас )- где все решения сделаны на EAP RedHat и ядро процессинга на IBM, про ПСБ со своей системой а-ля 1С и пр. Про остальные банки можно сказать - да - колхоз. Студенты пилят массово на спрингах кучу сервисов, которые не поддерживаются более 5 лет, бросаются (все устарело - переписать с нуля) и имеют огромную совокупную стоимость владения. Решения на классических JavaEE решениях выглядят прямо подарком для инвесторов. С точки зрения крупного бизнеса. Хотя кому я поясняю...
AstarothAst
Какой-то набор случайных слов...
Крупному бизнесу совершенно фиолетово как называются технологии, которые решают их бизнес-задачи, лишь бы они их решали.