Conceptos básicos (VI)

Sistema redundante

Los sistemas redundantes, en ingeniería de computadores, son aquellos en los que se repiten aquellos datos o hardware de carácter crítico que se quiere asegurar ante los posibles fallos que puedan surgir por su uso continuado.

Se presenta como una solución a los problemas de protección y confiabilidad. Este tipo de sistemas se encarga de realizar el mismo proceso en más de una estación, ya que si por algún motivo alguna dejara de funcionar o colapsara, inmediatamente otro tendría que ocupar su lugar y realizar las tareas del anterior.

Las técnicas de redundancia han sido usadas por la industria militar y aerospacial por muchos años para alcanzar una alta confiabilidad. Una base de datos replicada es un ejemplo de sistema distribuido redundante.

Conceptos básicos (V)

Resiliencia (ya que resilencia no existe como algunos proclaman), esta es la palabra que más me encanta oir en boca de los tecnólogos del siglo XXI – XXII y posterriores. Aquí os dejo afables lectores, la elección del significado que querais dar a la misma.

Resiliencia

Resiliencia (del verbo latino resilio, resilire: «saltar hacia atrás, rebotar») tiene varios signficados según el contexto:

  • En ingeniería, la resiliencia es una magnitud que cuantifica la cantidad de energía por unidad de volumen que almacena un material al deformarse elásticamente debido a una tensión aplicada;
  • En ecología, la resiliencia es la capacidad de las comunidades de soportar perturbaciones;
  • En psicología, la resiliencia es la capacidad de las personas o grupos de sobreponerse al dolor emocional para continuar con su vida;
  • En derecho, la resiliencia jurídica es la capacidad de las personas, dentro del marco general de los derechos humanos, de recuperar su estado original de libertad, igualdad, inocencia, etc. después de haber sido sometido a las acciones de fuerza del Estado.1

Se ha incluido la palabra Resiliencia en los avances de la 23ª edición del Diccionario de la lengua española de la Real Academia Española.

Conceptos básicos (III)

Diseño de un sistema de alta disponibilidad

Paradójicamente, añadiendo más componentes al sistema total puede socavar esfuerzos para lograr alta disponibilidad. Esto es debido a que sistemas complejos tienen inherentemente más puntos de fallos potenciales y son más difíciles de implementar correctamente. La mayoría de los sistemas altamente disponibles extraen a un patrón de diseño simple: un sistema físico multipropósito simple de alta calidad con redundancia interna comprensible ejecutando todas las funciones intedependientes emparejadas con un segundo sistema en una localización fisíca separada.

Este clásico patrón de diseño es común entre instituciones financieras por ejemplo. La industria de la informática y las comunicaciones ha establecido el Servicio Forum de la Disponibilidad acogerá la creación de productos de infraestructura de red, servicios y sistemas de alta disponibilidad. El mismo principio de diseño básico se aplica más allá de la informática en diversos campos como potencia nuclear, aeronáutica y cuidados médicos.

Conceptos básicos (IV)

Redundancia

En teoría de la información, la redundancia es una propiedad de los mensajes, consistente en tener partes predictibles a partir del resto del mensaje y que por tanto en sí mismo no aportan nueva información o “repiten” parte de la información.

En numerosas aplicaciones, así como en las lenguas naturales la redundancia es una estrategia ampliamente usada para evitar malentendidos o errores de decodificación. Descriptivamente, la redundancia constituye factor comunicativo estratégico que consiste en intensificar, subrayar y repetir la información contenida en el mensaje a fin de que el factor de la comunicación ruido no provoque una pérdida fundamental de información. También tiene como significado exceso.

Conceptos básicos (II)

Tiempo de Inactividad

Típicamente tiempo de inactividad planificado es un resultado del mantenimiento que es perjudicial para la operación del sistema y usualmente no puede ser evitado con la configuración del sistema actualmente instalada. Eventos que generan tiempos de inactividad planificados quizás incluyen parches al software del sistema que requieran un rearranque o cambios en la configuración del sistema que toman efecto después de un rearranque. En general el tiempo de inactividad planificado es usualmente el resultado de un evento lógico o de gestión iniciado.

Tiempos de inactividad no planificado surgen de algún evento físico tales como fallos en el hardware o anomalías ambientales. Ejemplos de eventos con tiempos de inactividad no planificados incluyen fallos de potencia, fallos en los componentes de CPU o RAM, una caída por recalentamiento, una ruptura lógica o física en las conexiones de red, rupturas de seguridad catastróficas o fallos en el sistema operativo, aplicaciones y middleware.

Muchos puestos computacionales excluyen tiempo de inactividad planificado de los cálculos de disponibilidad, asumiendo, correcta o incorrectamente, que el tiempo de actividad no planificado tiene poco o ningún impacto sobre la comunidad de usuarios computacionales. Excluyendo tiempo de inactividad planificado, muchos sistemas pueden reclamar tener alta disponibilidad fenomenal, la cual da la ilusión de disponibilidad continua. Sistemas que exhiben verdadera disponibilidad continua son comparativamente raros y caros, y ellos tienen diseños cuidadosamente implementados que eliminan cualquier punto de fallo y permiten que el hardware, la red, el sistema operativo, middleware y actualización de aplicaciones, parches y reemplazos se hagan en línea.

Check connectivity of a list of servers

Check connectivity of a list of servers

# Script to check whether a list of servers is reachable over the network 
# Input is taken from a file ServerList.txt and output is written to the file Output.txt 
# Input and output files should be existing in the working directory of script 

$ServerList=Get-Content serverlist.txt 
clear-Content output.txt 
ForEach ( $Server in $ServerList) 
    { 
    $result=0 
    $ping = new-object System.Net.NetworkInformation.Ping 
    $result = $ping.send($Server) 
    if ($result.Status -eq "TimedOut") 
        {  
        $DataOutput = $Server + "`t" + "Network Request Timed Out" 
        Add-Content output.txt -Value $DataOutput 
        Write-Host -NoNewline "." 
        } 
    elseif ($result.Status -eq "Success") 
        { 
        $DataOutput = $Server + "`t" + $result.Address 
        Add-Content output.txt -Value $DataOutput 
        Write-Host -NoNewline "." 
        } 
    else 
        { 
        $DataOutput = $Server + "`t" + "System Not Reachable" 
        Add-Content output.txt -Value $DataOutput 
        Write-Host -NoNewline "."     
        } 
    }