La construcción de sistemas de automatización de edificios está experimentando un cambio profundo. La introducción de la arquitectura de microservicios proporciona una nueva vía técnica para ello. Tradicionalmente, estos sistemas suelen ser "monolitos" grandes y estrechamente acoplados. Un solo movimiento afectará la situación general, dificultando las actualizaciones y el mantenimiento. Los microservicios descomponen todo el sistema en un conjunto de servicios pequeños e independientes. Cada servicio se centra en una única función empresarial y se comunica con la ayuda de API claramente definidas. Esto aporta flexibilidad, escalabilidad y confiabilidad sin precedentes a la actualización inteligente de edificios en iluminación, HVAC, seguridad, gestión de energía y otros campos.
Cómo los microservicios mejoran la confiabilidad de los sistemas de automatización de edificios
En la arquitectura monolítica tradicional, si un módulo falla, puede paralizar todo el sistema de control del edificio, con un impacto enorme. Los microservicios mejoran significativamente la confiabilidad general del sistema al aislar los dominios de falla. Por ejemplo, el servicio de control de iluminación y el servicio de despacho de ascensores se implementan y operan de forma independiente. Incluso si el servicio de iluminación no está disponible temporalmente debido a fluctuaciones en la red, el ascensor aún puede responder normalmente de acuerdo con las instrucciones de despacho para garantizar que los pasajes clave permanezcan abiertos.
Existe una capacidad llamada control detallado, que puede garantizar el funcionamiento estable del sistema las 24 horas del día, los 7 días de la semana y cumplir con los estrictos requisitos de alta disponibilidad de los edificios inteligentes modernos. Cada microservicio tiene las características de implementación y expansión independientes. Cuando una función específica encuentra condiciones de carga alta, como el servicio de control de acceso por reconocimiento facial durante las horas pico de viaje, el personal de operación y mantenimiento solo puede implementar la expansión horizontal para el servicio y agregar sus instancias de contenedor sin reiniciar y sin ningún impacto en el funcionamiento del sistema de calefacción.
Por qué los microservicios pueden lograr una expansión flexible de los sistemas de construcción
Los requisitos funcionales de un edificio no siempre son fijos. A medida que cambian los inquilinos, se actualiza la tecnología o se mejoran los estándares de eficiencia energética, el sistema debe ajustarse continuamente. Cuando se expande una arquitectura monolítica, generalmente se trata de un fenómeno completo de "pila de hardware", que es muy costoso e inexacto. La arquitectura de microservicios admite la expansión bajo demanda, lo que le permite asignar más recursos solo a servicios que requieren un uso intensivo de computación o mucha concurrencia. Por ejemplo, asigne una CPU más potente al servicio de análisis del consumo de energía en tiempo real y, al mismo tiempo, mantenga la configuración básica del servicio de gestión de información del dispositivo relativamente estático.
Su flexibilidad también se destaca en la rápida integración de nuevas funciones. Siempre que un edificio necesita introducir una nueva red de monitoreo de la calidad del aire, el equipo de desarrollo puede escribirla solo, luego realizar pruebas y luego implementarla para crear un nuevo "microservicio de calidad del aire" y usar API para intercambiar datos con los servicios de alarma y administración de energía existentes. Todo el proceso no interferirá con el funcionamiento estable del sistema existente, logrando el efecto de "intercambio en caliente" de funciones y reduciendo en gran medida el ciclo requerido para la implementación de la innovación.
¿Qué funciones de la automatización de edificios son adecuadas para dividirse en microservicios?
No todas las funciones son adecuadas para microservicios. La clave es identificar módulos con límites claros y valor comercial independiente. En las áreas centrales de la automatización de edificios, como control de HVAC, gestión de escenas de iluminación, control de acceso y asistencia, análisis de videovigilancia, medición y facturación de energía, vinculación de alarmas contra incendios, etc., son candidatos naturales para los microservicios. La lógica empresarial de estos módulos es relativamente independiente, el modelo de datos es claro y puede utilizarse como una unidad autónoma para desarrollo, operación y mantenimiento.
Otro aspecto del juicio es la dimensión de la frecuencia de los cambios y la estructura del equipo. Las funciones que a menudo requieren actualizaciones e iteraciones, como los algoritmos de optimización de ahorro de energía basados en el aprendizaje automático, son adecuadas para convertirse en servicios de forma independiente, de modo que los equipos de científicos de datos puedan realizar experimentos e implementarlos rápidamente. Algunos servicios básicos con estabilidad y versatilidad, como el descubrimiento de registro de dispositivos, la autenticación de autoridad unificada, la recopilación de registros, etc., también son adecuados para encapsularse en microservicios públicos para que todos los módulos comerciales los llamen para evitar la creación repetida de ruedas, garantizando así la coherencia de los estándares de todo el sistema.
¿Cuáles son los requisitos para construir una infraestructura de red para implementar microservicios?
La arquitectura de microservicio depende en gran medida de la comunicación de red, lo que plantea mayores requisitos para la infraestructura de red local del edificio. En primer lugar, la red debe tener un gran ancho de banda y características de baja latencia, especialmente en escenarios específicos, es decir, cuando los servicios necesitan sincronizar con frecuencia el estado en tiempo real, transmitir datos de sensores y emitir instrucciones de control. Además, durante la implementación, las tecnologías basadas en VLAN o SDN se utilizan a menudo para el aislamiento lógico y garantizar que el tráfico de control y el tráfico de oficina no interfieran entre sí, garantizando así la calidad de transmisión de las instrucciones clave.
Lo que es crucial es el mecanismo de descubrimiento de servicios y equilibrio de carga. Hay cientos de instancias de microservicios ejecutándose en el edificio y deben poder encontrarse automáticamente entre sí. Esto generalmente requiere un centro de registro de servicios centralizado como Etcd y una puerta de enlace API inteligente. La puerta de enlace sirve como una entrada unificada y es responsable de enrutar solicitudes, autenticar y distribuir solicitudes externas a instancias de servicio internas en buen estado, construyendo así una red distribuida flexible y manejable.
Cómo garantizar la coherencia de los datos y la seguridad de la creación de sistemas de microservicios
Un gran desafío es la coherencia de los datos en un entorno distribuido. En la automatización de edificios no perseguimos una fuerte coherencia instantánea de todos los servicios. En lugar de ello, adoptamos una eventual estrategia de coherencia basada en el escenario. Por ejemplo, un cambio en el punto de ajuste de la temperatura ambiente puede ser recibido primero por el servicio de interfaz de usuario y luego notificado de forma asincrónica al servicio de control de dispositivos y al servicio de facturación. Siempre que el estado final de todos los servicios relacionados sea consistente, estará garantizado por la entrega confiable de eventos de las colas de mensajes (como Kafka).
A nivel de seguridad, la arquitectura de microservicios ha ampliado la superficie de ataque, por lo que se debe implementar una estrategia de "defensa en profundidad". Cada servicio requiere autenticación de identidad independiente y autorización de acceso matizada. La comunicación entre todos los servicios debe estar cifrada mediante TLS. La puerta de enlace API es una puerta de seguridad crucial, responsable de implementar límites de velocidad y prevenir ataques DDoS. Al mismo tiempo, se debe crear un sistema de auditoría de registros y monitoreo de seguridad centralizado y unificado para realizar análisis en tiempo real y emitir alertas sobre comportamientos anormales de todos los servicios.
¿Cuáles son los pasos prácticos para migrar de una arquitectura monolítica a microservicios?
La migración no se puede completar de una vez; debe hacerse de forma incremental. Primero, debemos clasificar de manera integral todos los módulos funcionales en el sistema único existente y trazar límites comerciales claros y diagramas de dependencia. Luego, seleccione funciones no centrales, de dependencia simple y de valor claro como punto de partida para "Strangler". Por ejemplo, primero extraiga el módulo de generación de informes independiente en microservicios para acumular experiencia en tecnología, operación y mantenimiento.
Utilizando el enfoque de "despegar la periferia y estabilizar el núcleo", primero damos servicio gradualmente a las funciones periféricas, como la autenticación de usuarios y la administración de dispositivos, y luego nos ocupamos del núcleo empresarial más complejo y profundamente acoplado. A lo largo de este proceso, es necesario construir y mejorar simultáneamente capacidades de soporte, como canales de CI/CD, plataformas de implementación en contenedores (imágenes) y sistemas de monitoreo y alarma. Cada migración debe garantizar la continuidad del negocio y utilizar la capa de adaptación de API para permitir que los sistemas nuevos y antiguos coexistan y realicen una transición sin problemas.
Para aquellos de ustedes que se encuentran en la etapa de planificación o renovación de edificios inteligentes, entre los muchos subsistemas que cubren iluminación, seguridad, gestión de energía, etc., ¿cuál cree que será el candidato de mayor prioridad para la transformación de los microservicios? ¿Cuál es la razón? Bienvenido a compartir sus opiniones y conocimientos en el área de comentarios. Si este artículo puede resultarle útil, no sea tacaño con sus me gusta y sus publicaciones.
Deja una respuesta