Tareas de un Administrador de Sistemas (Linux)
Para los que nos preguntan por nuestros Cursos de Administración Linux o de Administración Apache y quieren iniciar una carrera profesional como Técnicos o Administradores de Sistemas, es muy útil saber en qué consiste esa labor y los conocimientos que deben adquirir.
Vamos a tratar de ayudar con esta cuestión: enumerar las tareas más habituales de un Administrador de Sistemas. Eso sí, antes de empezar a describirlas, dos apuntes previos para delimitar este tema:
- Hablamos de tareas ‘cotidianas’ no de las funciones de un Director de Sistemas (y su equipo) de una gran organización, que englobaría también la planificación y diseño previos de los Sistemas y los procedimientos y que por ejemplo, incluiría los backups como una tarea más dentro de un Plan de Continuidad del Negocio.
- De forma similar, a mayor tamaño y complejidad de la instalación, las funciones del Administrador de Sistemas se dividen en muchos roles: administrador de servidores, de bases de datos, de redes, diseñador y auditor de seguridad,…con sus correspondientes tareas específicas. Nos centraremos en el día a día más genérico de un Técnico de Sistemas ‘tipo’.
Bueno, y después de este preámbulo, ¿cuáles son esas tareas tan comunes? Pues vamos a ellas:
- Poner en marcha nuevos servidores: con la compra de una nuevo equipo habrá que instalar y configurar todo el sistema operativo y demás paquetes de software que sean necesarios según la funcionalidad que vaya a tener ese equipo, configurarlo en la red y resto de tareas que veremos también a través de los siguientes puntos. No es una tarea cotidiana, pero si es normal mantener un entorno de prueba y analizar su funcionamiento antes de integrarlo en producción.
- Realizar backups: empezamos por lo que se suele dejar para lo último. Es una de las tareas primordiales y quizás menos querida por parte de los administradores de sistemas, por lo que tiene de mónotona y repetitiva, aunque pueda automatizarse en gran medida. Aquí la labor del administrador es fundamental, primero diseñando una política de backups con frecuencias y niveles (totales, parciales, incrementales, por sistemas, por bbdd, ficheros usuarios…) que salvaguarde adecuadamente la información ante posibles fallos. Además programar una ejecución automatizada, supervisión de los medios sobre los que se vuelca la información, asegurar que haya copias a buen recaudo en otras ubicaciones, etc… Dependiendo la complejidad del sistema que administra, como ya dijimos, puede ser imprescindible tener una política de recovery bien diseñada ante fallos graves.
- Cambiar la configuración hardware de los equipos: si añadimos un nuevo sistema de almacenamiento, una tarjeta de red o una impresora compartida, este nuevo hardware debe ser reconocido por el sistema con una adecuada configuración, hallar posibles incompatibilidades con determinadas versiones de software que tenga que ser actualizado o la necesidad de buscar controladores específicos para ese dispositivo. Con la virtualización, las ‘reglas de juego’ se pueden complicar para que ese hardware se instale y comparta correctamente y con seguridad.
- Instalar nuevo software y actualizar el existente: otra tarea que requiere dedicación constante, sobre todo en lo relativo a mantener las versiones adecuadas de software y aplicar los distintos ‘parches’ de seguridad que protejan a los sistemas de vulnerabilidades que se vayan identificando. Para software nuevo, lo normal es probarlos en esos entornos de prueba que comentábamos en el primer punto antes de que entren en producción.
- Gestión de cuentas de usuarios: esto incluye por supuesto altas, bajas o modificaciones de usuarios existentes o la configuración de privilegios de acceso. Todas estas acciones llevan aparejadas tareas a realizar, muchas de las cuales acaban siendo automatizadas y normalmente una planificación previa del procedimiento. Por ejemplo en un alta, en qué máquina estará o cuál será el directorio home de ese usuario; en una baja, a parte de deshabilitarlo para impedir el acceso posiblemente deba hacer backup de todos sus ficheros y pasarlos a algún formato de almacenaje y liberar espacio. En este capítulo también podríamos incluir la virtualización de puestos de trabajo, cada vez más en boga, y que lleva más allá el proceso de configuración para crear el entorno específico a cada usuario, aunque posteriormente facilite la gestión.
- Monitorizar el rendimiento del sistema: un buen administrador es proactivo y se adelanta a los fallos, o lo que es lo mismo, prevenir es mejor que curar. La degradación del rendimiento de los sistemas o la aparición de problemas incipientes conviene que sean detectados cuanto antes y no por el reporte de los usuarios., que pueden esperar hasta que sus síntomas sean evidentes y ya sea demasiado tarde. La vigilancia de los distintos sistemas de logs y alertas del sistema, su correcta configuración y automatización mediante scripts o herramientas software específicas que incluso avisen por email o sms, es una tarea preventiva que proporciona buenos dividendos.
- Seguridad: otro aspecto crítico y con similitudes al anterior en cuanto a vigilancia continuada. No hay ningún sistema infalible ante un acceso no autorizado o un ataque, pero está en su mano tener las políticas adecuadas en marcha incluyendo la concienciación a los usuarios, las configuraciones en regla así como las versiones y parches de software actualizados, la instalación de sistema de protección y detección ‘proporcionados’ al rango del sistema.
- Fallos y caídas del sistema: si no supimos detectarlo, o si el fallo se produce súbitamente, es necesaria una intervención rápida para restaurar el sistema a su funcionamiento normal. En fallos graves se suele dar la máxima de que es más difícil diagnosticar el problema que solucionarlo, y es labor del administrador determinar qué camino seguir, incluyendo la llamada a un mantenimiento externo contratado. Los administradores veteranos suelen decir, como los marineros cuando pasaban el Cabo de Hornos, que un Administrador que se precie no es tal si no ha pasado un fin de semana entero sin dormir en el CPD, intentando levantar un sistema que no funciona.
- Atención a usuarios: quizás la labor más discutida y la que ocupe la mayor parte de su tiempo. El Administrador no debería ser el help-desk, pero en organizaciones pequeñas puede ser casi el único recurso técnico al que pueden acudir los usuarios en busca de ayuda. Esta labor de soporte podría aligerarse en muchas ocasiones con una formación adecuada de los usuarios en los sistemas y programas que manejan en la Compañía, pero puede ser clamar en el desierto. Hay que guardar un difícil equilibrio entre estar continuamente resolviendo emergencias o atendiendo peticiones adhoc y el poner una barrera infranqueable haciendo caso omiso de lo que no viene por el canal reglamentario y está suficientemente documentado y justificado. Ser diplomático y empatizar con los usuarios no es algo que se enseñe habitualmente en los cursos de administración de sistemas, pero es condición imprescindible para llegar a ser un Ninja en este campo.
- Información a dirección/organización: es algo que no se suele tener en cuenta, pero como decíamos en el anterior punto, el administrador ha de saber moverse entre sus colegas y ‘vender’ su trabajo. Como los porteros de fútbol, los fallos se notan más que en el resto porque una caída de un servidor crítico puede afectar a toda la organización o una incidencia resuelta tarde puede perjudicar mucho a un usuario. El administrador (si se han hecho razonablemente bien las cosas) debe transmitir la visión global y frente al 1% de fallos, resaltar el 99% de normalidad o ante un retraso considerable en resolver un problema puntual, mostrar el volumen total atendido y la media en la respuesta. En resumen, saber fijar y medir los indicadores adecuados de su desempeño y cómo transmitir esos resultados a la organización. Con esto ya pasaría a Ninja-plus.
- Documentación del sistema: para finalizar, lo que siempre se deja para lo último y rara vez se hace. Uno no está solo y sobre todo, debe poder irse de vacaciones. Si la configuración del sistema solo está en nuestra cabeza, dado que no se ha descubierto ningún Administrador que pueda separarse de ella y seguir llevando una vida normal, es conveniente que documentemos todas las particularidades de nuestro sistema, procedimientos, políticas o rutinas que se siguen, información (incluyendo passwords, ¡lógicamente manteniendo la confidencialidad!) y cualquier otro aspecto que ayude a un compañero o sustituto a llevar a cabo nuestras tareas. Hacerse el imprescindible porque nadie más sepa lo que hacemos puede ser una mala política.
Alguien puede pensar, ¡vaya cantidad de trabajo! Pues sí, la labor de un administrador no está falta de tareas, muchas críticas e indispensables como hemos visto.Aunque la creciente popularidad de los sistemas en la nube (cloud computing) está cambiando algo el escenario, ¡la parte positiva es que es una figura muy necesaria de la que no se puede prescindir!!
Seguro que esta lista se puede completar y detallar, así que os animamos a aportar vuestra experiencia.
Crédits: imágenes Tux Ninja y Firefight (http://igloo.crystalxp.net/)