sábado, 4 de enero de 2025

Cláusulas EXCEPT y EXISTS en SQL

Claúsula EXCEPT

Devuelve cualquier valor distinto del conjunto de datos a la izquierda del operador EXCEPT que no sea también devuelto desde el conjunto de datos correcto.

Ejemplos

Selecciona el conjunto de datos excepto cuando los valores estén en este otro conjunto de datos

 --los esquemas del conjunto de datos deben de ser idénticos

 SELECT 'Conjunto1' as 'Columna' UNION ALL

SELECT 'Conjunto2 as 'Columna' UNION ALL

SELECT 'Conjunto3' as 'Columna' UNION ALL

SELECT 'Conjunto4' as 'Columna' UNION ALL

SELECT 'Conjunto5' as 'Columna'

EXCEPT

SELECT ' Conjunto3' as 'Columna'

--Devuelve Conjunto1, Conjunto2, Conjunto4, y Conjunto5

Cláusulas EXCEPT y EXISTS en SQL


Bloques de ejecución

Utilizando BEGIN ... END

BEGIN

UPDATE Empleados SET Numero_telefono = '5551234567' WHERE Id = 1;

UPDATE Empleados SET Salario = 650 WHERE Id = 3;

END

Cláusula EXISTS 

Ejemplo

Tabla clientes

Id Nombre Apellido

1 Mariano García

2 José Pérez

3 Antonia López 

Tabla Pedidos

Id Cliente Id Cantidad

1 2 123.50

2 3 14.80

Devuelve todos los clientes que han realizado al menos una compra

SELECT * FROM Clientes WHERE EXISTS (

SELECT * FROM Pedido WHERE Pedidos_Cliente.IdCliente=Clientes.Id)

Resultadome

2 José Pérez

3 Antonia López

Obtener los clientes sin pedidos

SELECT * FROM Clientes WHERE NOT EXISTS (

SELECT * FROM Pedidos WHERE Pedidos.IdCliente = Clientes.Id)

 Resultadome

1 Mariano García

 EXISTS, IN y JOIN podrían usarse en algún momento para obtener el mismo resultado, sin embargo, no son iguales:

 EXISTS debe usarse para verificar si existe un valor en otra tabla

 IN debe usarse para una lista estática

 JOIN debe usarse para recuperar datos de otra(s) tabla(s)

 

 

sábado, 14 de diciembre de 2024

Curso de DevOps: Automatización V. Sistemas de Automatización Multiplataforma

 Vamos a enumerar las características clave que deben tenerse en cuenta al configurar un sistema de automatización multiplataforma centrándonos en los componentes de gestión central y de extremo a extremo. Configurar la automatización en la que intervienen múltiples plataformas es un desafío. Necesitamos comprender ciertas características críticas de la automatización multiplataforma que nos ayudarán a adoptar el enfoque y el flujo de trabajo correctos para gestionarlo. La primera característica que obtenemos es la alta disponibilidad y el seguimiento de los recursos. En segundo lugar, deberíamos centrarnos en la automatización basada en políticas, porque tenemos múltiples sistemas cuyo impacto se reflejará en la automatización. También debemos planificar el reinicio automático de los recursos fallidos, porque cuando se tienen múltiples plataformas, monitorear y tomar medidas manualmente se vuelve difícil. Esta es la razón por la que necesitamos dotar a nuestro sistema de capacidad para proporcionar reinicio automático de recursos fallidos.

 

Sistemas de Automatización Multiplataforma

La automatización multiplataforma también proporciona la capacidad de gestionar la relación entre recursos en todo el clúster para ayudarnos a configurar la agrupación vertical y la agrupación horizontal para aprovechar los recursos disponibles. Y, por último, la automatización multiplataforma permite una verdadera automatización de aplicaciones empresariales.

 

Sistemas de Automatización Multiplataforma

Necesitamos un motor de automatización que interprete el script de automatización y lo ejecute en tiempo de ejecución. También necesitamos un administrador de automatización de un extremo a extremo para garantizar que se capture el estado de cada paso de la automatización. Una consola de operaciones para invocar la automatización o início rápido, que no están programadas pero necesitan ser disparadas. Necesitamos centrarnos en la automatización de la base de datos. También es necesario derivar una política adecuada para la automatización. Y, por último, es necesario tener un adaptador de automatización de un extremo a otro. Necesitamos un adaptador de automatización de un extremo a extremo para integrar dos plataformas diversificadas entre sí.

 

