Magento: copias de seguridad

MagentoEn este post intentaré explicar cómo realizar copias de seguridad con Magento. Existen varias utilidades que realizan estas funciones de copia de seguridad, pero antes de instalarlas se recomienda (precisamente) realizar una copia de seguridad, por si la instalación fallase o provocase algún tipo de problema.

Así pues, explicaré cómo realizar una copia de seguridad manual, o por lo menos, como la haría yo.

Backup nativo de Magento

  1. Nos logueamos al panel de administración de Magento.
  2. Hacemos click en Sistema -> Herramientas -> Copias de seguridad.
  3. Pulsamos sobre «Crear copia de seguridad» en la esquina superior derecha.
  4. Al cabo de unos segundos, no aparecerá el mensaje «The backup has been created» y podremos ver listada la copia de seguridad recién creada.
  5. Pulsaremos sobre el link «gz» de la columna «Descargar» de la fila correspondiente al backup que hemos creado, y procederemos a descargar el archivo en local.

Backup con phpMyAdmin

Además del backup de la base de datos realizado en el apartado anterior, en mi caso he realizado un backup manual con la utilidad phpMyAdmin que me proporciona mi hosting (y que proporcionan de forma gratuita la mayoría de hostings). Se han seguido los pasos de aquí, y han sido los siguientes:

  1. Vamos a nuestra página de administración del hosting y nos logueamos.
  2. Entre las diferentes utilidades, seguramente en la sección de «gestión de las bases de datos», veremos la utilidad phpMyAdmin.
  3. Con phpMyAdmin podremos ver las diferentes tablas que conforman la base de datos de Magento (más de 300 en mi caso).
  4. Desde el menú de la izquierda, pulsaremos sobre la base de datos de magento (la que incluye todas las tablas, que tiene un número entre paréntesis al lado).
  5. Posteriormente, pulsaremos sobre la pestaña «Exportar».
  6. Pincharemos en el enlace «seleccionar todo», lo que seleccionará todas las tablas y pulsamos (o dejamos seleccionada) la opción «SQL».
  7. Bajo la opción «Estructura», marcaremos las casillas ««, «Añadir IF NOT EXISTS», «Añadir el valor AUTO_INCREMENT», así como «Usar «backquotes» con tablas y nombres de campo».
  8. Bajo la opción «Datos», marcaremos las casillas «Completar los INSERTS», «INSERTs extendidos» y «Usar hexadecimal para campos binarios».
  9. Finalmente marcaremos el checkbox «Enviar» y sin utilizar compresión (compresión «ninguna») pulsaremos sobre «Continuar».
  10. Nos aparecerá el fichero SQL listo para descargar, con la copia de la base de datos.

Backup de los ficheros

Este último paso (al igual que el anterior), no es estrictamente necesario, pero para mayor seguridad, he preferido hacer un backup del sistema de ficheros en producción de mi e-commerce.

  1. Para ello he abierto mi cliente FTP favorito y me he conectado a mi hosting.
  2. Después únicamente he arrastrado toda la carpeta «magento» con sus directorios, sub-directorios y ficheros a mi disco duro (esto ha llevado un rato largo).

Con todo esto, ya me he quedado más tranquilo de cara a cualquier fallo en mi e-commerce.

ITIL Fase 5: CSI

CSI = Mejora Continua del Servicio

Objetivos

  • Recomendar sobre oportunidades de mejora en las diversas fases.
  • Mejorar la calidad del servicio TI, mejorando los procesos.

Propósito (Emblema de ITIL)

  • No se puede gestionar lo que no se puede controlar.
  • No se puede controlar lo que no se puede medir.
  • No se puede medir lo que no se puede definir.

Modelo (o pasos) de mejora continua:

  • ¿Cuál es la visión?
  • ¿Dónde estamos ahora?
  • ¿Dónde queremos llegar?
  • ¿Cómo llegamos? (mejorando servicios y procesos)
  • ¿Hemos llegado?
  • Keep the momentum going

Otros

  • VOI (Valor de la Inversión): valor extra por establecer las decisiones previas.
  • Ciclo Plan-Do-Check-Act

7 pasos de mejora continua (antes se ha de identificar la visión y estrategia y los objetivos tácticos y operacionales) – En orden

  1. ¿Qué se debería medir?
  2. ¿Qué se puede medir?
  3. Medición
  4. Procesamiento de datos
  5. Análisis
  6. Presentación y uso de la información
  7. Acciones correctivas

Valor para el negocio – En orden

  1. Validar: monitorizar y medir para validar las decisiones prévias.
  2. Dirigir: ordenar las actividades para alcanzar los objetivos.
  3. Justificar: presentar las pruebas para documentar las recomendaciones.
  4. Intervenir: implementar medidas correctivas

Tipos de métricas

  • De tecnología: basadas en componentes y responsabilidades.
  • De procesos: vinculadas a los CSF.
  • De servicios: mediciones del servicio de principio a fin (end to end).

Govierno Corporativo y TI

  • Responsable de promover sinceridad, transparencia y responsabilidad.

Y hasta aquí las entradas sobre los apuntes del curso de «Introducción a ITIL v3».

ITIL Fase 4: Operación

  • En esta fase el cliente puede ver el valor del servicio.
  • En esta fase, los planes, diseños y mejoras del Ciclo de Vida del Servicio son ejecutados.
  • Debe existir un equilibrio entre el punto de vista interno (orientado a la tecnología) y externo (orientado a servicios).

