Skip to main content

Informe del ecosistema JVM 2018: sobre tu plataforma y aplicación

Escrito por
Headshot of Andrew Binstock

Andrew Binstock

17 de octubre de 2018

0 minutos de lectura

Te damos la bienvenida a la encuesta más grande que se haya realizado sobre desarrolladores de Java. Los datos presentados en el siguiente informe provienen de más de 10.200 cuestionarios. Si participaste en la encuesta, muchas gracias por dedicar tu tiempo a compartir tu experiencia en beneficio de los demás. Este informe se divide en cuatro publicaciones:

  1. Informe del ecosistema JVM 2018: sobre tu JDK

  2. Informe del ecosistema JVM 2018: sobre tus herramientas

  3. Informe del ecosistema JVM 2018: sobre tu plataforma y aplicación

  4. Informe del ecosistema JVM 2018: sobre tus procesos y tú

También tenemos un atractivo informe en PDF, elaborado artesanalmente, que reúne toda esta información en un solo archivo descargable.

¡DESCARGA EL INFORME DEL ECOSISTEMA JVM 2018!

Sobre tu plataforma

15. ¿Qué plataformas en la nube usas?

Según nuestros datos, el 57% de las personas encuestadas usa algún tipo de plataforma en la nube.

Gráfico de dona que muestra que el 57 % respondió «Sí, lo hacemos» y el 43 % respondió «No, no lo hacemos».

Si consideramos solo a quienes sí usan plataformas en la nube, Amazon Web Services (AWS) lidera con casi dos tercios de los votos. Microsoft Azure y Google Cloud Platform le siguen, con el 18% y el 20%, respectivamente; Red Hat OpenShift y Oracle Cloud también están ganando terreno.

Gráfico de barras horizontales que compara plataformas en la nube: Amazon AWS 63 %, Google Cloud 20 %, Azure 18 % y otros proveedores entre 3 % y 10 %.

16. ¿Qué enfoques de computación en la nube usas?

Los contenedores lideran con el 43%, mientras que las máquinas virtuales (VM) se mantienen en competencia con un sólido 33%. Como tecnología relativamente nueva, Serverless/FaaS tiene una fuerte presencia: casi 1 de cada 10 personas encuestadas adopta este enfoque. PaaS, que existe desde hace mucho más tiempo, tiene una proporción similar, del 10%. Una de cada 3 personas encuestadas no usa ningún enfoque de computación en la nube.

Gráfico de barras que muestra los enfoques de nube: contenedores 43 %, máquinas virtuales y ninguno 33 % cada uno, PaaS 10 %, sin servidor/FaaS 9 % y otros 1 %.

17. ¿Qué herramientas de implementación continua o automatización de lanzamientos usas?

Casi 1 de cada 2 personas encuestadas no usa ninguna herramienta de implementación continua ni de automatización de lanzamientos. La proporción podría ser aún mayor, ya que casi 1 de cada 5 no sabe qué herramientas se usan para la implementación continua o la automatización de lanzamientos. Sorprende un poco que bash sea tan popular como Chef y Puppet. Aunque, ¿a quién queremos engañar? ¡A todo el mundo le encanta bash! Ansible es la principal herramienta de implementación continua, con un 16%.

Gráfico de barras que muestra las herramientas usadas para la entrega continua: Ansible 16 %, bash 12 %, Chef 5 %, Puppet 8 %, otras 9 %, no lo sé 18 % y no usamos ninguna 43 %.

Sobre tu aplicación

18. ¿Qué otros lenguajes (que no sean de JVM) usa tu aplicación?

En el mundo políglota actual, sería ingenuo suponer que los lenguajes de JVM son los únicos que se usan en las aplicaciones de JVM. De hecho, más de la mitad de estas aplicaciones también usan JavaScript en el frontend; 1 de cada 5 usa Python y casi 1 de cada 4, Node.js. Como era de esperar, muchos proyectos también usan SQL.