Sistemas de Automatización Multiplataforma

Vamos a ver la  arquitectura de automatización multiplataforma. Para ello tomaremos como ejemplo un servidor de aplicaciones que se utiliza para la implementación de aplicaciones. Tendremos un navegador cliente, este necesita una consola de solución integrada, que también se denomina consola de operaciones. Necesitamos un administrador de automatización, que asuma la responsabilidad de la automatización de un extremo a otro comunicándose con un adaptador de automatización de extremo a extremo, que ayuda a integrar todas las herramientas de terceros al servidor de aplicaciones existente, donde tenemos nuestra aplicación, que puede necesitar sistemas externos.

El servidor de aplicaciones se comunicará con el motor de automatización. Y el motor de automatización leerá la política de automatización y ejecutará el script de automatización para garantizar que cualquier tarea que se suponía automatizada lo esté. La base de datos capturará los detalles esenciales que se requieren para la automatización.

  

Sistemas de Automatización Multiplataforma

Finalmente, veremos el caso de automatización multiplataforma. El usuario utilizará la consola de operaciones para comunicarse con el dominio de automatización, que contiene componentes como el administrador de automatización de un extremo a otro, el motor de automatización y el adaptador de recursos. Tendremos políticas de automatización y pasos de automatización que también formarán parte del dominio de automatización. El uso del adaptador de recursos se comunicará con multiplataformas, que se representan en la exhibición en forma de Nodo A, Nodo B y Nodo N, donde cada nodo tendrá un adaptador de automatización de extremo a extremo para comunicarse con el adaptador de automatización que está presente en el dominio de automatización.  El nodo B también tendrá los mismos componentes que se encuentran en el nodo A. Pero sí, todos se comunicarán entre sí en forma de un clúster para brindar facilidad de conmutación por error y equilibrio de carga.

 

 

sábado, 7 de diciembre de 2024

Cláusula DELETE y DROP en SQL

Cláusula DELETE

La cláusula DELETE se utiliza para borrar filas de una tabla.

Syntaxis

DELETE FROM Nombre_Tabla [WHERE Condicion] [LIMIT cuenta]

Ejemplos

Borrar determinadas filas con WHERE

Esto eliminará todas las filas que coincidan con los criterios WHERE.

DELETE FROM Empleados WHERE FNombre = 'Juan';

Borrar todas las filas

Omitir la cláusula WHERE eliminará todas las filas de una tabla.
DELETE FROM Empleados;
Consultar la documentación de TRUNCATE para obtener detalles sobre cómo 
se puede mejorar el rendimiento de TRUNCATE. Porque esta cláusula 
ignora los triggers, los índices y los log para simplemente eliminar 
los datos.

Cláusula DELETE y DROP en SQL

Cláusula TRUNCATE

Utilízaremos TRUNCATE para restablecer la tabla a la condición en la que se creó. Esto elimina todas las filas y se restablecen los valores como el incremento automático. Tampoco registra en un log la eliminación de cada fila individual.

TRUNCATE TABLE Empleados;

Borrar determinados registros basándose en comparaciones con otras tablas

Es posible eliminar datos de una tabla si coinciden (o no coinciden) con ciertos datos de otras tablas. Supongamos que queremos eliminar datos del origen una vez cargados en el destino.

DELETE FROM Tabla_Origen WHERE EXISTS ( SELECT 1 --(no importa el valor específico en la query) FROM Tabla_Destino WHERE Tabla_Fuente.ID = Tabla_Destino.ID )

Permite que las tablas se unan durante la ejecución del DELETE, lo que permite una comparación más compleja en una sintaxis compacta. Para agregar complejidad al escenario original, supongamos que añadimos más registros a Tabla_Destino una vez al día y no contienen el mismo ID pero si contienen la misma fecha. Supongamos también que queremos eliminar los datos de la Tabla_Fuente solo después de que se complete el agregado del día:

DELETE FROM Tabla_Fuente WHERE Tabla_Fuente.ID = EsquemaDestino.Tabla_Destino.ID

AND EsquemaDestino.Tabla_Destino.Fecha = EsquemaAgregado.Tabla_Agregado.Fecha

Básicamente, esto da como resultado un INNER JOIN entre el origen y el destino añadido. La eliminación es realizada en el origen cuando existen los mismos ID en el destino Y la fecha presente en el destino para esos ID también existe en el destino agregado. También se puede escribir la misma consulta como:

DELETE Tabla_Fuente FROM Tabla_Fuente, EsquemaDestino.Tabla_Destino, EsquemaAgregado.Tabla_Agregado WHERE Tabla_Fuente.ID = EsquemaDestino.Tabla_Destino.ID AND EsquemaDestino.Tabla_Destino.Fecha = EsquemaAgregado.Tabla_Agregado.Fecha

Se pueden mencionar uniones explícitas en declaraciones de eliminación  y diseñar comparaciones para verificar escenarios que no coinciden en lugar de hacer coincidir aquellos con todos. (Ver el  NOT EXIST a continuación)

DELETE FROM Tabla_Fuente

WHERE NOT EXISTS ( SELECT 1 – el valos especifico en la SELECT no importa

FROM Tabla_Destino WHERE Tabla_Fuente.ID = Tabla_Destino.ID )

Es posible eliminar datos de una tabla si coinciden (o no coinciden) con ciertos datos de otras tablas. Supongamos que queremos eliminar datos del origen una vez cargados en el destino.

DELETE FROM Fuente WHERE EXIST (SELECT 1 FROM Destino WHERE 
Fuente.ID = Destino.ID) 
Las tablas se unirán durante el borrado, lo que permitirá una comparación
 más compleja en una sintaxis compacta.
Para agregar complejidad al escenario original, supongamos queremos 
añadir a la tabla Destino los registros de la Fuente de forma automática una
 vez al día mediante una tabla Agregado y no contiene el mismo ID pero 
contiene la misma fecha. Supongamos también que queremos eliminar los datos de la tabla 
Fuente solo después 
de que se complete el agregado del día;
Esto se puede hacer usando:
DELETE FROM Fuente WHERE Fuente.ID = EsquemaDestino.Destino.ID
AND EsquemaDestino.Destino.Fecha = EsquemaAgregado.Agregado.Fecha
Básicamente, esto da como resultado INNER JOINS entre Fuente, Destino y 
Agregado. La eliminación es realizada en el origen cuando existen
 los mismos ID en el destino y para la fecha actual en el destino para esos ID también existe en la
 tabla Agregado. También se puede escribir la misma consulta 
DELETE Tabla_Fuente
FROM  Tabla_Fuente, EsquemaDestino.Tabla_Destino, EsquemaAgradado.Tabla_Agregado
WHERE Tabla_Fuente.ID = EsquemaDestino.Tabla_Destinot.ID
AND EsquemaDestino.Tabla_Destino.Fecha = EsquemaAgregado.Tabla_Agregado.Fecha
Se pueden mencionar uniones explícitas en declaraciones de eliminación 
Se pueden diseñar comparaciones para verificar escenarios que no coinciden en lugar de hacer
coincidir aquellos con todos. (observar NOT EXIST a continuación)
DELETE FROM Tabla_Fuente
WHERE NOT EXIST (SELECT 1 --: el valor específico en SELECT no importa
FROM Tabla_Detino
WHERE Tabla_Fuente.ID = Tabla_Destino.ID)

 DROP o DELETE Database

DROP DATABASE [IF EXISTS] {nombre_basedatos| nombre_captura_basedatos } [ ,...n ] [;]

Comentarios

Se utiliza para eliminar una base de datos de SQL. Es necesario asegurarse de crear una copia de seguridad de la base de datos antes de eliminarla para evitar la pérdida accidental de información.

Ejemplos

DROP Database

Eliminar la base de datos es una simple declaración de una sola línea; eliminará la base de datos, por lo tanto, es necesario asegurarse siempre de tener una copia de seguridad de la base de datos si es necesario. A continuación se muestra el comando para eliminar la base de datos de empleados

DROP DATABASE dbo.Empleados

DROP Table

DROP TABLE elimina la definición de la tabla del esquema junto con las filas, índices, permisos y triggers.

Ejemplos

Drop Table Nombre_Tabla;

Chequea la existencia de claves foráneas antes del borrado, si encuentra alguna devolverá un error. 

sábado, 16 de noviembre de 2024

Curso de DevOps: Automatización IV. Identificar el alcance de la automatización

 Vamos a reconocer el papel de la automatización de procesos, y la automatización de servicios en la creación de flujos de valor para la entrega de proyectos IT empresariales. Hay diferentes aspectos de la automatización. El primer aspecto crítico es el proceso. Luego necesitamos conocer el alcance de la automatización de procesos robóticos, junto con la automatización de servicios. Para obtener el flujo de valor correcto de la automatización, podemos seguir un proceso.

 