Ámbito (actividades)

  • Los servicios.
  • Los procesos de gestión.
  • La tecnología.
  • Las personas.

Objetivos

  • Coordina actividades y procesos necesarios para entregar los servicios acordes a sus SLA.

Funciones (personas o grupos de personas que realizan un trabajo)

  • Service Desk
  • Gestión Técnica: expertos técnicos
  • Gestión de aplicaciones
  • Gestión de operaciones TI: responsables de entregar servicio día a día, así como de la administración de instalaciones y el uso de informes.

SERVICE DESK

  • Objetivos
    • Registrar incidencias y peticiones de servicio.
    • Asignar prioridad y categoría.
    • Notificar a los usuarios los cambios programados.
    • Identificar si hemos de actualizar la CMS.
  • Rol
    • SPOC (Single Point Of Contact)
    • Responsable del manejo eficaz de incidencias y peticiones de servicio
  • Estructura organizativa
    • Local (distribuido): 1 Service Desk por zona (se puede escalar a 1 Service Desk único).
    • Centralizado: 1 Service Desk único para todos.
    • Virtual: Service Desk único pero no centralizado, sin ubicación definida, con acceso a la SKMS.
    • Follow the Sun: operarios disponibles por usos horarios, 24h.
  • Otros
    • El Personal del Service Desk depende de a) la demanda b) y lo definido en los SLA.
    • Deben usarse métricas para medir el éxito del Service Desk.

PROCESOS

1- Gestión de incidencias

  • Objetivo: resolver la incidencia lo más rápidamente posible sin resolver la causa raíz.
  • Definición
    • Interrupción no planificada o reducción de la calidad del servicio TI.
    • También lo es un fallo de un elemento de configuración que no haya afectado todavía al servicio.
  • Prioridad = impacto + urgencia.
  • Incidencias graves: tienen mayor urgencia debido a su alto impacto en el negocio. Requieren procesos separados, para no descuidar el proceso de Gestión de incidencias .
  • Proceso de gestión de incidencias: Identificación -> Registro -> Categorización -> Priorización -> Investigación y diagnóstico -> Resolución y recuperación -> Cierre

2- Gestión de problemas

  • Objetivo: prevenir proactívamente incidencias (investigando la causa raíz), problemas y errores.
  • Usa una Base de Datos de Errores Conocidos (KEDB). Esta base de datos es deseable que esté integrada con la CMDB, formando así parte del SKMS.
  • Definiciones:
    • Problema: causa de una o más incidencias.
    • Solución temporal (workaround): levantar un servicio antes de identificar la causa raíz.
    • Error conocido: problema que posee una causa raíz documentada y una solución temporal.
  • La categorización de incidencias ayuda a establecer tendencias.
  • KEDB:
    • Almacena errores conocidos y resoluciones de incidencias y problemas.
    • Contiene detalles exactos del fallo y de los síntomas.

3- Gestión de peticiones (Request Fullfilment)

  • Abastece y entrega servicios estándar, predefinidos y aprobados. También incluye consultas o dudas.
  • Las peticiones no son ni incidencias ni cambios. Es un término genérico para diferentes solicitudes o peticiones de los usuarios. En el caso de pedir algún cambio, éste no entraría dentro de la categoría de cambios, al tratarse de algo todavía más simplificado que un «cambio estándar».
  • El catálogo de servicios proporciona información a los usuarios sobre qué servicios les corresponden.
  • Son responsabilidad del Service Desk.

4- Gestión de accesos (a servicios)

  • Derecho a usar un servicio (por ejemplo, telefonía móvil).
  • Ejecuta políticas definidas en Gestión de la disponibilidad y Gestión de la Seguridad de la Información.
  • Este proceso puede iniciarse con una petición de servicio.
  • Definiciones:
    • Acceso: alcance de la funcionalidad a la que tiene derecho el usuario.
    • Identidad: identificación única de un usuario en una empresa.

5- Gestión de Eventos

  • Evento: valor inusual en un componente de servicio.
  • Son alertas o notificaciones sobre cambios de estado.
  • Categorías:
    • Informativo: valor regular.
    • Advertencia: valor inusual.
    • Excepción: valor anormal.
  • Instrumentación: es lo que se puede monitorizar de los CIs.
  • Alerta: cuando un evento sobrepasa un umbral predefinido.

ITIL Fase 3: Transición

Objetivos

  • Llevar con éxito a producción un servicio nuevo o modificado, diseñado previamente, con los costes previstos.
  • Menor impacto y riesgos acotados.
  • Proporcionar planes claros e integrales.

PROCESOS