Gráfico de barras horizontal que muestra el uso de lenguajes de programación: JavaScript para frontend, 57 %; SQL, 56 %; Node.js, 23 %; Python, 21 %; y otros lenguajes.

19. ¿Qué frameworks web usas?

Pocas cosas expresan mejor el dominio de Spring en el ecosistema de Java que este gráfico. Cuatro de cada 10 desarrolladores usan Spring Boot en sus aplicaciones, y es interesante ver que, por primera vez, superó al framework Spring MVC. JSF es el más cercano, con un respetable 19%, y Struts, pese a las noticias constantes sobre vulnerabilidades de ejecución remota de código, ocupa con fuerza el cuarto lugar: casi 1 de cada 10 desarrolladores lo adopta. Es probable que más de 1 de cada 5 desarrolladores presuma de lo pequeñas que son sus aplicaciones, ya que no necesitan ningún framework web.

Gráfico de barras horizontales sobre el uso de frameworks web de JVM: Spring Boot 40 %, Spring MVC 36 %, JSF 19 % y Ninguno 21 %; otros frameworks están por debajo del 10 %.

20. ¿Qué frameworks ORM usas?

Más de 1 de cada 2 desarrolladores usa Hibernate en sus aplicaciones. Casi 1 de cada 4 está conforme con el viejo y confiable JDBC, y, por supuesto, los desarrolladores de Spring pueden usar la plantilla Spring JDBC, que utiliza el 23%. Una de cada 5 personas no usa ningún framework ORM para acceder a sus datos. (Los desarrolladores podían elegir más de una respuesta, por lo que los totales no suman 100%).

Gráfico de barras que muestra el uso de proveedores ORM: Hibernate 54 %, JDBC sin framework 23 %, Spring JDBC Template 23 %, EclipseLink 10 %, MyBatis 6 %, Otros 6 % y Ninguno 20 %.

21. ¿Qué base de datos usas en producción?

Una vez más, Oracle Database ocupa el primer lugar: casi 3 de cada 10 aplicaciones la usan en producción. MySQL y PostgreSQL son competidores fuertes, con el 21% y el 20%, respectivamente. MongoDB es la base de datos NoSQL más usada, con un 5%.

Gráfico de barras horizontales que muestra la popularidad de las bases de datos: Oracle Database, 27%; MySQL, 21%; PostgreSQL, 20%; y otras bases de datos, entre 1% y 9%.

22. ¿Qué servidor de aplicaciones usas en producción para tu aplicación principal?

Más de 4 de cada 10 personas encuestadas eligen Tomcat como servidor de aplicaciones. Esta opción rápida, liviana, de código abierto y favorita de la comunidad lleva mucho tiempo a la cabeza, y no parece que eso vaya a cambiar pronto. JBoss y Wildfly no se quedan muy atrás, con un 15%. En la categoría de servidores de aplicaciones empresariales de mayor escala, WebLogic supera ligeramente a WebSphere. La categoría «Otros» incluye TomEE y Liberty Profile, con un 1% cada uno, que encabezan ese grupo.

Gráfico de barras que muestra la popularidad de los servidores de aplicaciones: Tomcat 41 %, JBoss/Wildfly 15 %, Jetty 9 %, WebLogic 6 %, WebSphere y Glassfish/Payara 5 % cada uno.

23. ¿Desarrollas en el mismo servidor de aplicaciones que usas en producción?

A pesar de los riesgos evidentes, más de un tercio de las personas encuestadas desarrolla en un servidor distinto al que usa en producción, y cambia el posible costo de las fallas por la comodidad. Sorprendentemente, quienes afirman usar servidores de aplicaciones distintos (o ninguno) durante el desarrollo tienen una gran variedad de aplicaciones y servidores en producción. Esperábamos encontrar sobre todo servidores de aplicaciones más grandes y monolíticos, cuyo uso local podría causarles problemas a los desarrolladores, pero las proporciones fueron similares.