Curso de DevOps: Identificar el alcance de la automatización

Como podemos ver en la imagen superior, comenzamos con la planificación, eso es lo que se llama idear. Una vez realizada la planificación, debemos crear el producto, y eso lo hacemos en la fase de creación. Seguimos un enfoque de ingeniería estándar para crear el producto. Y luego llega el momento del lanzamiento, donde también debemos probar la automatización de este. Finalmente, tenemos operaciones, donde intentamos identificar operaciones de monitoreo de soporte que pueden automatizarse. Y finalmente, tenemos el usuario final, donde podemos descubrir todas las funciones que contiene. Que se pueden utilizar para facilitar al usuario final el flujo de valor de idear, crear, lanzar y operar en un producto en particular. Necesitamos comprender que todo el proceso de idear, crear, lanzar y operar debe adoptar los principios ágiles y DevOps. Cuando adoptamos los principios Agile y DevOps, nos brinda beneficios en términos de tiempo de obtención de valor. Y ese tiempo para generar valor nos proporciona un tiempo de entrega de un extremo a otro que nos ayuda a estimar los beneficios de la automatización.

 

Curso de DevOps: RPA

A continuación vamos a examinar uno de los paradigmas más  populares de automatización, que se llama RPA. Empezamos siempre por aprender, donde clasificamos qué es RPA y qué no se puede considerar como RPA. Una vez que aprendemos y definimos el alcance, pasamos al segundo paso, la fase de identificación, donde identificamos posibles oportunidades de RPA. Una vez que lo hemos identificado, pasamos a la fase de selección, donde derivamos el caso de uso inicial e intentamos definir criterios de éxito. Una vez que hayamos identificado el caso de uso inicial y estemos listos con los criterios de éxito, haremos una prueba piloto. Es decir, crearemos una solución para el caso de uso inicial que seleccionamos en la etapa anterior. Una vez que el piloto esté listo, debemos analizar el resultado. Y ese análisis se realiza manteniendo las medidas correctas en el lugar correcto en el piloto. Finalmente, la medida nos dará un documento de lección aprendida. Que se utilizará para la expansión, que es la última fase de la implementación actual de RPA para realizar el flujo de valor. Expandir proporcionará un margen para pasar al siguiente caso de uso y repetir todo el proceso de selección, prueba piloto y medición. Todo este proceso puede ser de naturaleza iterativa, dependiendo de la cantidad de casos de uso que hayan seleccionado. Y para lo cual hemos definido los criterios de éxito para derivar el flujo de valor.

 

Curso de DevOps: Identificar el alcance de la automatización

Finalmente necesitamos entender cómo derivar el alcance de la automatización.

Existen varios criterios diferentes según los cuales mediremos la automatización. Esos criterios se pueden definir sobre la base de cuatro clasificaciones importantes. El primero es estático, el segundo es dinámico, el tercero es altamente personalizado y el cuarto es estandarizado. Hay dos elementos importantes que debemos considerar dentro de un flujo de trabajo, es decir, la automatización de tareas o actividades y la automatización del flujo de trabajo. Pero cuando pasamos a tener una visión empresarial más amplia, se hace más dinámico y altamente personalizado. Nos centraremos en la automatización de procesos y la automatización centrada en decisiones.

 

sábado, 2 de noviembre de 2024

Cláusula CREATE

Se utiliza para crear diferentes objetos

CREATE [OBJETO] nombre_objeto;

Ejemplos

CREATE Database

Crea una base de datos con el siguiente comando SQL:

CREATE DATABASE Nombre_Base_Datos;

Esto crea una base de datos vacía llamada Nombre_Base_Datos donde podemos crear las tablas y el resto de objetos.

Clausula CREATE


CREATE Function 

Crea una función con el siguiente comando SQL:

CREATE Function nombre_funcion([lista_de_parametros]) RETURNS tipo_de_datos_retorno AS BEGIN cuerpo_funcion RETURN expresión_escalar END

Parámetros

Descripción de los argumentos:  nombre_funcion es el nombre de la función lista_de_parametros son los  parámetros que la función acepta;  tipo_de_datos_retorno es el tipo de dato que devuelve la función.  Cuerpo_funcion es el código de la función, y expresión_escalar es el valor escalar devuelto por la función.

