Category Archives for "Metodología"

vRealize Operations Manager: Primeros pasos

Capura de vrealize vRealize Operations Manager

Serie de posts sobre vRealize Operations Manager

vRealize Operations Manager es la solución de VMware que nació para darle a nuestro entorno vSphere una visibilidad profunda y eficiente, de una manera fácil y sobretodo flexible. Cada vez se está consolidando más como la herramienta de monitorización para estos entornos: el hecho que sea del mismo VMware ayuda, pero sobre todo es la facilidad de recolectar métricas y presentar los datos, adaptándose muchísimo a los procesos u operativas de cada departamento de IT.

“Out-of-the-box” ya nos da muchísima información tanto a nivel de análisis como a nivel de generación de alertas o notificaciones, pero es sin duda cuando se genera una necesidad de datos sobre el entorno en nuestro departamento cuando podemos sacarle el máximo partido, generando el reporte, dashboard o alerta que precisamos de manera personalizada.

Es por ello que voy a dedicar los siguientes post a ver con profundidad vRealize Operations Manager, desde su instalación a cómo configurarlo de manera que nos ayude precisamente a dar respuesta a nuestras demandas.

¿En qué consiste vRealize Operations Manager?

vRealize Operations Manager es una solución de monitorización y Capacity Planning que, como tal, se enfoca en tres grandes funciones: recolectar datos, analizarlos y presentarlos.

En todos estos puntos, vROps destaca de entre los demás de la siguiente manera:

  • En cuanto a recolección, es rápido y muy fácil de configurar para que acceda a las métricas/datos de los sistemas origen. Es importante resaltar que, aunque sea de VMware, no es un producto orientado únicamente a monitorizar nuestro vCenter, ni siquiera orientado a monitorizar sólo productos de VMware. Por defecto lo que nos viene es vROps con el conector para vCenter, ése siempre estará ahí, pero existen un montón de “Management Packs” del propio VMware para integrar vRealize Operations Manager y monitorizar otras de sus soluciones más allá de vCenter o incluso de terceros para monitorizar dispostivos (switches, cabinas, …) o aplicaciones (SAP HANA, Oracle, Antivirus, …). Aquí podréis ver qué plug-ins, ampliaciones y Management Packs existen. Hay fabricantes como Blue Medora que se dedican a desarrollar este tipo de conectores.
  • En cuanto a análisis, estaremos de acuerdo en que previamente a la caída o malfuncionamiento de un sistema, este experimentará en la mayoría de los casos un comportamiento distinto al “normal”, anómalo. Las soluciones de monitorización tradicionales basan sus sistemas de alertas en tratar la evolución de una métrica según evolucione en el tiempo y dar su comportamiento como “correcto” mientras esté contenida en un umbral preestablecido. vROps va mucho más allá. Aprende el comportamiento normal según patrones que ya ha analizado para ese objeto y su motor analítico es tan potente que permite no solo levantar alertas por que tal métrica ha alcanzado el umbral que le hemos establecido, sino que además nos dirá si ese objeto está teniendo el comportamiento esperado para ese momento. De esta manera podemos preveer un potencial problema en cada elemento monitorizado. Además, es sencillo poder crear escenarios “What-If” que nos permiten simular qué niveles de servicio tendría nuestro actual entorno si le añadiéramos más capacidad, más VMs/demanda, le quitaramos un host…,
    Finalmente, tenemos la capacidad de aplicar políticas según queramos ser más agresivos o más conservadores en cuanto a todo lo que el análisis y tratamiento de las métricas se refiere, ya sea en umbrales de alertas, Capacity Planning, …
  • En presentación de datos, además de traer reportes, widgets y Dashboards por defecto, nos aporta una gran flexibilidad para poder crear nuestros propios paneles y reportes a medida, según más nos convenga.

Una vez tiene analizadas las métricas de los objetos a monitorizar, genera unas métricas propias llamadas “Badges” que consisten en un resumen del estado de cada objeto en los siguientes términos: Salud, donde nos indicará si el objeto está actualmente experimentando algún problema o error. Riesgo, que aporta la información de capacidad y tiempo restante de nuestra infraestructura según la proyección del uso y crecimiento actual de la misma, así como problemas de salud sostenidos en el tiempo. Por último eficiencia, detallando qué oportunidades de ahorro o reclamación de recursos tenemos según el uso que estemos haciendo de la infraestructura.