Gráfico de dona que muestra respuestas: 64 % Sí y 36 % No.

24. ¿Cuántas dependencias directas de código abierto tiene tu aplicación principal?

Sería interesante saber cuántas personas tuvieron que comprobar cuántas dependencias directas tiene su aplicación. ¡Apuesto a que fueron la gran mayoría! ¡Qué suerte que no pregunté también por las dependencias directas y transitivas! De hecho, casi 1 de cada 4 personas encuestadas admite abiertamente que no sabe cuántas dependencias tiene. Esto podría deberse a que la aplicación se distribuye mediante un sistema de compilación más complejo. Los resultados muestran que menos de 1 de cada 20 personas encuestadas no usa dependencias de código abierto, mientras que un contundente 72% sí las usa. Si excluimos a quienes no lo saben, vemos que el 95%, es decir, 19 de cada 20 personas encuestadas, usa dependencias de código abierto en sus aplicaciones. Esto demuestra cuánto ha avanzado la adopción del código abierto y la importancia de garantizar que estas bibliotecas de terceros ofrezcan la seguridad, calidad y disponibilidad que necesitamos para nuestras aplicaciones.

Gráfico de barras que muestra la cantidad de dependencias de código abierto: 0 (4 %), 1–5 (15 %), 6–10 (15 %), 10–20 (18 %), más de 20 (25 %) y no lo sé (23 %).

Resumen de la plataforma y la aplicación

  • Más de 6 de cada 10 desarrolladores que usan plataformas en la nube implementan en AWS

  • Más de 4 de cada 10 desarrolladores usan contenedores

  • Más de 4 de cada 10 desarrolladores no usan ninguna herramienta de implementación continua

  • Casi 6 de cada 10 desarrolladores también incluyen JavaScript de frontend en sus aplicaciones

  • Casi 1 de cada 4 desarrolladores también usa Node en sus aplicaciones

  • 4 de cada 10 desarrolladores usan Spring Boot

  • Más de 1 de cada 2 desarrolladores usa Hibernate en sus aplicaciones

  • Casi 3 de cada 10 desarrolladores usan Oracle Database en producción

  • 4 de cada 10 desarrolladores usan Tomcat en producción

  • 1 de cada 4 desarrolladores no sabe cuántas dependencias de código abierto incluye su aplicación

  • 19 de cada 20 desarrolladores usan dependencias de código abierto en sus aplicaciones

¡Hay más en este informe! ¿Qué sección quieres leer ahora?

  1. Informe del ecosistema JVM 2018: sobre tu JDK

  2. Informe del ecosistema JVM 2018: sobre tus herramientas

  3. Informe del ecosistema JVM 2018: sobre tu plataforma y aplicación

  4. Informe del ecosistema JVM 2018: sobre tus procesos y tú

¡DESCARGA EL INFORME DEL ECOSISTEMA JVM 2018!

Leer más

Blog

Los modelos de frontera encontraron las vulnerabilidades. Solo el atacante encontró las cadenas.

El análisis estático encontró las fallas, pero solo las pruebas de ataque en vivo demostraron cómo podían encadenarse para provocar brechas. Una comparación de Evo COS, Claude Security y Claude Code Security.

feature insights context
Blog

Los ataques autónomos ya están aquí. La defensa debe estar a su altura.

Los atacantes autónomos están reduciendo el tiempo disponible para defenderse. Descubre cómo el descubrimiento, la corrección, la validación y la prevención continuos pueden ayudar a los equipos de seguridad a seguirles el ritmo.

Blog

Por qué los agentes de programación con IA siguen generando fallas de control de acceso

Los agentes de programación con IA pueden generar lógica de autorización que compila y supera la revisión, pero expone los datos de un inquilino a otro. Descubre por qué es difícil detectar el control de acceso roto y cómo prevenirlo.