¿Cómo CityShob implementa y actualiza con éxito proyectos de estados y ciudades inteligentes en todo el mundo bajo las restricciones por la pandemia del COVID-19?
C-Insight es una plataforma multi-dominio, multi-agencia y multi-sensores que ofrece soluciones avanzadas en materia de seguridad para la gestión de ciudades y autoridades.
La escalabilidad de la plataforma se conforma por servidores, almacenamiento de Big Data y bases de datos de diversos clientes mismos que están instaladas en uno o múltiples centros de datos.A diferencia de las aplicaciones SaaS (Software en la nube), C-Insight se instala principalmente en la infraestructura de los centros de datos de los clientes debido a restricciones normativas, así como consideraciones de infraestructura que aún no permiten trasladar la carga de trabajo a la nube.
La implementación de proyectos de ciudades inteligentes y seguras que consideran integraciones complejas, durante la pandemia por el virus COVID-19 ha tenido diversas restricciones impuestas tales como la prohibición de vuelos y el confinamiento fue y sigue siendo un gran reto en tareas de DevOps.
Como resultado a esta problemática, surge la necesidad de encontrar soluciones alternas a fin de complementar los nuevos proyectos y mantener los existentes brindando soporte continuo y actualizaciones de nuevas versiones de manera remota ya que se restringió la entrada a oficinas derivado de los requisitos del confinamiento.
Es importante mencionar que cuando se planifica una actualización del producto en una instalación crítica que atiende a las fuerzas de emergencia, el tiempo de inactividad debe ser mínimo y la tolerancia a los errores es cero.
Por ello, nuestro equipo de DevOps fortaleció un proceso de implementación único e inteligente que permite a CityShob actualizar soluciones locales con un solo clic y completar las actualizaciones en menos de 45 minutos de forma remota sin intervención humana.
En uno de los casos, teníamos la siguiente configuración que necesitábamos actualizar automáticamente:
• 16 servidores Windows 2019
• 2 bases de datos (Servidor SQL, Elastic)
• 110 estaciones de trabajo
¿Cómo lo hicimos posible?
Para lograr una implementación rápida con un tiempo de inactividad y riesgos mínimos en el entorno de producción, nos aseguramos que las mismas herramientas y métodos de integración y distribución continua utilizados en nuestro laboratorio pudieran ser aplicables en el entorno de producción también.
Fue necesario utilizar soluciones para despliegues masivos, considerando que hay diversas herramientas en el mercado tales como: SCCM, Jenkins, PDQ Deploy, GPO etc., para elegir la herramienta adecuada para nosotros, se tomaron en cuenta los siguientes criterios:
• Herramienta que utilice funciones nativas del sistema operativo sin necesidad de instalar agentes locales.
• Compatible con los sistemas operativos Windows y Unix
• Gestión de tareas y reportes.
• Fácil de usar
• Bajo costo
Luego de explorar diversas herramientas de implementación disponibles en el mercado, se eligió PQD Deploy www.pdq.com ya que se adecúa a las necesidades del trabajo.
La herramienta PDQ es una herramienta de implementación flexible que soporta “Power Shell”, línea de comandos, instalador del Sistema Microsoft y capacidad de implementación de Administración Instrumental de Windows.
Esta herramienta contiene una biblioteca de librerías de mantenimiento incorporada a las aplicaciones más comunes las cuales se pueden instalar a distancia en los equipos que se requieran, por ejemplo: Java, Chrome, .NET y muchos otros softwares utilizados como requisito previo para la implementación en servidores y con el cliente.
Esta capacidad nos permite instalar desde cero nuevos sistemas en laboratorio y producción de manera rápida.
Para la aplicación C-Insight, desarrollamos scripts específicos (Power Shell, bat, Rest API y SQL) de tal forma que PDQ puede ejecutarlos en servidores y clientes a distancia.
Actualmente en el laboratorio de investigación y desarrollo se despliega de manera automática cada mañana la última compilación nocturna. Al final de la instalación se genera un reporte de estado el cuál es enviado al área de Control de calidad y al equipo de investigación y desarrollo para determinar si el resultado es exitoso o ha tenido fallas.
Tanto la herramienta QPD como los scripts desarrollados para nuestro laboratorio, son también utilizados en ambientes productivos.
Una vez entregado el catálogo de proyectos aprobados por el Laboratorio CityShob y prepararlos para la producción, el proceso de implementación se activa y los artefactos se descargan teniendo en cuenta las características de cada proyecto para lograr el desarrollo en la nube y posteriormente enviarlo a los servidores, bases de datos y clientes locales.
Las herramientas y los scripts de implementación automática que desarrollamos permiten al equipo de DevOps de CityShob realizar entregas remotas complejas de manera breve y rentable.
El ensayo que hacemos diariamente en nuestro Laboratorio permite examinar y mejorar las herramientas de implementación a fin de reducir los riesgos en el entorno de producción, generando como resultado los centros de datos completos y una actualización del cliente realizado en menos de 45 minutos.