De este modo que podemos tener una gran variedad de entornos monitorizados bajo una sola herramienta.  Esto nos da la gran ventaja de poder relacionar los diferentes objetos de nuestra infraestructura en todas las capas. Aún mas, ofréce toda la potencia de un motor analítico muy desarrollado y customizable. Finalmente, la libertad de customizar la presentación de datos para adaptar la herramienta a las operativas de nuestro departamento.

Arquitectura de vRealize Operations Manager

A nivel de arquitectura/implementación, vROps tiene dos tipos de despliegue según los niveles de disponibilidad que se quiera de la aplicación o la cantidad de datos que se gestionen: un modo “all-in-one” en el que un solo nodo se encarga de recolectar los datos, analizarlos y mostrarlos o un modelo distribuido en el que se pueden desplegar los siguientes nodos:

  • Master Node: siempre habrá uno nodo con este rol en nuestro “cluster” de vROps, ya sea “all-in-one” o distribuido. Este nodo se encarga de gestionar todos los demás y lleva todos los roles.
  • Data Node: Lleva los conectores para poder recolectar datos de las diferentes fuentes
  • Replica Node: Réplica del master para dar HA al cluster de vROps
  • Remote Collector Node: Estos solo recolectan información de los objetos de inventario, no almacenan los datos ni los tratan, sirven para reducir el consumo de ancho de banda para monitorizar entornos externos.

Conclusión

vROps es la solución para dar la visibilidad que todo entorno necesita. VROps permite así ser mucho más eficientes en la resolución de incidencias, poder prevenir las mismas y tener el control de cuánta infraestructura nos queda.

VMware está ofreciendo un programa de optimización de infraestructuras mediante vROps con el que se entrega un informe detallado de los problemas reales y potenciales de cada entorno basado en vSphere, así como las oportunidades de ahorro en recursos que tenemos. No dude en contactar con nosotros rellenando este formulario con la opción “Monitorización de sistemas” para llevar a cabo uno de estos estudios y tener una imagen real del estado de salud y la proyección de su entorno.

La entrada vRealize Operations Manager: Primeros pasos aparece primero en Un cio como tu ….


Source: jmgriscom

ELK cómo generar alertas

Alertas en ELK

alertas en ELK : CÓMO GENERARLAS

El uso más común de ELK (Elasticsearch, Logstash and Kibana) es la generación dashboards para la visualización de métricas y tendencias, así como para el análisis forense o en procesos de debug. Pero este también puede usarse para generar alertas basadas en los cambios que se producen en la infraestructura. ELK por si mismo no dispone de un sistema de generación de alertas, pero hay herramientas para ello. Vamos ha analizar las diferentes opciones de alertas en elk.

Watcher

Watcher es el producto de Elastic para la generación y envío de alertas.

Este genera alertas en base a los cambios de la información guardada en Elasticsearch.

Este funciona en base a la definición de consultas en elastisearch, la definición de condiciones, definir cada cuando se realiza la consulta (scheduler) y que acción realizar si se cumple la condición definida.

Watcher se integra en ELK como una aplicación más i forma parte del paquete de aplicaciones de pago que  Elastic vende como añadidos a ELK.

 

Elastalert

Elastalert ha sido desarrollado por Yelp para uso interno y liberado bajo licencia Apache License, version 2.0. A diferencia de Watcher, Elastalert no se integra como un aplicación de ELK, sino que se ejecuta al margen de ELK.

Este realiza queries sobre Elasticsearch de forma periódica i permite definir un conjunto de reglas en base a la cuales se envían alertas hacia diferentes sistemas como Email, Slack o Hipchat entre otras.

 

Kaae

Kaae es un nuevo proyecto que pretende ser una alternativa opensource a Watcher. Este utiliza el mismo modelo que Watcher y se integra como una aplicación de ELK.

 

Logstash

A diferencia de Watcher Elastalert y Kaae, que se basan en la ejecución de queries para obtener y analizar la información, Logstash permite configurar eventos en tiempo real. Es decir, Logstash puede generar alertas cuando recibe los datos.

Todo y que es memos completo, ya que no podemos generar alertas en base a la correlación de datos, permite generar alertas justo cuando se recibe el datos de la fuente.

La entrada ELK cómo generar alertas aparece primero en Un cio como tu ….


Source: jmgriscom

El valor de Devops para un negocio

Print

Cuando hablamos de Devops, tenemos tendencia a centrarnos en las tecnología, herramientas y procesos utilizados. Básicamente es porque quién hablamos de ello somos gente que formamos parte de los equipos de desarrollo o de operaciones. Pero que valor aporta Devops para un negocio?