1- Gestión de Cambios

  • META: medios y procedimientos estandarizados (bien documentados) reduciendo cualquier impacto sobre el servicio.
  • Va de la mano con gestión de configuraciones.
  • Gestión de cambios no se encarga de gestionar facturas ni gastos.
  • Definiciones:
    • Cambio: «adición, modificación o eliminación de un servicio, y su documentación asociada».
      • No son cambios, ni cambios mayores (cambios estructurales, a nivel de empresa o en un proceso de negocio) ni cambios menores (a nivel operativo).
    • Solicitud de cambio (RFC): petición formal para un cambio.
    • Cambio estándar: cambios rutinarios de bajo riesgo.
    • Cambio de emergencia: cambio que no tiene Service Design Package.
    • Comité de cambios (CAB): se reúne periódicamente para evaluar, priorizar, autorizar, revisar los RFC y ejecutar los PIR (Revisión post-implementación).
    • Comité de cambios de emergencia (ECAB).
  • Hay que definir qué es un cambio y qué es operativa normal.
  • Documentos de la planificación de cambios:
    • Calendario de Cambios (CS) aprobados.
    • Documento de Paradas Planificadas (Planned Downtime) PD.
  • El proceso de cambios consta de las siguientes etapas: Registro -> Revisión -> Evaluación del impacto -> Priorización -> Análisis de riesgo -> Verificación -> Cierre.
    • Registro y revisión
      • Los cambios deben registrarse.
      • Han de existir procedimientos para solicitar cambios.
      • El CAB revisará los RFC.
    • Evaluación: Las 7R de la gestión de cambios -> Evaluación del impacto.
      • Requerimiento: ¿quién solicitó el cambio?
      • Razón: ¿cuál es el motivo del cambio?
      • Resultado esperado con el cambio.
      • Riesgos: ¿qué riesgos presenta el cambio?
      • Recursos que se necesitan para efectuar el cambio.
      • Responsables de hacer el cambio.
      • Relación con otros cambios.
    • Priorización y riesgos
      • Primero se usará el impacto que puede provocar (el impacto determinará la categoría del cambio, menor, medio o mayor).
      • Segundo se le dará una prioridad al cambio.
    • Análisis y cierre
      • El CAB realizará la Revisión Post Implementación (PIR), que garantiza:
        • Que el cambio ha alcanzado sus objetivos.
        • Que todos están satisfechos y no hay efectos secundarios imprevistos.
        • Que todo está documentado.
  • Plan de remediación:
    • Actúa cuando el resultado de un cambio no es satisfactorio.
    • No siempre existen back outs (vuelta atrás). Es entonces cuando se usa la remediación.

2- Gestión de la Configuración y Activos de Servicio (SACM)

  • Objetivo: definir los componentes de los servicios y de TI y mantener la CMDB.
  • Proporciona info precisa sobre configuraciones.
  • Minimiza los problemas causados por malas configuraciones.
  • La CMDB
    • No es solo de ítems, también lleva relaciones.
    • El número de columnas marca la amplitud de la CMDB.
    • La profundidad de la CMDB (el detalle) viene marcada
  • Definiciones:
    • CI (Configuration Item): cada uno de los componentes de la infraestructura.
    • CMDB (Configuration Management DataBase): base de datos para organizar y relacionar los CI. Contiene información sobre incidencias, problemas y solicitudes de cambio de cada CI.
    • CMS (Configuration Management System): herramientas y bases de datos usadas para gestionar la información de configuración.
    • SKMS (Service Knowledge Management System): herramientas y bases de datos usadas para gestionar el conocimiento y la información. Tiene toda la información que un proveedor de servicios necesita para gestionar sus servicios.

SKMS

  • DML (Biblioteca Definitiva de Medios): contiene versiones aprobadas de CI de software. Puede contener licencias y documentación.
  • Configuration Baseline: configuración de un servicio funcionando correctamente.
  • Snapshot: estado más reciente de un entorno o CI. Se incluye en el CMS.

3- Gestión de Versiones y Despliegues

  • Objetivos:
    • Garantizar que existen planes de versiones y despliegues.
    • Asegurar que pueden crearse, instalarse, testearse y desplegarse paquetes de versiones con éxito y dentro de los plazos, con el menor impacto posible.
  • Definiciones:
    • Unidad de lanzamiento: parte de un servicio o infraestructura TI que será liberada conjuntamente. No tiene por qué ser un primer lanzamiento, puede ser cualquiera. Por ejemplo: departamento contable.
    • Identificación de la versión: todos los lanzamientos deben identificarse de forma única.
  • Tipos de despliegue:
    • Big Bang: a todos los usuarios conjuntamente.
    • Phased (por fases): a diversos grupos en momentos diferentes.
  • Opciones:
    • Pushed
    • Pulled
  • Modelo en V del servicio (a la izquierda, requisitos del servicio, a la derecha, validación y verificación)

Modelo en V

  • Roles:
    • Gestor de versiones: crea y prueba la versión final.
    • Gestor de despliegues: planifica el despliegue y es el responsable del mismo.
  • Early Life Support: provee recursos para resolver problemas durante el despliegue.

ITIL Fase 2: Diseño

Objetivos

  • Diseñar los servicios TI nuevos o modificados (no todos los cambios requerirán diseño) para su paso a producción = Definir los procesos necesarios para operar un nuevo servicio.
  • Evaluar y mejorar eficiencia y eficacia de servicios.
  • Minimizar y gestionar riesgos.

Beneficios

  • Menor TCO (Total Cost Of property): incluye gastos de uso, mantenimiento, etc.
  • Mejor alineación del servicio con las necesidades comerciales.
  • Mejor rendimiento del servicio gracias a los planes de:
    • Capacidad
    • Continuidad
    • Disponibilidad

Actividades

  • Análisis de requisitos acordados con el negocio.
  • Inclusión en el diseño inicial de los SAC (Service Accept Criteria).
  • Incluir ROI, costes iniciales y también venideros.
  • Decisión sobre soluciones, resultados y objetivos deseados (SLR: Service Level Requirement).
  • Elaboración del SDP (Service Design Package): patrón que incluye todos los aspectos del servicio y los requisitos para todas las etapas del ciclo de vida.

4P de diseño

  • Personas
  • Procesos
  • Productos (servicios, tecnología y herramientas)
  • Partners & Suppliers

