Recientemente fui contratado para desempeñar un rol de administrador de sistemas y esto sería un cambio de mis roles de trabajo anteriores. ¿Qué aptitudes debo tener ahora que me enfrento a un nuevo rol?

Estas son las competencias principales que buscaría en un administrador del sistema:

  • Aprovisionamiento : la capacidad de activar nuevos servidores para un propósito comercial particular (base de datos, web, almacenamiento, etc.).
  • Mantenimiento : mantener actualizado el sistema operativo y los paquetes instalados. Comprobación y crecimiento de sistemas de archivos. Ejecución de copias de seguridad. Migrando
  • Seguridad : una habilidad básica con firewalls, detección de intrusos, análisis de registros, etc. Proactividad para ser informado de nuevas vulnerabilidades (por ejemplo, Shellshock, Heartbleed).
  • Responsabilidad : mantener un registro confiable de configuraciones y cambios.
  • Monitoreo : anticipar razonablemente los problemas antes de que sucedan (sistemas de archivos que se llenan, agotamiento de RAM, degradación de RAID, etc.). Ser el primero en saber cuándo ocurren problemas inesperados.
  • Virtualización : competencia básica con máquinas virtuales, imágenes e infraestructura basada en la nube. Dependiendo de su organización, esta puede ser la habilidad principal del trabajo y se enfatizaría más esa competencia.
  • Solución de problemas : poder encontrar la causa de un problema (sistema de archivos fuera de línea, el disco no se monta, la RAM se usa en exceso, la carga es alta, la E / S está bloqueando, problemas de red, etc.).
  • Recuperación ante desastres : establecer, seguir y probar procedimientos de recuperación ante desastres para cualquier componente de los sistemas o la red.

automatizar, automatizar, automatizar. Desea intentar automatizarse de un trabajo. No se preocupe, nunca tendrá éxito, pero ese es siempre el objetivo. Automatice la administración, comprenda el registro (tanto syslog como snmp), la correlación de eventos, la organización del software y elija una herramienta de automatización para aprender como Puppet, Chef, Bcfg2 o algo por el estilo. Puppet está comenzando a separarse realmente en términos de preintegración con varios sistemas operativos.

Jeff cubrió la mayoría de los conceptos básicos. Doug también. Una vez que tenga lo básico en su haber, puede considerar lo siguiente. Usted menciona la experiencia de programación: DevOps es una combinación de operaciones y desarrollo que es importante. La actitud de los desarrolladores hacia las pruebas y el control de versiones puede ser un cambio de juego para el trabajo administrativo. Si trabaja en la nube, su infraestructura se definirá en software, y como tal debería estar bajo control de versiones. Y cualquier código, incluso el código de infraestructura, debe tener pruebas escritas en su contra. Estas pruebas actuarán como documentación ejecutable; por qué se abrió un puerto quedará claro incluso varios años después. También es posible que desee ver Docker: puede simplificar su trabajo para ciertos casos de uso. La automatización y las pruebas son los problemas más importantes una vez que tiene lo básico. Buena suerte: el campo está cambiando mucho y el cambio es algo bueno.