En el post anterior “Devops ROI” vimos los conceptos generales que permiten justificar la inversión en tecnología, el ahorro en costes de horas de trabajo y el ahorro en caídas del sistema. Pero Devops aporta otras ventajas o valor difícil de cuantificar en términos monetarios. Hoy en día, donde todos o la mayoría de los negocios son negocios basados en tecnología, este valor puede ser el hecho diferencial entre una empresa u otra.

La implantación de Devops nos permite impactar directamente en mejorar como distribuimos un producto al cliente, cambiar el producto rápidamente para satisfacer las necesidades del cliente o como recuperamos después de un fallo que afecta al cliente.

Un producto en si mismo no es nada hasta que un cliente lo utiliza. Es por ello que es importante reducir el tiempo de lanzamiento de un producto, y aquí es donde la automatización actúa como un multiplicador, permitiendo la colaboración de todos los equipos involucrados en la creación de un producto.

De la misma forma que un producto no sirve de nada si no lo utiliza un cliente, las mejores funcionalidades son aquella que utiliza el cliente. De nada sirve tener un producto con un montón de funcionalidades que no se utilizan. Es por ello que todos los esfuerzos deben focalizarse sobre las funcionalidades que utilizan los clientes, pero como sabemos que funcionalidades va a utilizar el cliente si aún no la hemos lanzado? Devops permite cambiar el enfoque en que priorizamos las funcionalidades de un producto. Pasamos de un enfoque basado en lo que el propietario o la gente de marketing quiere que tenga el producto a un enfoque basado en lo que el cliente quiere que tenga el producto. Para ello, la frecuencia de desarrollo y el uso de test A/B sobre grupos de clientes nos permiten conocer que funcionalidades y mejoras que quieren los clientes.

Por otro lado, todo y que a todos nos gustaría que un producto nunca fallara, tenemos que asumir que en el mundo real el fallo forma parte del ciclo de vida de un producto, falla la tecnología y fallamos nosotros. Todo y que con la automatización de los procesos de testing y deploy se reduce el número de fallos, debemos entrenarnos en la gestión del fallo para reducir el tiempo de recuperación ante fallo o MTTR (Mean Time To Repair). La reducción del tiempo de recuperación ante un fallo mejora la satisfacción del cliente.

En resumen, aplicar Devops permite reducir el tiempo de lanzamiento de un producto, distribuir al cliente aquello que desea el cliente, y mejorar la satisfacción del cliente.


Source: jmgriscom

Nueva Web en Orbal

web-orbal

Una web llena de recursos para vosotros

web-orbal

Siempre he dicho que una imagen vale más que cien palabras, y por eso creo que lo mejor es que se vea lo que estamos haciendo.

Estamos haciendo un punto de encuentro donde un Responsable Informático pueda encontrar la mayor cantidad de recursos sobre ello, videos, white papers, e-books

Y mientras vamos populando este apartado, podéis ver nuestro nuevo site, desde donde podréis ver lo que hacemos, nuestras novedades, etc.

captura-de-pantalla-2016-09-25-a-las-18-39-52

Os esperamos pronto por www.orbal.es

Take care,

JM

 


Source: jmgriscom

¿Cúal es la inversión de nuestra empresa en IT?

Hay una serie de métricas que un CIO tiene que tener muy claras si quiere que su departamento esté a la altura de las circunstancias y que el desempeño de su cargo no sea cuestionado (entre otras).

Uno de los primeros conceptos que tiene que tener en cuenta un responsable de un Departamento de IT es que esta gestionando un presupuesto más o menos elevado, pero que no ha solicitado ni precisa el Departamento de IT.

Si, parece mentira pero es así. El 80 o 90% del presupuesto del Departamento de IT está dedicado a dar servicio a nuestros clientes internos, los otros Departamentos, para que ellos a su vez, den servicio a los clientes de la empresa.

Lo primero que debiera tener claro el CIO es este concepto y defenderlo, lo segundo, conocer que porcentaje usa cada Departamento del 80% en cuestión y lo tercero (ya vamos para nota) que cada mes hubiera una nota interna o “factura” donde le indicáramos a cada Departamento en lo que ha incurrido. Al lado, para compensar la situación, una evaluación del servicio.

Esto, para las empresas que trabajan con una contabilidad de centros de costes será relativamente fácil, porque la cultura ya estará implantada, en las que no, pues pasito a pasito y empezar a clarificar quién es el responsable del presupuesto y quién es el que lo está explotando en verdad.

