¿Podemos desarrollar en un IDE Web?

He estado en un evolutivo de una imagen, más su correspondiente chart, de Php ya basado en uno preexistente. Durante el proceso me han dado acceso a unas máquinas virtuales donde estaba desplegado VSCode (el IDE de MS) en un formato Web. Para mí ha sido una auténtica revelación ya que he visto una mecánica de desarrollo completamente automatizada, en la nube. 

El paradigma que estoy desarrollando en mi cabeza gira entorno a este axioma, todo los recursos están en la nube:

  • el repositorio, 
  • el entorno de desarrollo, 
  • las herramientas de:
    • compilación, y
    • despliegue, 
  • los entornos de:
    • test de productos
    • Preproducción de los productos
    • Producción
Ahora ninguna organización tiene que preocuparse porque pueda tener una fuga de información ya que:
  • los entornos de desarrollo son virtualizados / contenerizados, se pueden acceder por sesiones de remotas a los equipos y no se corre el riesgo que cualquier amenaza cibernética a los sistemas de los equipos de desarrollo no afecta a la organizacion, 
  • el único punto de acceso son estos entornos de de desarrollo, conectados con las herramientas de compilación que a su vez se conectan con los entornos de compilación. Nada está fuera de la organización.
La organización puede gestionar todos los recursos en una infraestructura on-premise, hibrida o cloud. Pero tiene al menos tiene el completo control de: 
  • el entorno, entregando recursos a los desarrolladores, de forma dinámica en el entorno de desarrollo (code-server), 
  • el repositorio de código
  • los pipelines en Jenkins o similar,
  • las herramientas de calidad del software, 
  • la seguridad del código,
  • los nodos de compilación, 
  • los repositorios de objetos
  • los nodos de test,
  • las herramientas de test de Frontend/Backend
  • los nodos de Preproducción, 
  • las herramientas de stress, 
  • los nodos de Producción.
Con ello se cierra, a mi juicio, todo el proceso de despliegue de aplicaciones en la nube. 

(UPDATE)
Pues realizado, en un contenedor y no ha sido tan dífícil como creía. Solo tenía que:
1. buscar la imagen del "sabor" de linux que más me gustara, he elegido ubunto 20.04 LTS 
2. he actualizado los repos de esta imagen
3. he instalado dos utilidades que necesito para seguir el proceso
4. he descargado el paquete del repo remoto para este "sabor"
5. he realizado una instalación en local, 
6. he creado un usuario local, 
7. he creado el arranque de la app
; y ha funcionado. 
¿Qué cosas quedan? Pues:
  • comunicar al usuario su contraseña para acceder, correo que funciona con postfix/sendmail
  • configurar algún mecanismo de certificados, el por defecto establece unos que son autofirmados y esto dá mala imagen
  • implementar imágenes que tengan en local todos los paquetes de desarrollo para aquellos que no quieran usar CI/CD para desarrollar sus apps. 
Todo el actual desarrollo está en esta url:

https://github.com/mvazgon/vscodeserver.git

Espero que disfrutéis de este trabajo.

Comentarios

Entradas populares de este blog

Instalar Proxmox sobre un raid1 por software

Una cosa diferente. Alta disponibilidad y virtualizacion.