CMMi SM – Modelo de madurez de Arquitecturas orientadas a servicios usando Microsoft Azure
Múltiples organizaciones requieren que su negocio ofrezca nuevas líneas de negocio, para responder a los cambios del mercado y llegar a nuevos clientes, por tal motivo la base operacional debe ser adaptable a dichos cambios de negocio para incrementar la productividad del negocio.
Muchas compañías requieren tener un estándar o base arquitectónica alineada a una estrategia de mejora continua para tener una adaptación ágil de negocio y tecnológica. Una de las respuestas a esta situación se basa en construir una arquitectura empresarial orientada a servicios para responder las necesidades del negocio.
Uno de estos modelos de madurez que nos permiten establecer una estrategia arquitectónica de nuestro ecosistema de aplicaciones empresariales es SOA MM (Service Oriented Architecture Maturity Model), en este artículo explicaremos que herramientas y tecnologías de Microsoft Azure se pueden utilizar para aprovechar las ventajas de este modelo.
Primero explicaremos en que consiste el modelo de madurez, SOA MM es un marco de referencia común que permite definir y revisar la mejora continua de proceso de desarrollo de software. Implementando SOA en un framework similar al de CMMI podemos mostrar los objetivos, características, prerrequisitos para medir el impacto progresivo en el negocio de SOA a través de diferentes niveles de madurez.
Los principales objetivos en cada una de las etapas de modelos de madurez son:
SOA MM establece 5 niveles de madurez, donde cada nivel se tiene objetivos, características, componentes, alcance organizacional y beneficios específicos. Es importante señalar que los artefactos arquitectónicos de cada nivel de madurez deben ser acompañados de un proceso de mejora continua del proceso de desarrollo de software. Cada nivel de madurez de este modelo tiene un impacto de negocio progresivo que busca la cuantificación y optimización de los servicios de la arquitectura de software de la organización.
En cada uno de los niveles se especifica un conjunto de pre requisitos, metas y orientación sobre como el marco de referencia tiene un impacto cada vez más positivo en la empresa.
Es necesario implementar los componentes mencionados en cada nivel de madurez para poder avanzar al siguiente.
A continuación, se explican los principales objetivos, alcance, beneficios y componentes (Se hace una comparativa con los ofrecidos por Microsoft) requeridos para alcanzar dicho el nivel de madurez:
Nivel de Madurez 1 – Servicios Iniciales
Fase en la que aún no se ha producido un lineamiento con las necesidades del negocio, simplemente se implementa tecnológicamente cierta funcionalidad para cubrir las primeras necesidades del negocio. Los principales objetivos del equipo de desarrollo son:
- Aprender y estructurar sus aplicaciones SOA a través de la implementación de proyectos piloto.
- Aplicar tecnología SOA a las necesidades inmediatas de la organización.
- Definir las mediciones iniciales de ROI para proyectos SOA y aplicarla a los proyectos iniciales.
Principales beneficiospara la empresa |
Alcance |
Factores críticos deéxito |
|
Tecnología |
Gente y Organización |
||
Nueva Funcionalidad |
R&Dexperimentación,Proyectos piloto, Sitio Web, Portal,Integraciones personalizadas,Numero pequeñode servicios |
Estándares, integraciónde aplicaciones legacy |
Los desarrolladoresaprenden la implementación de servicios. |
Los componentes para la implementación de SOA nivel de madurez 1 son:
Requerimiento |
Descripción |
Tecnología Microsoft |
Enterprise Service BUS (ESB) |
Proporciona un modelo de interacción estándar para componentes SOA incluidos los servicios Web y bases de datos relacionales como una infraestructura escalable e implementación distribuida fácil. |
|
Service Level ManagementService |
Proporciona visibilidad del rendimiento de los servicios Web y las métricas a nivel de servicio. |
|
Services Registry |
Proporciona un almacén central de definiciones de servicios a través de losproyectos iniciales y proporciona un único punto de referencia para los desarrolladores de servicios para obtener las definiciones de los servicios. |
Nivel de Madurez 2 – Servicios con Arquitectura
En esta etapa se definen los límites que evitan un crecimiento descontrolado de los servicios de negocio implementados en la fase anterior del modelo. En esta fase crece la consistencia, la fiabilidad y el control de los servicios al institucionalizar el uso de SOA.
Es a este nivel que las normas se establecen en cuanto a la gobernabilidad técnica de implementación de SOA, por lo general bajo el liderazgo de la organización encargada de la arquitectura y se cuenta con lo siguiente:
Principales beneficiospara la empresa |
Alcance |
Factores críticos deéxito |
|
Tecnología |
Gente y Organización |
||
Control y Reducción de costos de TI (Azure provee dashboards de visualización ycontrol de costos) |
Múltiples aplicacionesintegradas |
Soporte para sistemas distribuidosy heterogeneidad, Mensajería fiable, Mediación, Facilidad de implementación, Integración de bases de datos, Control de versiones, Seguridad Interna, Gestión del Rendimiento. |
Grupo de arquitecturaproporciona liderazgo, Competencia SOA, CIOPatrocinio |
Los componentes para la implementación de SOA nivel de madurez 2 son:
Requerimiento |
Descripción |
Tecnología Microsoft |
Serviciosy políticas de repositorio |
Almacenamiento completo que contiene el gobierno de apoyo para SOA que incluye las políticas y definiciones de servicios con la gestión del ciclo de vida incluyendo notificaciones y aprobaciones. |
|
Servicio de gestión de excepciones
|
Proporciona un mecanismo para detectar, diagnosticar y remediar automáticamente errores de sistema y de nivel de aplicación. |
|
Transformación de Mensajes
|
Permitir la integración de servicios con las diferencias en contenido y formato de los mensajes esperados. Esto se suele hacer mediante la invocación de XSLT lo transforma y aplica a un mensaje XML, en este ejemplo como una función de "mediación" bajo el control de ESB. |
|
Single Sign-On |
Este servicio es administrado por el ESB y por lo general es suministrado por un proveedor para el intercambio de información de autenticación y autorización |
Nivel de Madurez 3 – Servicios de Negocio
Se produce una consolidación de los procesos de negocio en forma de servicios, en esta fase la tecnología converge con las necesidades de negocio. SOA nivel de madurez 3 se define en dos vías:
Principales beneficiospara la empresa |
Alcance |
Factores críticos deéxito |
|
Tecnología |
Gente y Organización |
||
Servicios de Negocio: Capacidad de respuestadel Negocio – Cambiar los procesos denegocio de forma rápida y efectiva |
Los procesos de negocio a travésde la unidad de negocio o empresa |
Reutilizar, Facilidad de modificación,Disponibilidad, Reglas del proceso de negocio, Procesos impulsados por eventos, Aplicaciones compuestas |
Asociación de TI con el negocio, Asociación entre organizaciones, Ciclo de vida SOA, Gobierno, Compromiso ejecutivo, habilidades de diseño dirigido por eventos, Unidad de negocio |
Servicios de colaboración: Negocio receptivo, Capacidad de respuesta del negocio, colaboración con socios de negocios y comerciales
|
Servicios disponiblespara los socios externos de toda la empresa |
Habilitar serviciosexternos, Seguridad de toda la empresa, Traducción de los protocolos de todala empresa, Ejecución larga de transacciones. |
Los principales objetivos de este nivel son:
Servicios de Negocio:
- Crear asociación permanente entre las organizaciones empresariales y tecnológicas para el gobierno de SOA.
- Apoyar los procesos de negocio completos a través de SOA
- Demostrar rendimientos de reutilización de los servicios y la capacidad de respuesta al cambio
Servicios de Colaboración:
- Crear asociación permanente entre las organizaciones empresariales y tecnológicas para el gobierno de SOA.
- Extender los procesos de negocio de SOA a organizaciones externas
- Demostrar rendimientos de uso de los servicios de colaboraciónLos componentes para la implementación de SOA nivel de madurez 3 son:
Los componentes para la implementación de SOA nivel de madurez 3 son:
Requerimiento |
Descripción |
Tecnología Microsoft |
Business Process Management (BPM) |
Implica la gestión de procesos de larga duración que involucran mensajes secuenciales entre los servicios. |
|
Mejora directa de procesos de negocio |
Una ventaja principal de SOA es que puede habilitar la modificación de procesos de negocio a través de la configuración de los servicios. |
|
Reutilizaciones de servicios |
Reutilización de servicios a través de una aplicación multicanal |
|
Protocolos SOA que soporten la funcionalidad especifica business-to-business (B2B) |
Incluir funciones de mensajería estándar XML para operaciones de toda la empresa. |
|
Servidor decolaboración |
Implementa los protocolos B2B y admite transformaciones necesarias entre los mensajes internos de la empresa y los necesarios para los procesos externos. |
|
ECN connection |
Pasa de un protocolo propietario a un protocolo estándar de la industria de servicios y por lo tanto se gestiona a través del servidor de colaboración. |
Nivel de Madurez 4 – Medición de los Servicios de Negocio
Se analizan los resultados de los servicios mediante el uso de métricas definidas y analizadas a nivel de negocio, donde se el principal objetivo es definir, implementar y obtener información de métricas de los servicios que soportan la operación del negocio en tiempo real.
Principales beneficiospara la empresa |
Alcance |
Factores críticos deéxito |
|
Tecnología |
Gente y Organización |
||
Transformación delnegocio para reaccionar en tiempo real, Conocer las métricas de rendimiento en el negocio |
Unidad de negocio o empresa |
Supervisión de las actividades del negocio, Procesamiento del flujo de eventos, Procesamiento de eventos complejos, cuadro de mando y alertas controladas por eventos |
Evaluación continua delos procesos de negocio |
Los componentes requeridos para alcanzar este nivel de madurez son:
Requerimiento |
Descripción |
Tecnología Microsoft |
Procesamiento en tiempo de real de eventos |
Filtra los eventos significativos en base a las reglas de negocio y las redirige para su uso en otros servicios. |
|
Monitoreo de actividad de negocio |
Proporciona retroalimentación a la administración como a las métricas de rendimiento de negocio en tiempo real. |
Nivel de Madurez 5 – Optimización de los Servicios de Negocio
SOA nivel de madurez 5 añade respuestas de forma automática a las mediciones realizadas en el nivel 4. De esta manera el sistema de información SOA se convierte en el “sistema nervioso de la empresa” y toma decisiones de negocio de acuerdo a los acontecimientos que ocurren a nivel de negocio.
Principales beneficiospara la empresa |
Alcance |
Factores críticos deéxito |
||
Tecnología |
Gente y Organización |
|||
Optimización de negocio –reaccionar y responder de forma automática |
Unidad de negocio oempresa |
Automatización controladapor eventos. |
Cultura de mejoracontinua CEO |
Microsoft Azure para habilitar la madurez de una arquitectura orientada a servicios
La utilización y propósito de las herramientas y tecnologías de Microsoft pueden variar de acuerdo a las necesidades de negocio; adicionalmente es importante establecer una estrategia tecnológica en donde se considere dichas herramientas alineadas con un marco de referencia.
Específicamente para el desarrollo de aplicaciones en Azure, tecnologías como Microservices, Service Fabric, Service Bus, Azure AD, Azure Authentication and Autorization, Service fabric, Application Insights, VSTS – TFS, entre otras, permiten alcanzar el nivel de madurez empresarial requerido por una organización, para dar soporte a su negocio y adaptarse a diferentes marcos de referencia.
Uno de los principales factores de éxito a considerar en la adopción de un marco de referencia es la integración del equipo desarrollo, pruebas y operaciones de TI; ya que el principal fundamento de este marco de referencia es la mejora continua de procesos y dar valor de negocio.
A través de la implantación de DevOps con Team Foundation Server o Visual Studio Team Services permite alinear metodología de desarrollo ágil (Scrum, SAFe, XP, etc.) con las tecnologías anteriormente descritas ayudando a la integración de procesos metodológicos, gestión de versiones de código, gestión de características de producto (features de software), validación de políticas de desarrollo (estilo de codificación, cobertura de código, políticas de rendimiento, pruebas unitarias), automatización de pruebas de UI, automatización de integración continua, automatización y gestión de los ambientes de desarrollo e instrumentación de nuestro código productivo para obtener todos los datos concernientes a rendimiento, errores, quien utiliza nuestras aplicaciones, etc. eliminando las barrera de colaboración y permitiendo la integración de las tecnologías descritas anteriormente y de terceros.
Habilitando la integración de nuestro proceso de desarrollo y la definición arquitectónica de cualquier marco de referencia de arquitecturas orientadas a servicios.
Si desea mayor información acerca de cómo los podemos ayudar a obtener, implementar este tipo de tecnologías, modernización de sus aplicaciones para su implementación en la nube, mejora de su proceso de desarrollo a través de DevOps, aplicaciones móviles o IoT; no dude en contactarnos.