jueves, 19 de septiembre de 2013

System Center Orchestrator 2012 R2

Hoy vamos a hablar del componente Orchestrator de System Center 2012 para automatización de flujos.


Para ponernos en situación, vamos a pensar en un ejemplo de empresa, para identificar sus problemas y necesidades, y como una orquestación de sistemas puede aportar el valor añadido que necesitamos.

Imaginemos una empresa ubicada en Madrid, una consultora especializada en desarrollo y algunos servicios de SaaS. Eres el responsable de la virtualización. La organización cuenta con una sede en cada provincia, y en algunas provincias grandes (Valencia, Barcelona, Sevilla) cuenta con dos o más sucursales. La expansión de la empresa ha sido a veces, a costa de comprar empresas existente, adquiriendo Software/Hardware heterogéneo, como puedan ser Bare Metal ESXi, Hyper-V y XenServer.



En cada sucursal provincial cuenta con una infraestructura propia, administrada desde Madrid.
En un entorno de programación, es habitual tener que aprovisionar a la empresa de servidores de desarrollo para sus pruebas, como pueden ser distintos servidores de base de datos, servidores de aplicaciones, frameworks de desarrollo, entornos de producción, laboratorios, backup...

Pongamos que en la sede central de Madrid, cuenta con una infraestructura de 10 servidores físicos, heterogéneos y unas 100 VM de todo tipo. En cada sede puede haber unas 50 VM.
Como controlarías desde la sede central, ese parque de 2.000 Vm? entrando por RDP a cada VM?
Como gestionarías la carga de trabajo, para las peticiones de servicio de los responsables locales en cuanto a aprovisionamiento ( Ring.Ring: necesito un Sql Server para pruebas. Ring-Ring, necesito dos Windows 2012...)


Como controlarías la política de empresa de versiones de software para sus desarrollos, para que ningún desarrollador o implantador use tecnologías o versiones de programas no aprobadas?
Como gestionarías dinámicamente los recursos de la empresa? Máquinas virtuales de poco uso que están siempre encendidas consumiendo recursos y electricidad.

Creo que es suficiente para comprender que la virtualización de servidores/Escritorios/Aplicaciones es una cosa, y el Private Cloud es otra cosa. Aunque una depende de la otra, el concepto de Private Cloud va más allá de virtualizar.

La idea es generar portales Self-Services en los que mediante delegación de permisos, se crean plantillas de petición de servicios, y su realización. Más adelante os presentaré la solución completa, basándose en Share Point Foundation 2010 para el portal Self-Services. Crearemos un formulario que mediante la selección de recursos ( número de máquinas, capacidad de cada una, etc) podremos crear un despliegue para las sucursales sin apenas esfuerzo administrativo. A esta ventaja hay que añadirle el Reporting para aumentar la calidad del servicio mediante PKI. Podemos saber de manera centralizada que delegación está consumiendo más recursos, el tiempo que tardamos en resolver las peticiones de servicio, el CMBD para incidencias controladas y todas esas cosas que se cuenta en las buenas prácticas ITIL.



Para hacer una analogía de System Center Orquestrator, podemos compararlo con los servicios DTS de Sql Server o Kettle de Pentaho para transformación de datos. Con System Center Orquestrator vamos a crear flujos de trabajo,en los que vamos a poder añadir procesos de control e información. Estos flujos se denominan RunBooks, y podemos distribuir componentes, de tal manera, que tengamos un servicio central de creación de RunBooks, y varias servidores que ejecuten dichos RunBooks.



El requisito previo es el famoso .Net Framework 3.5. El proceso de instalación es el mismo de siempre, agregar Roles desde el administrador del servidor, pero debemos indicar una ubicación en disco o imagen WIM para las fuentes.


A continuación el proceso de instalación.



Como podeis apreciar, hemos instalado todos los componentes en un mismo servidor. Ahora configuramos el grupo creado, añadiendo el usuario/usuarios del dominio que administrarán el servidor.


Ahora descargamos e instalamos los Integrations Packs, que como su nombre indican, nos permitirán comunicarnos de manera avanzada con ciertos componentes. En nuestro caso vamos a usar la integración con Virtual Machine Manager, otro componente de System Center, pero se pueden usar par integración avanzada con diversos sistemas, como almacenamiento HP de gama empresarial, Exchange y demás.
Bajamos el paquete y tan solo lo descomprimímos en una ubicación conocida.
Ahora lo que hacemos es agregar el paquete a Orquestrator,para poder diseñar sobre el, y lo autorizamos para este servidor en concreto.








Ahora vamos a configurar la seguridad para conectarnos a Virtual Machine Manager. Hay que deshabilitar la restricción de ejecución de Scripts firmados. Esta directiva impide la ejecución de cualquier scripts que no venga de la mano de su certificado digital salvo para los que provienen de Internet, que si requiere firma. Por eso, en las operaciones de instalación de VMM, cuando agregamos servidores, debemos tener presente si estamos en una Trusted Network ( Servicios de Certificate server funcionando), Unstrusted Network ( Sin servicios de Certificate Server, pero ojo, con seguridad implícita Kerberos) o Perimetal ( para servidores ubicados en DMZ fuertemente protegidos, en los que no se tiene acceso a una infraestructura Certificate Services, por lo que debemos introducir las claves criptográficas a mano).Podemos profundizar en el ámbito de la directiva, pudiendo definir el comportamiento para procesos concretos, usuario o máquina (--Scope --Process, --CurrentUser, --LocalMachine). La directiva se deshabilita con:

set-executionpolicy remotesigned


Repetimos esta operación en nuestro servidor Virtual Machine Manager. Si has usado los artículos uno y dos para configurar el cluster, lo ejecutas en los nodos del cluster.

Ahora desde el diseñador, opciones, configuramos VMM.





Con este procedimiento ya tenemos instalado, al menos el software base, para System Center Orchestrator.

Espero que os guste, y como siempre, gracias por leerme.