Ayer os enseñe como usar Sharepoint + SCCM + Opalis + SCVMM para hacer un portal de autoservicio para pedir VMs a la carta.

Esta aproximación es buena (por cierto, gracias por los comentarios y correos) sin embargo para gran empresa pueden aparecer decenas de condicionantes a cada oferta de autoservicio, imputaciones de costes, procesos complejos de aprobación integración en la burocracia/ITIL de IT, etc, etc.

Antes de empezar deciros que para aquellos que no necesiten de tanta personalización o integración se puede obtener un estupendo portal de autoservicio muy facilmente y de forma gratuita empleando el portal de autoservicio 2.0 de SCVMM.

Para aquellos que si tengais que pegaros con este tipo de requisitos aqui va otra aproximación:

Hoy quiero ir un paso mas lejos y enseñaros como seria la solución mas completa basándose en SCSM.

SCSM es el producto de IT Service Manager de Microsoft, uno de los aspectos mas interesantes que tiene es el de gestionar el cambio.

Sin ponernos metafísicos Winking smile enfocar una solicitud de autoservicio como un cambio compuesto de una serie de actividades es una aproximación acertada.

En SCSM hay por defecto tres tipos de actividades:

  • Manuales: El nombre lo dice, aunque en la plantilla pongamos lo que hay que hacer, etc es un técnico el que tienen que hacerlo e indicar que lo ha completado.

image_thumb3

  • De Aprobación: Ya sea simple, por mayoría, con derecho a veto o como sea SCSM es capaz de gestionar este tipo de actividades.

image_thumb6

  • Automáticas: Workflows, llamadas a comandos o simplemente capturando desde Opalis la existencia de una actividad concreta pendiente de ejecución.

image_thumb1

 

Lo interesante y este es uno de los puntos fuertes de SCSM es que es muy fácil personalizarlo, lo cual aplica también a las actividades, por ejemplo vamos a crearnos una actividad para que los usuarios puedan solicitar ampliaciones de memoria en VMs.

Solo tendremos que usar la herramienta de autor de SCSM para crearnos un management pack.

image_thumb8

Lo primero que haremos será extender una clase que tenga como base la clase estandar de actividad

image_thumb10

image_thumb12

image_thumb14

Ahora, tendremos que modificar las propiedades de la clase para que podamos especificar los datos requeridos por la actividad, algunos o todos ellos además podrán ser pasados como parámetros a Opalis para ser usados durante la automatización.

Lo primero será eliminar una propiedad nueva que se crea automáticamente y que no vamos a usar:

image_thumb16

Vamos a crear tres propiedades:

image_thumb18

image_thumb20

image_thumb22

No vamos a añadir por ejemplo propiedades pidiendo la razón del cambio o ese tipo de campos dado que estos ya se encuentran recogidos en el propio cambio y no queremos volver a pedirlos en la actividad.

Bien, debemos cambiar los tipos de las propiedades para coincidir con el tipo de dato:

image_thumb24

image_thumb26

Debemos indicar que tanto la cantidad de memoria como el nombre de la VM son obligatorios

image_thumb29

Con la clase ya lista, vamos a crear un formulario personalizado:

image_thumb31

image_thumb33

image_thumb35

Creamos las etiquetas (Label) que necesitaremos:

image_thumb39

Añadimos los controles que queremos usar:

image_thumb41

En la imagen anterior veis el formulario con un picker, para hacerlo así, en la clase tendríamos que crear una propiedad que estuviera relacionada con la target class de maquina virtual, en este ejemplo no lo haremos así, dado que lo complicaría un poco y no es cuestión para una demo.

Otra opción es usar una lista de SCSM que podríamos rellenar dinámicamente con las VMs, para eso necesitaremos también crear la propiedad usando el tipo “list”, por supuesto también podéis usar simplemente un textbox, el riesgo es que se introduzca una VM que no existe.

También es posible añadir código a los formularios a través del Visual Studio.

Con una lista lo haríamos así:

image_thumb43

Yo voy a usar el tipo “list” indicando una nueva lista, que como digo rellenaremos dinámicamente con la VMs.

image_thumb45

Es momento de hacer el enlace con las propiedades, para ello solo tenéis que seleccionar el control y en sus propiedades modificar el data binding.

image_thumb47

Ya podemos guardar nuestro Management Pack.

Desde la consola de service manager importamos nuestro nuevo management pack