Estoy preparando un post donde además hablaremos sobre como confeccionar un presupuesto anual “por concepto y destino”, pero ahora volvamos al post original. Volvemos…

Si Vd. CIO de la empresa X le preguntara que porcentaje de los ingresos de su empresa se invierten en IT, ¿me sabría contestar? ¿Y si le pregunto cual es la media de su sector, o la media general?.

Antes de que dejes de leer este post déjame decirte que es muy fácil conocerlo (facturación anual y OPEX incluyendo amortización del Depto de IT y hacer una operación) y muy importante saberlo.

¿Por qué? Porque cuando venga el momento de poner presupuestos sobre la mesa, si sabemos ese dato y comparamos nuestra inversión en frente de la sectorial, tendremos argumentos en lenguaje de negocio para defender el proyecto, porque así se defienden los proyectos, en lenguaje de negocios, y demostrando que la inversión o ROI de nuestro proyecto es menor que los beneficios que va a aportar.

Sí, ya sé, y lo sé por experiencia (10 años como CIO) que hay muchos puntos “difíciles” en los proyecto, “intocables” que tendremos que volver “tocables”, poniendo un valo, y puntos “incuantificables” que volveremos “cuantificables”, porque nuestro CIO va a discutir un punto crítico “que gano si pongo en marcha este proyecto”.

Si esto lo podemos “indexar” al cuadro de lo que se gasta la industria en IT, tendremos otro punto de apoyo.


Acabo de ver el cuadro de Gartner y lo cierto es que continúo pensando que es bajo el “Share” de IT en los ingresos de la empresa.

El sector financiero está invirtiendo un 6.3% y el de Software e internet un 6,7, mientras que el general de la industria es un 3.3%. Ojo con confundirnos. Veamos que el sector de la energía tiene tan sólo un 1.1%, Igual con el 1.3% de las químicas. ¿sobre que cantidad de ingresos?

Tengamos un momento para hacer estos cuatro números y comparémonos con el cuadro o con nuestros colegas (si es posible). El paisaje nos dará mucha información.

Me encantaría que me dejárais algun comentario al respecto.

Hasta la semana que viene

Take care,

JM


Source: jmgriscom

Virtualización de servidores con éxito. Nuevo Ebook de este Blog.

virtualizacion-de-servidores-con-exito

¿Cómo estáis? Espero que ya reintegrados afrontando el ultimo trimestre del año.

Bien. Pues vengo a presentaros algo que llevaba dentro hace tiempo  y tenía ganas de que viera la luz. Un Ebook que contemplara las fases necesarias en un proyecto de virtualización de servidores (la virtualización de escritorios, aplicaciones y storage tienen un ciclo de vida similar pero distinto). Tenía que escribirlo….

¿A quien va dirigido el Ebook?  Pues a todos aquellos IT-Man, CIOs, informáticos y personas relacionadas que piensan o desean preparar un proyecto de virtualización de Servidores.  Y la intención final no es más que explicar y detallar las distintas fases del proyecto y argumentar porqué tiene sentido cada fase y que ganamos con ella.

A lo largo de mi experiencia en este mundo de la virtualización he tenido que revisar instalaciones las cuales tenían problemas e investigando he ido viendo que el 90% de las instalaciones que he tenido que recomponer era sencillamente porque en el proyecto nadie había puesto sobre la mesa la conveniencia o necesidad de cierta fase.

No se trata tan sólo de un libro técnico, sino que hay capítulos de gestión de TI en la que expongo o apunto a oportunidades donde se puede generar un proyecto de este tipo. Si eres capaz de “detectar” los puntos identificativos que indico, podrás con alto grado de seguridad empezar a sembrar lo que en un futuro va a ser las bases del proyecto para tu pequeño o gran CPD.

¿Y que más puedo decir? Que el libro va a ser gratuito y se va a distribuir en breve desde este blog o desde nuestra web www.orbal.es. Tan sólo te voy a pedir que te suscribas a nuestra Newsletter a cambio.

Y nada más, tan sólo indicaros que la intención es que otros libros eminentemente técnicos o de gestión, pretendo que sucedan a éste. Ya os iré dando noticias sobre ellos.

Dos puntos finales. El primero, espero que disfrutéis y sobre todo os sirva lo que he estado escribiendo para vosotros. Gracias por vuestro tiempo en leerlo.

