Anteriormente trabajé durante varios años como Consultor de Servicios Profesionales. En otras palabras, pasé miles de horas enfrentando numerosos desafíos para muchos proyectos diferentes. Una gran parte de este tiempo tuve una prioridad recurrente: proporcionar al equipo de desarrollo las mejores herramientas y metodologías para optimizar su eficiencia.
Esta es una tarea difícil y sin fin, porque depende de cosas que evolucionan continuamente, como el conocimiento y las herramientas. Si observa de cerca las iniciativas que tienen un impacto en este campo, notará que la mayoría de ellas tiene aspectos comerciales y técnicos.
El movimiento DevOps es un muy buen ejemplo. DevOps se basa principalmente en tecnologías de máquinas virtuales y contenedores, pero solo puede iniciarse con una gran inversión de la administración. Muchos no lo hicieron al principio, pero ahora que esta innovación se ha convertido en el estándar de la industria, están tratando de ponerse al día. Esto me hace feliz porque considero que DevOps es mucho mejor para futuras innovaciones y desarrollos, y ¿a quién no le gustan las grandes plataformas para crear y disfrutar jugando con ellas?
Pero, en realidad ese es otro tema. Ahora quiero centrarme únicamente en uno de los beneficios específicos de la tecnología de máquina virtual: simplificar la administración de entornos de desarrollo. Con la creciente necesidad de flexibilidad en los proyectos de desarrollo debido a las actualizaciones tecnológicas, el tiempo de comercialización, la rotación de personal, la descentralización, etc., cualquier cosa que facilite la actualización, la seguridad o la integración de miembros del equipo es más que bienvenida. Se puede hacer de una manera bastante fácil y económica con dependencias limitadas.
La idea principal es proporcionar o, en otras palabras, suministrar y asignar los recursos (máquinas virtuales, almacenamiento, alimentación, etc.) necesarios para proyectos o equipos. Esto conlleva numerosos beneficios:
Como soy un gran creyente de “una imagen vale más que mil palabras”, voy a ilustrar cómo se puede realizar el suministro en el contexto específico de un equipo de desarrollo de aplicaciones empresariales que utiliza el Bonita Studio 7.7.4 Community IDE (una aplicación de código abierto en Eclipse RCP) como entorno de desarrollo y el servicio en la nube AWS WorkSpaces como herramienta de suministro. Elegí este conjunto en particular porque lo conozco bien y cualquiera puede replicarlo sin coste.
Para probarlo, deberás crear una cuenta de AWS. Esto es gratis cuando no sobrepasas las limitaciones del nivel gratuito. Instala la aplicación cliente de AWS WorkSpaces en el entorno local.
En este ejemplo, quiero crear un entorno de desarrollo. Primero, lanzo un nuevo AWS WorkSpace y preparo mi directorio. Puedo identificarme o crear un usuario, seleccionar el paquete estándar con Windows 10 y mantener las configuraciones predeterminadas.
Así se ve cuando me conecto a través de la aplicación cliente de AWS WorkSpaces por primera vez, como esperábamos tiene Windows 10.
Después podemos realizar una prueba rápida: me aseguro de poder crear un diagrama en el software utilizado en el paso anterior y vuelvo a conectarme a AWS WorkSpace. Compruebo que sigo viendo el diagrama y lo elimino.
Este AWS WorkSpace ya está listo para el desarrollo de aplicaciones empresariales. En la vida real, es probable que instale y configure otras cosas como Git y Maven, pero no son necesarias para este ejemplo.
En esta etapa, solo yo puedo acceder a este entorno de desarrollo, pero es probable que en el futuro necesite suministrar y asignar otras instancias de este mismo entorno de desarrollo a otros usuarios. Para facilitar esto, AWS WorkSpaces me permite crear una imagen/paquete basado en un AWS WorkSpace existente y lanzar nuevos AWS WorkSpaces desde el mismo.
No es necesario explicar lo útil que es esto cuando se tienen que crear, configurar y asignar una gran cantidad de entornos de desarrollo en un período de tiempo realmente corto. Lo he usado muchas veces para impartir sesiones de capacitación técnica, por ejemplo.
Ahora, con una mejor idea de cómo se puede suministrar y escalar, es posible que te preguntes: ¿cómo mantengo todas estas instancias que tienen que permanecer por un tiempo? Considero que este es el principal desafío y, desafortunadamente, la respuesta es “depende”. Lo que sé con certeza es que predefinir una estrategia/plan es crucial para evitar riesgos mayores.
Supongamos que quiero que los desarrolladores utilicen una versión más reciente de la solución BPM en el contexto del ejemplo anterior. Entonces tengo que gestionar la mejora. El servicio AWS WorkSpaces no es de gran ayuda en esta situación (que yo sepa) porque cada AWS WorkSpace es independiente.
En este caso específico, podría:
Obviamente, los WorkSpaces de AWS son solo una de las muchas opciones, y otros servicios y/o tecnologías disponibles podrían adaptarse mejor a sus necesidades específicas. Pero lo que realmente me gusta de este tipo de solución es lo básico que es y la cantidad de beneficios que proporciona. Y, sin embargo, muchas organizaciones aún no lo saben o no lo han considerado por alguna razón.
Para terminar, me gustaría resaltar un pensamiento adicional: este enfoque generalmente viene con un monitoreo potente, un requisito importante para monetizar el acceso de los entornos de desarrollo de la misma manera que muchos ya lo hacen con las API.
Aquí hemos visto cómo poner en marcha la tecnología de máquina virtual y algunos de sus beneficios, anímate a probar sus ventajas ahora que conoces los pasos para lanzarlo.
En esta tribuna, Adam Levine, CCO de Data4 Group, explica los retos para que los…
En esta tribuna, David Parry-Jones, Director de Ingresos de DeepL, analiza el impacto de la…
En esta tribuna, Ignacio Zaera, fundador y CEO de Simpling.pro, explica la importancia del sampling…
Sergio Rodríguez de Guzmán, CTO de PUE, explica en esta tribuna cómo la calidad de…
Zoom presenta su nueva versión de AI Companion y Zoom Workplace, con herramientas para optimizar…
En esta tribuna, Mark Ryland, Director de Seguridad de Amazon, explica la importancia de una…