Observaciones

CREATE FUNCTION crea una función definida por el usuario que se puede usar al realizar una consulta SELECT, INSERT, UPDATE o DELETE. Las funciones se pueden crear para devolver una sola variable o una sola tabla.

Ejemplos

Crear una nueva función

CREATE FUNCTION Mi_Funcion (@input varchar(1000))

RETURNS varchar(1000) AS BEGIN DECLARE @output varchar(1000)

SET @output = SUBSTRING(@input, 0, CASE CHARINDEX(' ', @input)

WHEN 0 THEN LEN(@input) + 1 ELSE CHARINDEX(' ', @input) END)

RETURN @output END

Este ejemplo crea una función llamada Mi_Funcion, que acepta un parámetro de entrada de tipo varchar y devuelve como salida otro valor varchar.

CREATE Table

La instrucción CREATE TABLE se utiliza para crear una nueva tabla en la base de datos. La definición de tabla consta de una lista de columnas, sus tipos y cualquier restricción de integridad.

Sintaxis

CREATE TABLE NombreTabla( [NombreColumna1] [tipoDato1] [, [NombreColumna1] [tipoDato2] ...])

Observaciones

Los nombres de las tablas deben ser únicos, los nombres de las columnas dentro de la misma tabla deben ser únicos.

Ejemplos

Crear una nueva tabla

Una tabla básica de Empleados, que contenga una identificación, el nombre y apellidos del empleado junto con su  número de teléfono.

CREATE TABLE Empleados(Id int identity(1,1) primary key not null,Nombre varchar(20) not null,Apellido1 varchar(20) not null,Apellido2 varchar(20) not null,NumeroTelefono varchar(10) not null);

Este ejemplo es específico de Transact-SQL, CREATE TABLE crea una nueva tabla en la base de datos, seguida del nombre de la tabla, Empleados. A esto le sigue la lista de nombres de columnas y sus propiedades, como el ID.

ID int identidad (1,1) no nulo

Significado de los valores

Id es el nombre de la primara columna (el identificador de cada empleado).

int es el tipo de datos, integer en este caso.

identity(1,1)  indica que la columna tendrá valores generados automáticamente comenzando en 1 e incrementándose en 1 para cada nuevo registro

primary key indica que es la clave principal y que todos los valores de esta columna tendrán valores únicos. 

Not null indica que esta columna no puede tener valores nulos.

Create Table a partir de una Select

Es posible que deseemos crear un duplicado de una tabla: Por ejemplo 

CREATE TABLE Empleados_Duplicado  AS SELECT * FROM Empleados;

Podemos utilizar cualquiera de las características de una instrucción SELECT para modificar los datos antes de pasarlos a nuestra nueva tabla. Las filas y columnas de la nueva tabla se crearán automáticamente según las que seleccionemos en nuestra query.

CREATE TABLE Empleados_modificado  AS SELECT Id., CONCAT(Nombre", ",Apellido1) AS Nombre_Completo FROM Empleados WHERE Id > 10;

Duplicar una tabla

Para duplicar una tabla, simplemente haremos lo siguiente:

CREATE TABLE nueva_tabla LIKE antigua_tabla;

INSERT nueva_tabla SELECT * FROM antigua_tabla;

Crear una tabla con Foreign Key

Para crear una tabla con referencia a otra, por ejemplo vamos a crear una tabla de Empleados con referencia a una tabla de Ciudades.

CREATE TABLE Ciudades(ID_Ciudad INT IDENTITY(1,1) NOT NULL,Nombre VARCHAR(20) NOT NULL,Código_postal VARCHAR(10) NOT NULL);

CREATE TABLE Empleados(ID_Empleado INT IDENTITY (1,1) NOT NULL,Nombre VARCHAR(20) NOT NULL,Apellido1 VARCHAR(20) NOT NULL,Apellido2 VARCHAR(20) NOT NULL,Num_teléfono VARCHAR(10) NOT NULL,ID_Ciudad INT FOREIGN KEY REFERENCES Ciudades (ID_Ciudad));

La columna ID_Ciudad de la tabla Empleados hará referencia a la columna ID_Ciudad de la tabla Ciudades. La línea que hace posible esto es la última, es decir esta:

ID_Ciudad INT FOREIGN KEY REFERENCES Ciudades (ID_Ciudad)

Su significado es el siguiente:

ID_Ciudad es el nombre de la columna