El segundo. Me gustaría mucho que si estáis interesados en algún tema que os gustase/interesase, me lo escribierais abajo en los comentarios o me enviaseis un mail. Os estaría muy reconocido. Os avanzaré que estamos pensando en que Albert escriba un E-book sobre como usar elementos opensource para monitorizar sistemas virtualizados (Monitorización de guerrillas) y yo me estoy planteando uno sobre como evaluar los costes de un departamento de IT o como elaborar el presupuesto anual del mismo. Vosotros tenéis la palabra.

Take care, JM


Source: jmgriscom

Organiza tus jobs de Veeam mediante políticas

organiza-tus-jobs-mediante-veeam

El hecho de que la virtualización es una tecnología ya bastante madura en cada vez más entornos supone muchos retos. Vamos añadiendo cargas (seguramente cada vez más críticas y sensibles) a los hipervisores, nuevas máquinas, ratios de consolidación más agresivos y demás realidades que parece que induzcan la idea de que mantener el control de nuestra infraestructura tenga que ser más una cuestión de “hacer malabares”. Estos fenómenos son los que o ya afrontamos o afrontaremos en algún momento y es por ello que por ahí van las tendencias de los fabricantes cada vez apostando más por la automatización y la monitorización.

Estas realidades aplican por supuesto también a las soluciones que dependen directamente de nuestra infraestructura vSphere, como por ejemplo Veeam Backup&Replication. Antes de nada, en el caso de Veeam, lo primordial es mantener una definición de los requerimientos de cada VM en cuanto a su nivel de disponibilidad, luego veremos cómo aplicarlos y sobretodo mantenerlos de manera ágil.

Al final, lo que queremos es una manera ordenada y dinámica de proteger nuestras VMs según las condiciones específicas de cada una de ellas.

Para definir estas políticas deberemos analizar qué requerimientos tienen nuestras VMs o nuestros perfiles de VMs: tenemos que declarar los parámetros en los que basaremos nuestras políticas de Backup/Replicación.

Paso 1 – definir parámetros y valores

Un ejemplo sencillo de estos parámetros podría ser el siguiente:

  • RPO

    • ¿Cada cuanto tiempo debemos ejecutar una copia de la VM? Lo podemos medir en minutos, horas, días …
  • Ventana
    • ¿Qué intervalo tenemos para ejecutar la copia? Pierde relevancia si usamos Storage Snapshots. Expresado en franja horaria.
  • Retención
    • ¿Qué histórico de copias debemos almacenar para esa VM? Lo especificaremos en valores “absolutos”. Es decir, si quiero mantener una semana de copias y mi RPO es de 24h, tendrá un valor de 7.
  • RTO
    • Tiempo en poner la máquina en producción a partir de la declaración del desastre. En sí no es un parámetro que apliquemos al job como el RPO, pero podemos agilizarlo usando Reverse Incremental o más aún con replicas.
  • Encriptación
    • ¿Debemos encriptar los datos de esa VM?
  • OS
    • Mantener VMs de OS/Datos/Apps parecidos nos ayudará a tener mejores ratios de deduplicación.
  • ¿Backup secundario?
    • Hay que almacenar una copia de la VM en algún otro lugar.

Paso 2 – agrupar

Con  este análisis como primer paso, tendremos una descripción en términos de protección de datos de nuestras VMs, “metadatos” para cada una. Ahora nos hará falta agruparlas según valores parecidos. Fácilmente, acabaremos (siga esto entendiéndose como ejemplo) con un grupo que será “Producción – Linux” con unos valores iguales para cada parámetro en todas las VMs. Con estos grupos, tendremos una posible propuesta de organización/distribución de nuestros Jobs de Backup/Replicación.

Paso 3 – “dinamizarlo”

Sin embargo, no olvidemos que el principal ánimo de este post es hacer el trabajo (sobretodo el de mantenimiento) más sencillo. De momento, tenemos una manera ordenada de proteger a nuestras VMs según los requisitos específicos de cada una, pero no hemos hablado de cómo hacer todo este proceso dinámico o semi-automatizado.

Cuando hablamos de Jobs dinámicos en Veeam Backup & Replication, nos referimos a Jobs que como origen tienen un objeto que no es/son una VM en sí. En la definición del job, como “Source”, podemos añadir una a una cada VM que cumpla los requisitos definidos por el Job. Si tu entorno es pequeño, y sobretodo, con pocas modificaciones, es algo planteable, pero si el entorno va evolucionando (que es lo más normal), habrá que empezar a plantear otras maneras, puesto que no vamos a ir añadiendo VMs a los Jobs, sería bastante ineficiente.

