Tendencias para escribir aplicaciones nativas de la nube

  • Gestión de apps

Hace veinte años parecía seguro que los cimientos de la futura infraestructura del centro de datos serían los clústeres de Linux que se ejecutaban en hardware x86 "básico".

Los grandes proveedores no lo llamaban "nube"; en cambio, los proveedores lo llamaron computación de servicios públicos, computación autónoma, computación en red, bajo demanda y otros términos.

Dos décadas después, sabemos cómo llamarlo ("nube"), y sabemos que está construido con contenedores y mucho Linux. Como se detalla en la nueva encuesta Lightbend Cloud Native Adoption Trends 2020-2021, el 75,2% de los encuestados ya aloja la mayoría de sus aplicaciones en algún tipo de infraestructura en la nube y aproximadamente el 60% ejecuta la mayoría de sus nuevas aplicaciones en Kubernetes / contenedores.

Ahora nos enfrentamos a otro replanteamiento importante que afectará a decenas de millones de desarrolladores que operan en la capa de la aplicación, donde hay hilos en común sobre conceptos cruciales, pero todos aportan predicciones diferentes para el futuro.

Todos hemos sentido que esto está sucediendo a medida que los contenedores se han comido el panorama de las máquinas virtuales, a medida que los lenguajes de programación web (JavaScript) superan a JVM / lenguajes del lado del servidor (Java) en popularidad para los desarrolladores, y como sin servidor, JAMstack y otros aún en existencia. Los fenómenos nombrados cambian la "experiencia del desarrollador" al escribir aplicaciones nativas de la nube. La diversidad de opciones en la "forma correcta" de escribir software para la nube se ha convertido en una especie de salvaje oeste para los desarrolladores.

Crear aplicaciones nativas de la nube significa crear software diseñado teniendo en cuenta las ventajas y desventajas de la nube. Significa aprovechar el hecho de que es posible subcontratar categorías enteras de funcionalidad, como bases de datos y autenticación, a servicios de nube pública y planificar el hecho de que la comunicación entre esos componentes de nube puede no ser confiable.

Algunos desarrolladores todavía prefieren los frameworks que ellos mismos mantienen y escalan, mientras que el lado comercial claramente prefiere los frameworks que se entregan "como un servicio" a través de API, según la encuesta. Es decir, el 54,7% de los gerentes dijo que su máxima prioridad era escribir aplicaciones comerciales que aprovechen específicamente la infraestructura de nube subyacente frente al 38,3% de los desarrolladores. Mientras tanto, consumir servicios de back-end por API en lugar de construir y mantener los suyos propios es la característica definitoria de la arquitectura emergente JAMstack (JavaScript / API / Markup) que tiene el peso del impulso del lenguaje de programación React de Facebook detrás. Pero es un enfoque completamente diferente a la mentalidad del lado del servidor de la vieja escuela para los desarrolladores de Java que aún gobiernan y controlan vastos sistemas heredados en la mayoría de las empresas importantes.

La encuesta también sugiere que los desarrolladores piensan en la computación en la nube más en términos de tecnologías específicas como Kubernetes y contenedores, mientras que la gerencia piensa en la computación en la nube más como una nueva forma de crear aplicaciones.

Descubre la innovación

Para asegurar el éxito empresarial, ahora y a futuro, es imprescindible maximizar el retorno de la inversión existente en software, a la vez que innovar y adoptar nuevas tecnologías. Los retos que hay abordar para competir en un mundo de TI Híbrida incluyen DevOps, Seguridad, Gestión de riesgos y Análisis predictivo. Puedes obtener más información sobre cómo abordar estos retos e innovar en este enlace.