image_thumb49

image_thumb51

image_thumb55

Ya tendremos la lista creada (la verdad es que podría haber rellenado el campo descripción y haber puesto espacios en el display name del management pack… que habría quedado mejor)

image_thumb59

De momento vamos a meter algunos valores directamente, ya haremos que se rellene sola.

image_thumb57

En el siguiente paso nos crearemos una plantilla de actividad desde el SCSM usando la actividad que hemos creado en la consola de autor.

image_thumb67

No vamos a modificar nada, pues el usuario debe escoger todos los campos.

image_thumb71

Aplicamos y aceptamos

Ahora creamos una plantilla de cambio

image_thumb61

Cambiar los valores de los campos para evitar que los que pidan el cambio tengan que rellenar la información y adaptarlo a como queréis que se registre la información.

image_thumb63

Ahora la parte que nos interesa, en el tab de actividades añadimos 2 una de aprobación y otra la que hemos personalizado nosotros:

Cuando añadimos una actividad de aprobación podemos indicar como se aprobara, si por votos, si alguien tiene derecho de veto, y obviamente también las personas o grupos que pueden aprobar.

En cuanto añadimos la actividad de aprobación se nos abrirá también el formulario para personalizarlo.

image_thumb65

image_thumb73

Una vez añadidas las actividades ya podemos crear un nuevo cambio con la nueva plantilla:

image_thumb75

image_thumb77

En actividades abrimos la actividad de ampliación de memoria:

Rellenamos los parámetros:

image_thumb80

Guardamos el cambio.

Como hemos requerido aprobación el cambio tendrá que ser aprobado.

image_thumb82

image_thumb84

El cambio ha quedado registrado y tipificado, pero aun queremos mas, queremos que una vez aprobado se haga solo Smile

Abrimos la consola de Opalis y nos creamos una nueva política en la carpeta que queramos:

image_thumb86

Añadimos un objeto del tipo “Monitor Object” del IP e Service Manager.

image_thumb88

Modificamos las propiedades del objeto indicando la conexión con SM y la clase correspondiente a la actividad que hemos creado, indicamos que queremos monitorizar actividades nuevas.

image_thumb90

El siguiente objeto sera del tipo “Get Relationship” y lo vamos a usar para averiguar cual es el cambio relacionado con la actividad.

image_thumb92

Los unimos

image_thumb94

Paso siguiente, saber a que VM hay que hacerle el cambio, para eso vamos a usar el GET-VM del IP de Virtual Machine Manager

image_thumb96

Indicamos que el nombre de la VM a la que queremos conectarnos es el que se ha especificado en el campo correspondiente que creamos en la actividad.

image_thumb98

Para poder cambiar la memoria una VM tiene que estar apagada, así que la apagamos.

image_thumb104

Vamos a modificar las propiedades del conector entre el get-vm y shutdown para que el shutdown solo pase si la VM esta arrancada.

image_thumb106

Ahora añadiremos un update VM y lo enlazamos como veis a continuación

image_thumb109

Modificamos el conector entre GET-VM y Update-VM para que solo funcione cuando la VM este parada

image_thumb111

Lo siguiente va a ser actualizar la VM con la nueva cantidad de memoria que sera igual a la memoria que nos devuelve el objeto GET-VM que es la que ya tiene la VM mas la memoria solicitada en la actividad, para ello editamos las propiedades del Update-VM

image_thumb100

image_thumb102

Permitirme un cambio, si hemos tenido que apagar la VM entonces en SCOM saldrán alertas de que la VM no responde, etc.

Vamos a añadir un objeto de tipo Stop Maintenence Mode del IP de SCOM para poner el servidor en modo mantenimiento y que no salgan las alertas.

image_thumb113

Nota: Por cierto me doy cuenta de que seria mas lógico haber puesto el modo mantenimiento antes de apagar la VM Winking smile

5 minutos serán mas que suficientes para parar una VM, cambiarle la memoria y arrancarla.

image_thumb115

Por si acaso este objeto no estuviera monitorizado modificamos el conector entre este objeto y el siguiente indicando que funcione pase lo que pase.

image_thumb117

Al final nos quedara algo así:

clip_image002

Habéis visto como en poco tiempo podemos automatizar un proceso, ahorrando dinero y mejorando el servicio y como SCSM es una solución muy completa e interesante como frontal de autoservicio.

Un saludo a todos.