En el fondo, para tener un job dinámico bastaría con crear uno solo para toda tu infraestructura que, como “Source”, incluyera todo el vCenter. De esta manera, toda máquina nueva sería incluida directamente en la copia sin necesidad de dar “un paso más” añadiéndola. Sin embargo, catalogar todas las VMs bajo la misma definición no es lo que buscamos tampoco.

Es aquí donde toman relevancia objetos de vCenter que quizás no habías tenido en cuenta antes, como son las etiquetas (o “tags”) y las carpetas. En este whitepaper, Luca Dell’Oca nos sugiere que, una vez definidos los grupos de VMs que hemos visto en el paso 2, cada grupo se mapee a un tag de vCenter y luego, creando un Job para cada grupo, añadir cada etiqueta como “source” del job. Así pues, para nuestro grupo de ejemplo “Producción – Linux”, tendremos que crear su etiqueta en vCenter, etiquetar cada VM que pertenezca a este grupo con ella, y luego crear un Job de Veeam que como Source tenga dicho tag. Además de ser un genial White Paper (recomiendo descargarlo y leerlo detenidamente sobre todo por cómo se detallan los pasos), me parece un método perfecto para entornos heterogéneos, diversificados, (muy) grandes y con muchos usuarios y permisos en vCenter. Sin embargo, quizás vea más acorde a un entorno “standard” de los que tenemos hoy en día por nuestras tierras usar las carpetas de vCenter . La razón es sencilla: al crear una VM, ya sea mediante el wizard tradicional del cliente de vSphere o incluso mediante herramientas de terceros como Chef, nos dejará (de hecho nos “obligará”) especificar en qué carpeta la ubicamos.

Esto hace que no tengamos que dar ese “paso más” de luego ir y etiquetar la VM. Luca habla de maneras muy válidas mediante scripting por ejemplo de automatizar el proceso de etiquetar, pero quizás es demasiado complejo si ya nos sirven las carpetas.

La idea es que no queden máquinas virtuales fuera de copia. Si usamos carpetas, nos aseguramos que siempre nos pregunte en qué carpeta ponemos la VM, pero cabe la posibilidad de que la VM caiga en la carpeta “Discovered Virtual Machines” o en la matriz del Datacenter. Para mitigar este problema, podemos por ejemplo ejectuar un pequeño script que cada dia revise que no queden VMs en carpetas que no estén incluidas en ningún job.


Source: jmgriscom

Retorno de la inversión (ROI) en Devops

design-process-thumb

El calculo de cualquier retorno de inversión se basa en el ahorro esperado. Cuando analizamos el retorno de inversión de implantar prácticas como DevOps, es difícil cuantificar este ahorro en términos monetarios. Hay dos aspectos que nos pueden ayudar a entender los ahorros que obtenemos al implantar DevOps: ahorro de costos en horas de trabajo y ahorro de costos de caídas del sistema.

Por lo que hace al ahorro de coste en las horas de trabajo, podemos clasificar el trabajo de cualquier departamento de TI o desarrollo en dos tipos, trabajos planificados y trabajos no planificados, donde los trabajos planificados son aquellos que están destinados a aportar valor a nuestros clientes, en cambio, los trabajos no planificados son aquellos que se realizan a causa de errores o incidencias que hay de resolver de inmediato. Implantar prácticas de Devops permite reducir el tiempo de trabajo no planificado. Pero cual es el coste del trabajo no planificado?

En el informe anual que publica Puppet “State of Devops Report” del 2016, se plantea la siguiente formula para calcular el exceso de coste que supone el trabajo no planificado.

Cost del exceso de trabajo = Personas * Salario medio * Beneficios * Porcentaje de tiempo dedicado a trabajo extra.

• Número de personas: total de personas del equipo técnico.
• Salario medio: según un artículo de computerworld, que hace referencia a un informe de Addeco, el sueldo medio del sector TIC en España oscila entre los 30.000 y 60.000 euros anuales.
• Beneficios: es el coste de los variables o incentivos que perciben los trabajadores a más a más del sueldo, como tickets restaurant, mutuas, etc.. Podemos estimar un factor de 1.2 sobre el sueldo medio.
• Porcentaje de tiempo de trabajo extra: según el informe de Pupper “State of Devops Report” del 2016, para una empresa media este está entre un 10% y un 32%.

Para poner un ejemplo del coste de trabajo extra o trabajo no planificado realizado, ponemos que tenemos un equipo de 10 personas. El cálculo seria el siguiente:

Coste de exceso de trabajo = 10 * 45.000,00€/año * 1.2 * 22% = 540.000,00€/año * 22% = 118.800,00€/año