5 aspectos del diseño

  • Diseño de la… solución del servicio (requisitos, recursos y capacidades)
  • Herramientas de gestión (portfolio)
  • Herramientas de provisión (arquitecturas de tecnología)
  • Métricas, medidas y KPI (necesario para Diseño, Transición, Operación y CSI)
  • Procesos, roles y capacidades

Opciones de provisión del servicio

  • Insourcing: se usan capacidades internas para el diseño
  • Outsourcing
  • Co-sourcing: combinación de las 2 anteriores
  • Multi-sourcing / partnership: múltiples organizaciones
  • BPO (Business Process Outsourcing)
  • ASP (Application Service Provisión): Provisión de aplicaciones (ej: Hosting)
  • KPO (Knowledge Process Outsourcing): externalizar el núcleo o procesos esenciales.

PROCESOS

1- Gestión del catálogo de servicios (SCM)

  • Incluye sólo servicios actuales (en vivo)
  • Gestiona el catálogo de servicios
    • Describe los servicios de forma poco técnica
    • Incluye los SLA
    • Se encuentra a disposición del ServiceDesk y de los clientes

2- Gestión del nivel de servicios (SLM)

  • META: mantener y mejorar la calidad de los servicios alineados con la empresa
  • Controla y mejora los niveles de servicio acordados entre dos entidades, respecto a los objetivos establecidos en los SLA.
  • El gestor del nivel de servicio es la cara visible en el cliente.
    • SLA Chart: carta con los resultados de cumplimiento de los SLA en un periodo.
  • SLA (Service Level Agreement) usa un lenguaje no técnico. Incluye:
    • Tipo de servicio
    • Soporte y asistencia
    • Seguridad de los datos
    • Tiempos de respuesta y garantías del sistema
    • Disponibilidad
    • Sanciones
  • Métricas de SLA
    • ABA (Abandon Ratio)
    • ASA (Average Speed to Answer)
    • TSF (Time Service Factor): tanto por ciento de llamadas atendidas en un lapso de tiempo.
    • FCR (First Call Resolution)
    • TAT (Turn Around Time): tiempo para completar una determinada tarea.
  • Como proveedores de servicio, podemos tener nuestros propios proveedores, con los que tendremos:
    • OLA (Operation Level Agreement): un SLA con un proveedor interno.
    • UC (Underpinned Contract): un SLA con un proveedor externo.
  • Actividades
    • Comparar el rendimiento del servicio con los SLA.
    • Determinar los SLR (Service Level Requirement).
    • Negociar los SLA.
    • Crear SIP (Service Improvement Programs).
    • Elaborar informes.
    • Gestionar reclamaciones y felicitaciones.
  • SLA Multinivel
    • Corporativo: un mismo SLA para todos los clientes (ej. horario del ServiceDesk).
    • Cliente o de «firma única»: un cliente pacta con un proveedor un SLA para varios servicios.
    • Servicio: un SLA para un servicio para todos los usuarios de ese servicio.

3- Gestión de disponibilidad

  • Únicamente disponibilidad de servicios y componentes.
  • Optimiza y monitoriza los servicios para que funcionen ininterrumpidamente, cumpliendo los SLA y a un coste razonable.
  • Plan de disponibilidad: incluye las necesidades presentes y futuras de capacidad del cliente. Gestión de disponibilidad ha de garantizar que esta capacidad es suficiente.
  • Proactivo -> alcanzar los SLR en términos de disponibilidad.
  • Reactivo -> diagnóstico y resolución de indisponibilidad.
  • Definiciones:
    • Disponibilidad (availability): tanto por ciento del tiempo activo frente al inactivo.
    • Fiabilidad (reliability): MTBF (Mean Time Between Failures).
    • Mantenibilidad (maintainability): MTTR (Mean Time To Restore), reparar un servicio.
    • Serviceability: capacidad de dar servicio.
  • Vital Business Functions (VBF):
    • Alta disponibilidad: enmascarar los efectos de un fallo a los usuarios.
    • Tolerancia a fallos: continuar funcionando después de un fallo.
    • Operación continua: elimina los tiempos de interrupción por tareas de mantenimiento.
    • Disponibilidad continua: elimina todos los tiempos de interrupción.

4- Gestión del continuidad del servicio (ITSCM)

  • Apoya el BCM (Business Continuity Management).
  • Impide que una interrupción grave e imprevista (terremotos, incendios, etc.) tenga consecuencias para el negocio.
  • Plan de continuidad: se ejecuta cuando el fallo se prolonga más allá del tiempo acordado.
  • Efectúa BIA (Business Impact Analisis) frecuentemente.
  • Efectúa Análisis de Gestión de riesgos.
  • Medición de riesgos: probabilidad de que ocurra y el impacto o efectos del mismo.

5- Gestión del catálogo de proveedores

  • Contrato: provisión de mercaderías y servicios por parte de un proveedor.
  • Negocia los contratos con los proveedores durante todo el ciclo de vida.
  • Garantiza que los contratos se ajustan a lo requerido por las SLA.
  • Mantiene la Suppliers Contracts Database (SCDB).

6- Gestión de la seguridad TI

  • El nivel de protección viene definido por el negocio.
  • 3 pilares:
    • Confidencialidad: datos sólo accesibles por el destinatario.
    • Integridad: los datos no han sido modificados.
    • Disponibilidad: los datos están disponibles cuando los necesitamos.
  • Gestión del ISP (Information Security Policy).
  • Marco para la gestión de la seguridad TI (cíclico):
    • Planificar -> Implementar -> Evaluar -> Mantener

