Por Niklas Heidloff, IBM developer advocate
Si bien las tecnologías en la nube y los modelos de programación modernos como la aplicación nativa de la nube existen desde hace varios años, la mayoría de las aplicaciones empresariales todavía se ejecutan on-premises y/o usan stack clásicos y servidores de aplicaciones.
No todas las aplicaciones necesitan, deben o pueden modernizarse. Sin embargo, para muchas aplicaciones esto tiene mucho sentido porque permite a las empresas reducir costos, ser más ágiles y brindar mejores experiencias de usuario.
1. Reducir el uso de recursos
La mayoría de las aplicaciones empresariales se ejecutan en máquinas virtuales. En cambio, ejecutar las mismas aplicaciones en contenedores ahorra muchos recursos, especialmente memoria. Además, las plataformas de orquestación de contenedores pueden equilibrar las cargas de trabajo mucho mejor que las máquinas virtuales. De manera similar, las bibliotecas y las herramientas de desarrollo modernas pueden ahorrar recursos. Un gran ejemplo es OpenJ9, que requiere menos de la mitad de la memoria en comparación con otras JVM. El uso de contenedores y de bibliotecas modernas a menudo ni siquiera requiere ningún cambio de código.
2. Reducir los costos de las licencias
Las ofertas clásicas de software comercial tienen costos de licencia. Debido al éxito de open source, muchas de estas ofertas clásicas se pueden reemplazar por software de open source para el que, en muchos casos, además tiene soporte comercial. Un buen ejemplo es WebSphere ND frente a la versión de open source Open Liberty. Los proyectos de open source también suelen tener comunidades sólidas que brindan soporte y reparaciones gratuitas.
3. Conseguir más agilidad y un tiempo de comercialización más rápido
Los despliegues de nuevas versiones de aplicaciones monolíticas suelen ser difíciles, lentos y peligrosos. Con contenedores y canales se pueden lograr entregas continuas para que los despliegues se puedan realizar con mayor frecuencia. Por ejemplo, los microservicios permiten actualizar partes separadas y CI/CD permite revertir a versiones en ejecución en caso de problemas.
4. Permitir el desarrollo de nuevas funciones más importantes
Muchas aplicaciones empresariales han crecido a lo largo de los años y han sido desarrolladas por diferentes personas, lo que a menudo genera deudas técnicas. La deuda técnica consume presupuesto para mantener las aplicaciones en funcionamiento y dificulta el desarrollo de nuevas funciones más importantes. Por eso tiene sentido refactorizar las aplicaciones que se supone que deben ampliarse significativamente.
5. Ejecutar aplicaciones de misión crítica en una plataforma preparada para el futuro
En muchos casos, las empresas han definido y establecido estrategias sobre en qué plataformas ejecutar aplicaciones críticas para el negocio. Por ejemplo, OpenShift, la distribución de Kubernetes, se puede ejecutar on-premises y en diferentes nubes públicas, por lo que muchas empresas la han elegido como plataforma estratégica. La modernización de las aplicaciones para que se ejecuten en OpenShift garantiza una plataforma estable a más largo plazo y el apoyo continuo de los equipos de operaciones.
6. Mejorar la eficiencia operativa
Cuando todas las aplicaciones empresariales se ejecutan en plataformas de contenedores como Kubernetes u OpenShift, se pueden gestionar de manera coherente. Todo es un contenedor, sin importar qué lenguajes de programación y pilas de aplicaciones se utilicen. Esto facilita las operaciones. Pero para ser justos, esto también requiere cambios organizativos y culturales que requieren tiempo para establecerse.
7. Aumentar la productividad de los desarrolladores y aprovechar la fuerza laboral de los desarrolladores
Los contenedores aumentan la productividad de los desarrolladores, ya que abordan el problema de «funciona en mi máquina». Además, la configuración de entornos de desarrollo es más rápida. Dado que los desarrolladores son más productivos, se divierten más, lo que significa que están más motivados y son más eficientes. A través de contenedores, las aplicaciones empresariales pueden ser políglotas, ya que se pueden implementar diferentes servicios con diferentes lenguajes. Esto permite a los empleadores encontrar más desarrolladores, ya que no todos los desarrolladores conocen Java o Cobol.
8. Mejorar las experiencias de usuario
Los usuarios de aplicaciones deciden si las aplicaciones son buenas o no, por lo que las buenas experiencias de usuario son clave. Las aplicaciones más antiguas a menudo tienen debilidades que se pueden abordar con tecnologías modernas. Por ejemplo: nuevas interfaces de usuario, aplicaciones móviles, API, tiempos de respuesta más rápidos, resiliencia y más.
9. Manejar costosas aplicaciones heredadas
A veces, las aplicaciones heredadas se vuelven muy caras. Por ejemplo, después de que finaliza el soporte oficial para las plataformas o servidores utilizados o cuando no se pueden encontrar desarrolladores para mantener el código. En algunos casos, estas aplicaciones pueden quedar obsoletas. En otros casos, podría ser posible reemplazarlas con ofertas de SaaS. Por ejemplo, una aplicación de planificación de vacaciones de 20 años puede reemplazarse por varias ofertas de SaaS o de open source.
10. Mantener felices a los gerentes
Esta no es realmente una buena razón, sino algo que he escuchado de los desarrolladores. Para determinadas aplicaciones, no tiene sentido modernizarlas. Sin embargo, para los desarrolladores esto significa poder aprender nuevas habilidades y ¿a quién no le gusta esto? Es por eso que estamos llevando a cabo el evento virtual “Build Smart son Kubernetes”, del 22 al 24 de Junio en el que compartiremos en vivo y de forma gratuita talleres prácticos en español en los que podrás desarrollar las habilidades que necesitas para codear en el mundo del desarrollo contenerizado y nativo en la nube, de la mano de nuestros expertos de IBM y Red Hat. Regístrate aquí: developer.ibm.com/es/conferences/build-smart-on-kubernetes-latam/
La Organización de las Naciones Unidas proclama el 18 de septiembre como Día Internacional de la Igualdad Salarial, con la finalidad de resaltar la importancia de equipar la igualdad salarial por un trabajo de igual valor. La igualdad salarial o igualdad de remuneración se refiere al derecho de hombres y mujeres a recibir una remuneración equitativa por trabajos de igual valor. Este concepto considera factores como competencias, condiciones laborales, calificaciones y niveles de responsabilidad en el desempeño del puesto. Además, la igualdad salarial refuerza los derechos humanos y la igualdad de género, y cuenta con el respaldo de actores clave como la comunidad internacional, la sociedad civil, agencias de ONU Mujeres, los Estados Miembros y la Organización Internacional del Trabajo (OIT). Como antecedente histórico, tras la Segunda Guerra Mundial, en 1951 se estableció el Convenio sobre Igualdad de Remuneración, reconocido como el primer instrumento internacional que impulsó la incorporación masiva de las mujeres al mundo laboral, ocupando posiciones en la primera línea de producción en varios países. La creación de este convenio surgió como respuesta a la desigualdad salarial, vista como una clara forma de discriminación laboral. Este hito marcó el comienzo de un avance significativo hacia una mayor igualdad de género en el mercado laboral, estableciendo las bases para eliminar brechas económicas y promover un entorno laboral más justo e inclusivo. https://www.tiktok.com/@mscnoticias
La leyenda de Rómulo y Remo narra la historia de los fundadores míticos de Roma. Según el relato, Ascanio, hijo del héroe troyano Eneas, estableció la ciudad de Alba Longa a orillas del río Tíber. A lo largo de los años, sus descendientes reinaron sobre esta ciudad, hasta llegar a Numitor y su hermano Amulio. Amulio destronó a Numitor y, para evitar que tuviera descendencia que reclamara el trono, obligó a su hija, Rea Silvia, a convertirse en sacerdotisa de la diosa Vesta, asegurando así su virginidad. Sin embargo, Marte, el dios de la guerra, se unió a Rea Silvia, quien dio a luz a los gemelos Rómulo y Remo. Temiendo por su vida, Amulio ordenó que los recién nacidos fueran arrojados al Tíber en una canasta. La corriente los llevó hasta la zona de las siete colinas, cerca de la desembocadura del Tíber. Allí, una loba llamada Luperca los descubrió mientras bebía agua. Ella los llevó a su guarida en el Monte Palatino y los amamantó hasta que un pastor los encontró. El pastor y su esposa criaron a los mellizos, quienes al llegar a la adultez restauraron a Numitor en el trono de Alba Longa. Rómulo y Remo decidieron fundar una nueva ciudad como colonia de Alba Longa en el lugar donde la loba los había protegido. Así nació Roma, con Rómulo y Remo como sus primeros reyes. El mito de la loba que amamantó a los gemelos ha sido objeto de diversas interpretaciones. Algunos creen que la loba fue en realidad una mujer que cuidó de ellos, ya que el término latino “lupa” también se usaba para referirse despectivamente a las prostitutas de la época. Este relato, cargado de simbolismo, es fundamental para entender el origen mítico de una de las civilizaciones más influyentes de la historia. https://www.tiktok.com/@mscnoticias