A este coste, debemos añadir el coste de las caídas de servicio, coste que varia mucho en función de la naturaleza de la organización y que no es fácil de calcular. Todo y la dificultad de calcular el coste de las caídas, es interesante ver la aproximación que se hace en el informe de Puppet,donde se plantea una formula para estimar el coste de las caídas de servicios.

Coste del “downtime” = Frecuencia de Deploys * Porcentaje de caídas * Tiempo medio de recuperación * Coste por hora de caída

• Frecuencia de deploys o despliegues que se realizan en el entorno de producción y que pueden ser causa de caídas del sistema.
• Porcentaje de caídas producidas por cambios en el sistema.
• Tiempo medio de recuperación o MTTR (Mean Time To Recover) que corresponde al tiempo medio que el equipo de operaciones tarda en recuperar los sistemas ante una caída.
• Coste de por hora de caída. Este dependerá mucho de lo crítico que sea el sistema caído.

Aquí las prácticas de Devops nos ayudan a reducir el tiempo de recuperación de los sistemas ante caídas y a reducir el porcentaje de errores producidos por cambios en el sistema.

Podéis encontrar más información en el informe de Puppet “2016 State of Devops Report”


Source: jmgriscom

Reclamando espacio en cabinas Thin Provision a nivel de vSphere

Una de las grandes novedades que trajo vSphere 5.0 fueron las APIs de integración con las cabinas para optimizar ciertas tareas, sobretodo aligerando la carga del hipervisor. La idea es pasar esta carga a la cabina, quien tiene más facilidad para operar con los datos que ya residen en ella.

Si tenemos una cabina con configuración compatible con estas APIs, las tenemos habilitadas por defecto por lo que el uso de muchas de sus funcionalidades las usamos de manera transparente. Sin embargo, hay algunas de estas “primitivas” que nos pueden ayudar muchísimo pero hay que conocerlas, puesto que requiere que las invoquemos de alguna manera. Una de ellas es “Unmap”:

“Unmap” resuelve un dolor de cabeza con el que te habrás enfrentado si usas una cabina con Thin Provisioning, que es la reclamación. Thin Provisioning, como toda innovación, aporta muchas ventajas pero también tiene sus consideraciones. Una de ellas es la necesidad de reclamar el espacio inutilizado.

Este espacio se genera cuando el SO de nuestras máquinas virtuales deja de usar una cantidad de almacenamiento que anteriormente usaba. Lo que sucede es que en realidad, el sistema operativo marca este espacio como libre pero no hace lo propio la cabina, quien aún lo mostrará como espacio ocupado en nuestros Disk Groups.
A nivel de vSphere es más sencillo de entender: Supongamos que tenemos una LUN/Datastore de 500GB de capacidad con una VM en ella de 100GB en uso. En ese momento, nuestro Disk Pool en la cabina marcará que tenemos 100GB utilizados. Pero pongamos que, por algún motivo, tenemos que restaurar esa misma VM, en esa misma LUN. Sin problema, podremos mantener las dos VMs y nuestro Datastore marcará un uso de 200GB, hasta que a posteriori, cuando eliminemos la VM original, el uso de nuestro Datastore será 100GB de nuevo. Sin embargo, en nuestro Disk Pool, aparecerán usados 200GB. Tradicionalmente, el procedimiento por el cual recuperábamos esos 100GB que corresponden a la VM original consistía en crear un VMDK “Thick Provisioned – Lazy Zeroed” de un espacio un poco menor que el que marca el Datastore como libre. En nuestro ejemplo, el Datastore marcará 400GB libres por lo que creando un VMDK de ese modo, lo que haremos es marcar todos los bloques que use ese nuevo disco a cero. Una vez realizado, tendremos que decirle a la cabina que reclame espacio en ese Disk Pool. Lo que hará este comando, es buscar bloques a cero que no estén en uso, por lo que podremos recuperar casi la totalidad de los 100GB que ocupaba la VM que hemos ocupado.

Este método conlleva bastantes problemas potenciales más allá de su relativa complejidad:
El paso de crear el VMDK en Eager Zeroed marcará en cero bastantes bloques. Esta operación es bastante pesada para la cabina por lo que podríamos impactar en el rendimiento de otros servicios. Volviendo a las VAAI, otra primitiva que ayuda un montón es “Write Same”. Tradicionalmente, cuando un host ESXi quería marcar a cero bloques (como al crear un disco en Eager Zeroed), lo hacía mandando comandos SCSI a la cabina que lo cargaban en ciclos de procesador y sobretodo, en la cola de la HBA de turno. Con VAAI esta operación la realiza la cabina de manera transparente descargando al host, pero si no es compatible nuestra LUN, querremos tener control con esta operación.
No podemos crear un VMDK del mismo tamaño que el que marca el datastore como libre, pues lo llenaríamos y bloquearíamos las VMs que se ejecutan en él. Igualmente, querremos quedarnos cuanto más cerca posible de ese valor para recuperar cuanto más espacio. La avaricia rompe el saco, cuanto más cerca queramos quedarnos, en más riesgo entraremos.