7- Gestión de la capacidad

  • META: Capacidad actual y futura correctamente dimensionada.
  • Los datos de este proceso se almacenan en el CMIS (Sistema de Información de Gestión de la Capacidad).
  • Subprocesos:
    • Negocio
    • Servicios
    • Componentes

ITIL Fase 1: Estrategia

Se preocupa de:

  • Los resultados del negocio.
  • Creación de valor.

Objetivos

  • Identificar y diferenciarse de la competencia -> MERCADO
  • Permitir pensar y actuar de forma estratégica.
  • Ayudar a responder preguntas estratégicas.

4P de estrategia

  • Perspectiva
  • Posición
  • Plan
  • Patrón

Activos del servicio

  • Recursos
  • Capacidades

Valor para el cliente

  • Utilidad (funcionalidad) -> adecuación al propósito (qué obtiene el cliente) -> rendimiento, quitar restricciones…
  • Garantía -> adecuación al uso (cómo lo obtiene) -> disponibilidad, seguridad…

Tipos de proveedores de servicio

  • Tipo 1: Proveedor Interno
  • Tipo 2: SSU (Shared Service Unit), del tipo Corporación.
  • Tipo 3: Proveedor Externo

Actividades

  • Definir el mercado
  • Desarrollar la oferta
  • Desarrollar los activos estratégicos
  • Preparar la Implementación
    • Fijar objetivos
    • Definir los CSF (Critical Success Factors)

Gestión por objetivos: dejar claros nuestros objetivos (resultados deseados) siguiendo la estrategia planificada -> método proactivo.

PROCESOS

1- Gestión financiera

  • Valoración del servicio
    • Convierte la funcionalidad y garantía en una cifra monetaria, para cuantificar la financiación.
    • Valor de provisión: costes de producción (mesurables).
    • Valor potencial del servicio: valor añadido (valor de percepción).
  • Análisis de la inversión: obtiene el valor de un servicio = valor conseguido + costes en todo el ciclo de vida
  • Modelado de la demanda: usa mecanismos de tarificación para influir en los patrones de consumo del cliente.

2- Gestión de la demanda (DM)

  • Objetivo: predecir la demanda (entender patrones de actividad del negocio) y regularla (redistribuirla)
  • Necesario colaborar con Gestión de la capacidad

3- Gestión del portfolio de servicios

  • Permite administrar todas las inversiones en Gestión del Servicio
  • Modo de comparación con la competencia
  • Considera el portfolio en términos de negocio
  • Proceso dinámico y cíclico dividido en:
    • Definición: inventario de los servicios y casos de negocio.
    • Análisis: define prioridades y adecua la oferta a la demanda.
    • Aprobación: cierre del portfolio. 6 resultados posibles:
      • Retención de servicios relevantes
      • Sustitución de servicios
      • Racionalización: unificar componentes de un servicio
      • Refactorización: un servicio incluye otro
      • Renovación de un servicio (ej: cambio de tecnología)
      • Retirada de servicios
    • Institución (Chart): comunicación de las decisiones y documentación.
  • NOTA: Consolidación de servicios: unificar servicios similares.
  • El Portfolio incluye:
    • Pipeline
    • Catálogo de servicios (servicios «en vivo»)
    • Servicios retirados

Introducción a ITIL

Me he decidido a subir mis apuntes del curso de ITIL v3 Fundations, para no perderlos, y de paso compartirlos con quien quiera leerlos.

Si todo va bien, haré una serie de 5 o 6 posts, donde cada uno contendrá un resumen de cada módulo del curso. Los pdfs completos son de libre acceso y están aquí. En examcollection se encuentran bastantes preguntas de examen, que ayudan (y mucho) a prepararse para la certificación.

Esta entrada es la primera serie «Introducción a ITIL».

Introducción a ITIL

  • ITIL: Information Technology Infraestructure Library (Biblioteca de Infraestructuras de Tecnologías de la Información).
    • Es un conjunto de mejores prácticas – marco de gestión de servicios TI.
    • Proporciona un vocabulario común.
  • Desarrollado por la CCTA (Central Computer and Telecomunications Agency).
  • Propiedad de la OGC (Office of Government Commerce)

Implementación de la Gestión de Servicios

Gestión

MEJORA GENERAL DEL PROCESO

  1. Definir: dónde estamos + misión +metas y objetivos + responsabilidades
  2. Comunicar
  3. Planificar: definir plan + requisitos + beneficio directiva
  4. Implementar: desarrollar y mejorar los procesos
  5. Revisar y auditar

Ciclo de vida del servicio

  • Modelo CMMI (Capability Maturity Model Integration)
  1. Procesos impredecibles
  2. Dirección por proyectos
  3. Procesos estandarizados
  4. Medición y control
  5. Mejora continua
  • Servicio: medio para entregar valor a los clientes sin que ellos tengan que asumir determinados riesgos y costes asociados.
  • Gestión de servicios: conjunto de capacidades organizativas especializadas, cuyo fin es generar valor para los clientes en forma de servicios. Dar servicio de forma organizada, que puedan medirse y mejorarse.
  • Proceso: conjunto estructurado de actividades diseñado para cumplir un objetivo. Son mesurables. Ej: coste, calidad, duración o productividad.
  • Rol: conjunto de responsabilidades definidas en un proceso y asignadas a una persona o equipo.