INT es el tipo de la de la columna FOREIGN KEY que crea la clave externa (opcional) 

REFERENCES

Ciudades (ID de ciudad) hace la referencia a la tabla Ciudades columna ID_Ciudad.

Importante: No se puede hacer referencia a una tabla que no existe en la base de datos. Hay que estar atentos a crear primero la tabla Ciudades y luego la  tabla Empleados. Si se hace al revés, dará error. 


sábado, 12 de octubre de 2024

Curso de DevOps: Automatización III. Descubriendo la necesidad de automatización

 Vamos a es especificar los métodos que pueden ayudar a encontrar procesos comerciales clave que son candidatos valiosos para la automatización de IT. Una de las tareas esenciales del ingeniero de soporte de automatización es identificar el método de búsqueda de procesos de automatización. Podemos utilizar uno o una combinación de varios métodos diferentes para obtener más detalles sobre el sistema actual que puede automatizarse.

Curso de DevOps: Descubriendo la necesidad de automatización

En primer lugar estaría la identificación de procesos, es decir debemos identificar dichos procesos. En segundo lugar está la implementación del proceso, es necesario encontrar en qué consistirá la implementación de la automatización del proceso. Pero antes de implementarlo es necesario realizar un análisis adecuado, lo que conduce a múltiples alternativas diferentes que pueden utilizarse para implementarlo. El descubrimiento de procesos es también una de las técnicas que se pueden aplicar para su automatización. A veces encontraremos que es necesario rediseñar algunas de las automatizaciones que ya se han realizado. Para lo cual es necesario ajustar el proceso rediseñándolo. Y, por último, debemos asegurarnos de poder utilizar la capacidad de seguimiento y control de procesos. Esto genera gran cantidad de datos que nos proporcionan una buena comprensión de la automatización actual, que nos permitirá aplicar técnicas para futuras necesidades de automatización.

Ahora nos vamos a centrar en el enfoque que podemos adoptar para identificar procesos de automatización.

Curso de DevOps: Descubriendo la necesidad de automatización

Siempre debemos comenzar por identificar los tipos de casos. Para cada caso tendremos ciertas funciones, ese es el segundo paso que tenemos que identificar. A continuación, debemos derivar una matriz de casos y funciones que nos ayude a comprender qué parte de la funcionalidad se puede automatizar y qué parte de la funcionalidad no se puede automatizar. Cualquiera que sea el resultado de las métricas, lo recogeremos  y comenzaremos a gestionar el proceso de automatización. Para ello, adoptaremos las mejores prácticas para dividir procesos, con la ayuda de las pautas prescritas por el arquitecto de automatización.

Curso de DevOps: Descubriendo la necesidad de automatización

A continuación nos centraremos en la gestión de la automatización de procesos de negocio,

los procesos de negocio son propensos a cambios. Por lo tanto, siempre debemos idear un enfoque sólido y ágil para gestionar la automatización de los procesos de negocio. Es necesario adoptar el ciclo de vida adecuado para la mejora de los procesos de negocio, que incluya pasos como descubrir, analizar, rediseñar, implementar y monitorear. El ciclo de vida de mejora de los procesos de negocio proporcionará resultados que podemos utilizar para comenzar una nueva fase de gestión de la automatización de procesos comerciales, que se denomina ciclo de vida de realización comercial, donde se obtienen los resultados del ciclo de vida del proceso comercial. Siempre comenzamos con identificar. Luego debemos medir utilizando varias métricas diferentes que nos ayuden a identificar el costo de ejecución correcto del proceso. En tercer lugar, tenemos ejecutar. Y finalmente necesitamos identificar los KPI correctos que nos ayuden a sostener el proceso.

Debemos comprender que obtendremos suficiente información del seguimiento del ciclo de vida de mejora de los procesos de negocio que nos ayudará a identificar y crear informes de KPI para su sostenibilidad.

Curso de DevOps: Descubriendo la necesidad de automatización

Finalmente, dividiremos el mecanismo de automatización de procesos de negocio en dos partes diferentes, tal como se muestra en la imagen superior. Tenemos la automatización de procesos de negocio, donde nuestro enfoque estará en la implementación para derivar la solución, que incluye actividades como el desarrollo de software y la integración de sistemas. En segundo lugar está el análisis y la optimización, que incluye la toma de decisiones, como comprar o desarrollar. Derivar el diseño y la arquitectura de la solución adecuada y preparar una documentación sólida del proceso.