Todo este procedimiento podemos resumirlo en un simple comando, el comando de esxcli “unmap” (valga la redundancia). Además, nos va a recuperar todo el espacio realmente disponible, pues va iterando en búsqueda de bloques ya no usados y los marca a cero automáticamente. Es importante remarcar que, aunque VMware anuncia que a partir de 5.5 el impacto es mínimo, igualmente vamos a sobrecargar cabina al reclamar, así que mejor hacerlo en horario de mantenimiento.

Visto lo que nos puede aportar “unmap”, veamos cómo podemos invocarlo.

Primero de todo, debemos tener el UUID del datastore anotado. Nos conectaremos por SSH a cualquier ESXi que tenga ese Datastore presentado y, una vez dentro, anotaremos qué UUID tienen las LUNs sobre las que queremos reclamar. Para ello, ejecutaremos el comando
# esxcli storage vmfs extent list.
El output nos dará un listado de los Datastores que ve el host con el nombre que les hayamos dado, y al lado qué UUID tienen las LUNs que lo componen, en la columna “Devices”. Tomamos nota de la que nos interesa y listo.
Antes de nada, tendremos que asegurarnos que nuestro datastore soporta VAAI. Para verlo, # esxcli storage core device vaai status get -d naa.xxxxxxxxxxxxxxxxxxxxxxxxxx. El campo “Delete” debe estar en “Supported”.
En este momento ya lo tenemos todo listo para ejecutar el comando “unmap”. Solo queda por discutir un punto: cuantos bloques vamos a “unmapear” por iteración. Aquí, lo mejor es hablar con el fabricante de vuestra cabina para acordar qué valor le damos. Así que estamos preparados, vamos a ejecutar:
# esxcli storage vmfs unmap –u XXXXXXXX-XXXXXXXX-XXXX-XXXXXXX –n YYY, donde la cadena de Xs será el UUID que anotamos en el paso 1 y las Ys el número de bloques que queremos que reclame por iteración.
Por último, podremos monitorizar el proceso mediante esxtop. Ejecutamos el comando # esxtop en nuestro ESXi, clickamos “u” para ir a la ventana de discos/devices, clickamos “f” y escogemos qué campos queremos mostrar.

fields

Depende de la resolución de vuestra pantalla, seleccionad solo el campo de “Device name”, que nos mostrará los naa de las LUNs y “o” y “p” para ver las métricas de comandos de VAAI. Además, si os cabe, podéis incluir el campo “i” para ir monitorizando también los tiempos de latencia en general (R/W) y poder ir viendo que no tengamos ningún susto.

Entonces, una vez hemos seleccionado los campos que queremos ver en nuestra ventana de esxtop y hemos ejecutado nuestro comando de unmap en una LUN, veremos algo como esto:

extop

Las columnas que nos interesan son:
DELETE: número de comandos de unmap que se han ejecutado sobre la LUN
DELETE_F: número de comandos de unmap que han fallado sobre la LUN
MBDEL/s: MB que está “unmapeando” en este momento el comando que hemos ejecutado. Aquí solo deberías ver distinto de cero la LUN que has seleccionado.

Por último, tendremos que reclamar. Recordad que con unmap estamos liberando bloques, o informando a la cabina de qué bloques ya no están en uso en vSphere. Lo que faltará és que la cabina los reclame y por lo tanto los marque como Free en nuestro Disk Pool. Aquí ya cada una lo hará a su manera. La mayoría tendrán un botón de “Reclaim” que barrerá todo el Disk Pool en búsqueda de los bloques que habremos liberado, y que por lo tanto, pueda marcar como libres. En el caso de Datacore por ejemplo, al ejecutar el comando de unmap, se dispara automáticamente la funcionalidad de “Auto-Reclaim” que lo que hará será ir reclamando los bloques que vamos liberando de manera transparente, unmap lo desencadena todo. Lo veréis así (Storage Source – Online, auto-reclamation in progress):

cabina


Source: jmgriscom