Proceso

  • Roles clave:
    • Responsable del proceso:
      • Responsable de monitorizar y mejorar el proceso.
      • Garantiza que el proceso está diseñado de forma eficiente y eficaz, verificando que está sujeto a mejora continua.
      • Define los KPI.
    • Responsable del servicio:
      • Representa el servicio frente a toda la organización.
      • Responsable de la mejora continua y de la gestión de los cambios que afectan al servicio.
      • No se encarga de monitorizar el día a día.
    • Cliente:
      • Define y acuerda los objetivos del nivel de servicio.
  • Matriz RACI: Define roles y responsabilidades para el diseño de servicios o procesos.
    • Responsables: quien realiza la actividad o toma la decisión.
    • Accountable (Encargado): tiene la responsabilidad última. Solo una persona.
    • Consultados: antes.
    • Informados: después
    • Las filas definen acciones o tareas, mientras que las columnas definen personas o grupos de personas.

De cara a próximas entregas se especificarán cada una de las fases del Ciclo de Vida del Servicio:

  1. Estrategia de servicios
  2. Diseño de servicios
  3. Transición del servicio
  4. Operación del servicio
  5. Mejora contina del servicio (CSI)

Reparando un disco duro (FAIL)

MuerteHoy a caído un disco duro aparentemente dañado en mis manos, para intentar recuperarlo, o por lo menos, realizar una copia de seguridad de los datos. Por norma general, siempre recupero los datos entrando desde un LiveCD linux y después propongo un formateo, si veo que la cosa no se recupera rápido. Esta vez ha sido diferente.

Concrétamente, se trataba de un disco SATA con Windows XP instalado, que devolvía el siguiente error durante el proceso de booteo de la máquina:

«Windows could not start because the following file is missing or corrupt: \WINDOWS\SYSTEM32\CONFIG\SYSTEM»

Para intentar recuperarlo, se ha seguido el siguiente proceso:

  1. Se ha iniciado el sistema con el CD de Windows, lo cual ha lanzado el asistente de instalación de Windows XP.
  2. En la primera pantalla del asistente de instalación de Windows XP, se ha mostrado la opción de iniciar una nueva instalación (INTRO), inciar la consola de recuperación (R) o salir (F3). Se ha pulsado ‘R’ para iniciar la consola de recuperación.
  3. Una vez en la consola de recuperación, se ha lanzado chkdsk (chkdsk c: /R) para intentar reparar los errores de la unidad C: que puedan estar ocasionando estos problemas. Esto no siempre funciona, y a veces concluye con un mensaje que indica que existen errores irreparables.
  4. Si como a mi, te ha aparecido este error, el siguiente paso, según este tutorial, ha sido intentar entrar en «C:\System Volume Information». Desafortunadamente el disco duro ha concluido que no existe tal directorio. Sin embargo, es cierto que también ha indicado que ha habido un «error durante la enumeración de directorios» al hacer un simple «dir» en C:\.
  5. Otra opción, ha sido acceder a «C:\Windows\Repair», pero de nuevo, el disco duro ha informado que no existía el directorio «Windows», en C:\.

Llegados a este momento, ha tocado cambiar de estrategia.

  1. Esta vez se ha iniciado el PC con un LiveCD Linux, como por ejemplo la última distribución de Ubuntu.
  2. Una vez nos ha aparecido el asistente de instalación, se ha seleccionado la opción «Try Ubuntu», la cual ha lanzado Ubuntu directamente del LiveCD sin hacer ningún cambio en el disco duro.
  3. Cuando se ha cargado Ubuntu, desde el menú superior se ha seleccionado Places -> XX GB Filesystem (donde XX corresponde con la capacidad en GB del disco duro), lo cual nos ha montado (en realidad «ha intentado montar») el disco duro. En nuestro caso, ésto ha devuelto un error tal que «Unable to mount XX GB Filesystem» donde se detallaba que «Error mounting: mount exited with error code 13: ntfs_attr_pread_i: ntfs_pread failed: Input/Output error. NTFS is either inconsistent or there is a hardware fault, or it’s a SoftRAID/FakeRAID hardware.» Además, este error ha recomendado ejecutar «chkdsk /f» en Windows.
  4. Para identificar el dispositivo con Windows, además de buscar en el fstab (donde no estaba incluído), se ha ejecutado «sudo blkid«, el cual ha devuelto el siguiente listado:
    • /dev/loop0: TYPE=»squashfs»
    • /dev/sda1: label=»DellUtility» TYPE=»vfat»
    • /dev/sda2: UUID=»…» TYPE=»ntfs»
    • /dev/sda3: label=»DellRestore» TYPE=»vfat»
  5. Del resultado anterior, se ha visto que se tiene una partición «DellRestore», la cual devuelve el disco duro a los valores de fábrica, símplemente pulsando F8 en la pantalla en la que aparece el logo de DELL en el booteo. Desafortunadamente esta opción elimina todos los datos del disco duro, y antes se ha querido hacer un backup de los mismos.
  6. Una vez se ha identificado a /dev/sda2 como dispositivo del disco duro con ntfs, se ha intentado montar forzándolo con «mount -t ntfs /dev/sda2 /mnt -o force«, lo cual ha devuelto exactamente el mismo error de montado que ha devuelto en el punto 3 de este apartado Linux. Exactamente igual indicando como tipo de archivos ntfs-3g (más que nada porqué mount.ntfs es un enlace simbólico a mount.ntfs-3g).
  7. Finalmente se ha lanzado «sudo ntfsfix /dev/sda2» para intentar corregir los errores del disco. El resultado no ha sido muy alentador, ya que no se ha conseguido montar el volumen después de su ejecución:
  8. Mounting volume… pread: Input/Output error
    Failed to calculate number of free clusters: Input/Output error
    FAILED
    Attempting to correct errors…
    Processing $MFT and $MFTMirr…
    Reading $MFT… OK
    Reading $MFTMirr… OK
    Comparing $MFTMirr to $MFT… OK
    Processing of $MFT and $MFTMirr completed successfully.
    Setting required flags on partition… OK
    Going to empty the journal ($LogFile)… Failed to empty $FILE_LogFile/$DATA Input/Output error
    FAILED
    Failed to reset $LogFile: Input/Output error

  9. Después de todo esto, he llegado a la página de ntfs-3g, donde se explica con más claridad este tipo de errores de entrada salida.

