lunes, 30 de septiembre de 2013

Automatización, Orquestación de sistemas... todos bailan juntos...

Cuando hablamos de orquestación de sistemas, de automatización de sistemas, y más si hablamos de esta tecnología bajo productos Microsoft System Center, automáticamente pensamos en virtualización... La virtualización es una cosa, y la automatización es otra.


Con la virtualización conseguimos una capa de abstracción entre el hardware y el sistema operativo. Con la automatización y orquestación conseguimos eso, hacer que los procesos IT bailen juntos, se comuniquen, independientemente del fabricante. Estamos acostumbrados, al menos yo, en pensar que cuando MS habla de sus productos, pienses: Y mis sistemas Linux? y mis tablet Android/Ipad, mi aplicación en Oracle...

La necesidad de trabajar con un parque tecnológico hetereogéneo, en el que tenemos todo tipo de servidores, clientes, sistemas operativos, aplicaciones, dispositivos, etc conlleva la necesidad de comunicar los procesos de gestión TI. Podemos comunicar la gestión de servicios entre productos que no tienen el mismo "padre".


Antes de mostrar pantallas y procesos, vamos a imaginar una caso sencillo, del dia a dia del Sysadmin, para entender en qué nos puede ayudar la orquestación y automatización de sistemas, EN EL MUNDO REAL. Siendo sinceros, no todos los días desplegamos 100 máquinas virtuales de servidores 2012 Server y 50 Sql Servers...No obstante, hay que tener en cuenta que definir estas tareas automáticas requiere de tiempo y pericia, por lo que no vamos a automatizar todas las tareas del departamento, sino las que se repiten y requieren complejos procedimientos.

Vamos a imaginar que llega un trabajador a nuestra empresa. Nos pasan desde RRHH sus datos para incorporarlo al sistema.
  • Creamos un usuario en Active Directory.
  • Movemos al usuario a la unidad organizativa correspondiente a su departamento.
  • Agregamos al usuario al grupo de seguridad que le corresponda (Marketing, finanzas, RRHH...).
  • Le enviamos un correo de bienvenida a su dirección de correo personal, y a la interna, adjuntándole el Welcome Package de la empresa.
  • Enviamos un correo a todo el personal para comunicar la incorporación del nuevo empleado.
  • Creamos una máquina virtual para su VDI.
  • Añadimos el usuario a un fichero de configuración de un servicio Linux (por ejemplo Squid)
  • Creamos un usuario y contraseña para una aplicación alojada en un servidor Linux( No S.S.O).
  • Publicamos un paquete de configuración para el correo de su móvil.
  • Configuramos un script para que se ejecute una vez por semana, para que consultando un campo de la base de datos de RRHH, compruebe si el empleado esta en vigor, o si por lo contrario, debemos borrar la cuenta, o si está de vacaciones/baja debemos deshabilitar su cuenta.
  • Etc...
Como podéis ver, un proceso de creación de usuarios puede ser muy sencillo o complejo, según el caso. Muchos de los pasos descritos arriba son administrativos. Otros requieren de la comunicación con otra plataforma ( simplemente usa SSH para los equipos Linux, no agentes SNMP).

Un proceso de ejemplo, como el que comento, puede llevarnos de un día completo, si no más, para configurar y testear. No tiene sentido automatizar todas las tareas, al igual que con las políticas de calidad basadas en estándares como las ISO, que pretenden definir un proceso formalmente para la más mínima actuación.

Para practicar un poco, y para ver las posibilidades que tiene el diseño de runbooks para la orquestación de sistemas, vamos a crear el "Hola Mundo" de System Center 2012 Orchestrator.

Vamos a crear un Runbook para automatizar la tarea de gestión de cuentas de usuario deshabilitadas. Vamos a mover las cuentas inactivas a una Unidad Organizativa. Una muy buena práctica lo hagas a mano o a máquina.

En primer lugar accedemos al RunBook Designer y creamos una carpeta para nuestros Runbooks. Creamos un Runbook bajo esa carpeta mediante la técnica Jedi de botón derecho, crear Runbook... Por buenas prácticas, le ponemos un nombre a la criatura.


Ahora agregamos la actividad Get User de la lista disponible bajo Active Directory.

Configuramos las propiedades de conexión al dominio, filtro y demás.






Lo más importante es configurar la Unidad Organizativa que albergará las cuentas deshabilitadas y pasarle el parámetro que resulta de la ejecución del primer proceso, Get user.




Ahora configuramos una notificación por E-Mail para el responsable de turno.


Omito la parte de configurar el servidor smtp, pero puedes usar un smtp.live.com (activar ssl) o cualquier otro.Probamos la ejecución del Runbook.



Para ejecutar el Runbook en real, debemos marcar Check In como que hemos pasado las pruebas, y pulsamos Run !!!


Si tienes abierta una consola de Usuarios y Equipos de Active Directory para hacer la pruebas, para crear previamente la UO, para deshabilitar un user... no te contestes con Actualizar la consola, sal y entra de nuevo para que se actualice la información. Veremos las cuentas en la nueva UO.

Seguiremos trabajando con estas ideas. En el próximo Runbook trabajaremos con dos conceptos de actividad, el modo input de variables o el modo monitor, para comprobar constantemente alguna condición.

Como siempre, espero que os guste, y gracias por leerme !!!