Vuelta a Windows

  1. Después de realizar varias pruebas con Linux, sin éxito, se ha vuelto a lanzar CHKDSK intentando usar el parámetro /F. Sin embargo, en la consola de recuperación de Windows XP únicamente están disponibles las opciones /R y /P. Por esta razón se ha lanzado el CHKDSK /R, obteniendo de nuevo el mensaje «el volumen parece contener uno o más problemas irrecuperables».
  2. Para utilizar CHKDSK /F, se ha montado el disco duro como disco secundario en un PC, también con Windows XP, y se ha iniciado el PC desde el disco duro original, teniéndo el disco duro dañado como secundario. Para ello, se ha tenido que tocar la BIOS con el fin de detectar el nuevo disco duro.
  3. Una vez iniciado Windows XP, y comprobada la detección del disco duro dañado (en MiPC aparecen dos unidades de disco, la original y la dañada), se ha ejecutado CHKDSK /V /F E: (en este caso, E: es el disco duro dañado). Sin embargo, esto tampoco ha solucionado los problemas iniciales.

Resultado: FAIL

Llegados a este punto, le he devuelto el disco duro al propietario. Se acababan las ideas y el tiempo disponible para dedicárselo al disco dañado.

Sin embargo se me han quedado un par de cosas en el tintero:

  1. Instalar Windows Vista (realizar una actualización) para intentar recuperar los datos desde el nuevo SO. La idea era realizar una actualización del SO, el cual preserva los datos. Sin embargo, no estoy 100% seguro de si esto se puede hacer desde el proceso de instalación que inicia el booteo del PC desde el CD de instalación.
  2. Probar alguna herramienta especializada teniendo el disco dañado como segundo disco, habiendo iniciado el sistema desde un disco primario con XP.

Seguro que hay muchas otras pruebas, y seguro que más de una solución (quizá incluso exista alguna solución para recuperar el disco duro sin perder los datos).

Por cierto, si has llegado aquí esperando encontrar una solución para el mismo problema… lo siento. 😀

Seguramente alguna de la pruebas que a mi no me han funcionado, funcionarán en tu caso. Ánimo.

PD: El disco, en teoría, va a ir a parar a manos de un auténtico experto en informática forense. Si me llegan noticias de su solución, intentaré actualizar este post.

Actualización: Me confirman (alguien que realmente sabe) que el disco tiene un problema de hardware y que no se puede recuperar. Lo que sí se podrá hacer, es recuperar la mayoría de los datos del mismo con herramientas especializadas, pero no se conseguirá que el disco vuelva funcionar. Al parecer, no iba tan desencaminado.

Flickr! Foto por Max Braun

Optimiza el rendimiento de tu web

A raíz de EventoSEO, he mirado de optimizar el rendimiento de alguna de mis webs. Agarráos que esta entrada será larga, porqué voy a explicar algunos pasos que he dado para optimizar mi sitio web:

  1. Instala (si no lo tienes ya) Firebug y Google PageSpeed para Firefox.
  2. Desde Firefox -> Herramientas -> Firebug, abre Firebug y sitúate sobre la pestaña «Page Speed».
  3. Abre una nueva pestaña y entra en la web que quieres analizar. Espera hasta que esté cargada completamente (verás el «Terminado» abajo a la izquierda en el navegador).
  4. Si no estás viendo la sección del Firebug, podrás verla pulsando sobre el icono de Firebug en la barra de tareas inferior de Firefox.
  5. Pulsa sobre la opción Analizar para obtener las recomendaciones a seguir para optimizar tu web, como por ejemplo, optimizar la compresión de las imágenes (Google Page Speed ya te ofrece las imagenes problemáticas listas para descargar en su versión optimizada), comprimir la web con Gzip o minimizar el código CSS o HTML inútil.
  6. Siguiendo las recomendaciones obtenidas, se puede llegar a optimizar el rendimiento de nuestra web consiguiendo así una mejor indexación en el índice de Google, además de una mejor experiencia para el usuario.

Además de la optimización de las imágenes, dejo aquí algunas alertas que he recibido, junto a su solución:

Minimize CSS

Esto es tan fácil como descargar el archivo css que propone Google, el cual elimina espacios y saltos de línea innecesarios, y reemplazárlo por el original.

Minimize HTML

Igual que en el caso anterior, bastará con descargar el archivo propuesto por Google, el cual elimina espacios y saltos de línea innecesarios. Pero atención, si eres de los que programa con tabulaciones, para dejar un código límpio y fácil de leer, esto te lo va a destrozar. Guárdate una copia en local.

Minimize Redirects

Con mensajes de error como los siguientes:

Remove the following redirect chain if possible:

Este problema venía dado por que a estas imágenes se les hacía referencia desde el código como 02.jpg, mientras que su nombre era 02.JPG. Símplemente cambiando la extensión .JPG por .jpg se ha solucionado.

Opciones de servidor

Finalmente, tambien he obtenido alertas bastante más difíciles de solucionar. Concretamente, alertas correspondientes a opciones a cambiar o a habilitar en mi servidor web, que resulta ser un hosting compartido sobre el que no tengo acceso directo.

A pesar de eso, he conseguido obtener detalles sobre mi servidor web subiendo un fichero llamado info.php con una única línea de código:

<? phpinfo() ?>

Consultando esta web desde el navegador (http://www.misitio.com/info.php) se obtienen los detalles del hosting. Con esto y con la creación (o modificación) de un fichero .htaccess en la raíz de mi sitio web (con los detalles correspondientes) se puede llegar a solucionar algunos problemas, como los siguientes:

Leverage Browser Caching

Bastará con añadir líneas que controlen la caché para algunos elementos de nuestra web, en nuestro archivo .htaccess

Para ello, podremos usar el siguiente código

####### LeverageBrowserCaching #####
# 1 WEEK
<FilesMatch «\.(ico|pdf|flv|jpg|jpeg|png|gif|js|css|swf)$»>
Header set Cache-Control «max-age=604800, public»
</FilesMatch>

# 2 DAYS
<FilesMatch «\.(xml|txt)$»>
Header set Cache-Control «max-age=172800, public, must-revalidate»
</FilesMatch>

# 2 HOURS
<FilesMatch «\.(html|htm)$»>
Header set Cache-Control «max-age=7200, must-revalidate»
</FilesMatch>

#######################

La fuente de información es esta.

Enable Compression

Podremos habilitar la compresión tanto para las hojas de estilo como para los archivos html. Sin embargo, esta opción necesita que el servidor tenga instalado el módulo para comprimir, como el mod_gzip.

En mi caso he tenido que pedirle a mi hosting su instalación. Aún estoy esperando respuesta, y de momento, continúo con esta advertencia en el Page Speed Score.

Serve static content from a cookieless domain

Aquí, PageSpeed me pide «Serve the following static resources from a domain that doesn’t set cookies:» indicándo algunas imágenes, así como la hoja de estilos.

Para ello, en un segundo dominio diferente al dominio original, he creado varios sub-dominios (esto en realidad no haría falta, pero por temas de optimización, he creado un sub-dominio cada 3 imágenes, para poderlas cargar en paralelo. Si no sabes de qué hablo mírate este post).

Por cierto, no sé por qué extraña razón, mi hosting tarda unas 3 horas en crear un sub-dominio.

En resumen, si PageSpeed nos comenta usar un dominio libre de cookies, es porqué detecta que el actual no lo es. Según leo aquí, para usar un dominio libre de cookies, deberás usar un dominio que siempre haya estado libre de cookies (nunca haya requerido ningún tipo de inicio de sesión, ni logueos, ni Google Analytics activado para este dominio).

Una vez hecho esto, he redireccionado todos los sub-dominios a un directorio en mi servidor, donde tengo todas las imágenes.

Posteriormente, en el código fuente, he llamado a las imágenes, pero en lugar de usar «imagenes/1.JPG» he usado «http://1.sub-dominio.segundodominio.com/1.JPG», para llamarlas usando los nuevos sub-dominios.

Otros detalles

Aún me quedan algunos detalles que pulir, como por ejemplo que cada página use su propio archivo de hojas de estilo, con los estilos que use esa página. El problema de usar una única hoja de estilos global, es que la mayoría de páginas no usarán ni la mitad de los estilos definidos en el css común.

Entiendo, que lo ideal sería crear una hoja de estilos con los estilos comunes en todas las páginas, y a partir de ahí, una hoja de estilos personalizada para cada página.

También me queda pendiente habilitar la compresión en el servidor (me temo que tendré que pelearme con mi hosting), y finalmente también pulir el CSS, que todo y que es totalmente válido (validado con el validador de w3cschools) se me queja de que no es todo lo eficiente que debería ser.

De todas maneras, ya estoy en 93 – 95 sobre 100, en cuanto a puntuación de Google Page Speed, y la verdad, se nota.

Cupones de descuento

Una funcionalidad interesante en Magento, es la posibilidad de usar «cupones de descuento» o «códigos promocionales» para ofrecer descuentos a ciertos clientes.

De esta forma, un cliente puede entrar en tu tienda, e introducir un código promocional para beneficiarse de un descuento préviamente definido.

Esto se puede hacer, desde el panel de administración de Magento, desde Promociones -> Reglas de precios del carrito de compras -> Añadir nueva regla. Desde aquí, se podrán definir cosas tan interesantes como:

  • Si el descuento se dará únicamente al introducir un código de cupón, o se dará siempre. En caso de requerir cupón, se podrá introducir un código de cupón manual, que posteriormente deberán introducir los clientes para obtener el descuento.
  • El número de usos que se podrá hacer del cupón (para controlar el número máximo de compras que se podrán hacer con este mismo cupón).
  • Fecha de inicio y fecha de fin de validez del cupón.
  • Tipo de descuento: porcentaje, fijo o ofertas tipo «compra 3 y paga 2».
  • Cantidad del descuento.
  • Posibilidad de envío gratuito.
  • Posibilidad de aplicar el cupón al total de la compra, en lugar de aplicarse al precio base del producto.

Un gran invento este de los cupones de descuento.