lunes, 26 de mayo de 2014

...y así es como voy haciendo las cosas

"distinguirás al buen artesano por sus herramientas"

Estas son algunas de mis herramientas habituales, la mayoría es OpenSource (en realidad creo que no uso ninguna que no lo sea, pero por si acaso)


pac-manager
  • Administrador de consolas:hace muy poco encontré la que se ha convertido en mi herramienta de cabecera, PAC (pac-manager), con ella puedo, usar tabs por cada sesión, gatillar comandos al iniciar una sesión, agrupar sesiones y enviar comandos simultáneos (excelente para revisar logs de varios servidores al mismo tiempo) ... la curva de aprendizaje es muy suave, a las horas de usarla ya me tenía encantando, totalmente recomendable.... Lo siento Putty nuestra relación fue buena, pero siento que debo seguir adelante, no eres tu soy yo.

  • Consumo de recursos: aquí depende mucho de qué sistema operativo se trate, pero en general cuando se trata de Linux utilizo htop (htop), tiene muchas opciones para mostrar de manera intuitiva el desempeño del sistema (ideal para explicar a algún supervisor neófito qué está pasando), mis favoritas son la vista de árbol de procesos (permite ver los procesos "hijo", muy muy útil), y las alternativas de los gráficos ascii para mostrar los consumos de cpu o memoria son muy entretenidas.
  • Editor de texto:
    VI (vi) no hay otro... y lo mejor es que mientras más lo usas, más aprendes a usar sed ... seeeed!
  • Respaldo:Recuerdo con cariño aquella vez en que me puse a automatizar via scripts y cron los respaldos de mis servidores, era el año 2005 y me dí un montón de porrazos respaldando archivos con 0kb o perdiendo datos por errores de transmisión... todo eso hasta que encontré rsnapshot (rsnapshot)... y de pronto todo se hizo tan simple
  • Monitoreo:Algo muy importante es poder ver el el estado de tus servidores, consumos de CPU, memoria, espacio de disco, etc; para eso hay muchas opciones, cacti, zabbix y un largo etcétera ... pero por lo simple y rápido que resulta implementarlo mi favorito siempre ha sido munin ( munin )
  • Clonezilla: Despues de haber trabajado semanas montando una solución con diferentes servidores, qué hacer para no perder toodo ese trabajo si algún día hay una emergencia? ...Crear snapshos de los sistemas operativos recién instalados, preferentemente hacerlas apenas terminada la instalación, y antes de que se instalen los paquetes de software específicos de la función ... aquí el sitio del proyecto
  • comandos poroteros ... yeah!: No, nadie se las sabe todas, sobretodo ahora que todo cambia y mejora tan rápido... éste se ha convertdo junto con stackoverflow, en él sitio donde voy a buscar si es que hay una mejor manera de usar un comando o si es el comando correcto  commandlinefu (command line FU, como Kung Fu )

miércoles, 21 de mayo de 2014

un sysadmin flojo ... sí señor!

hacía tiempo que venía masticando la idea de escribir sobre mi trabajo desde mi punto de vista, y no fue hasta que mi amada novia me hizo llegar este link que me cayó la teja ... y me puse a traducirlo ...y cuando vi que me estaba demorando demasiado en traducirlo párrafo por párrafo, decidí hacer este breve resumen 

Un Sysadmin flojo es el mejor Sysadmin

El trabajo de un Sysadmin no es visible para el resto de su entorno de trabajo ni para los usuarios de su red.   Es común que sean vistos como gente que vagamente trabaja ( el típico encuentro con tu jefe preguntándote si estás ocupado porque no te ve haciendo nada ).

Si ves a un administrador de sistemas que está siempre apurado porque tiene que apagar un incendio, o está constantemente solucionando un problema crítico, puede que pienses que este tipo está haciendo un buen trabajo porque lo ves siempre ocupado. Bueno desgraciadamente lo está haciendo pésimo.

Dodecalogo del "lazysysadmin" 

    1. es el jefe  ... tiene la actitud de fustigador de servidores... él manda, los servidores están para "servirle" y obedecer.
    2. automatiza tareas repetitivas ... "ser flojo no es ser tonto" por eso un lazysysadmin maneja y conoce los lenguajes de scripting (bash, awk, sed, etc..), cada vez que le piden hacer algo mínimamente repetitivo, busca como automatizarlo, de esta manera si se lo piden hacer denuevo, no va a tener que pensar cómo hacerlo.
    3. respalda todo ... si eres flojo lo ultimo que quieres es hacer todo desde cero, en caso de desastre esto es muchísimo mas cierto, por eso un lazysysadmin respalda todo, y se preocupa de que esos respaldos sean útiles ... si tienes espacio para guardar respaldos, hazlo, de esa manera si algo sale mal, sin siquiera sudar una gota y sin pensarlo, vas y restauras tu respaldo ... y después sigues flojeando
    4. crea un plan de desastre ... a los lazysysadmins no les gusta correr, y mucho menos en círculos cuando las cosas van mal, por eso cuando todo está tranquilo rápidamente preparamos un plan de desastre para así no tener que pensar "qué hacer" cuando hay una emergencia.
    5. configura sistemas altamente redundantes ... a nadie le gustan las llamadas a media noche, mucho menos a los sysadmin, y mucho menos si eres un lazysysadmin ... sobretodo si esa llamada es por un problema tonto de hardware, por eso un lazysysadmin se asegura que los componentes sean altamente redundantes ... dos fuentes de poder en circuitos de energía separados, dos tarjetas de red, dos switches, dos routers, discos replicados, etc ... así cuando algo falle no habrá emergencia y el lazysysadmin lo reparará luego de desayunar apaciblemente la mañana siguiente.
    6. dimensiona para un crecimiento inesperado ... un lazysysadmin nunca permite que sus sistemas corran al máximo de su capacidad (  de hecho no hay un solo fabricante de algo que lo recomiende ) por eso siempre tiene espacio para absorber cualquier crecimiento inesperado, así si a alguien de la empresa se le ocurre hacer trabajos de "back office" durante la noche, ningún sistema va a mostrar alarmas de consumo.
    7. se proactivo ... ser flojo no significa no ser proactivo ni mucho menos nunca hacer nada, ser flojo implica ser proactivo. Si hay algo que un lazysysadmin odia es ser reactivo (correr en círculos en una emergencia, no tener un script para hacer lo que le están pidiendo, etc), siempre está anticipándose a cualquier cambio en la plataforma que administra.
    8. ama los atajos de teclado ... oh si, no hay nada tan agradable como prescindir del mouse para hacer todo ... un lazysysadmin se conoce todos los atajos de teclado de sus aplicaciones favoritas (y de su sistema operativo...o varios) con tal de no desperdiciar tiempo ni energía en sacar las manos del teclado "mientras antes termine mas pronto volveré a flojear"
    9. maestro de la linea de comandos ... todo lazysysadmin es un maestro de la linea de comandos, esto vale para los que administran linux, bases de datos, redes, active directory, etc. Si ves a tu sysadmin abriendo una aplicación gráfica en lugar de una ventana de comandos, tu sysadmin no es un lazysysadmin ...triste, pero es la verdad ... hay dos razones por las que un lazysysadmin usa la ventana de comandos:
      1. puede hacer todo mas rápido , así que va a poder volver a flojear en menos tiempo
      2. él es el jefe, no el sistema... cuando usas un entorno gráfico estás a merced del flujo de funciones del entorno gráfico, ergo, no eres el jefe.
    10. aprende de sus errores ... un lazysysadmin odia cometer el mismo error dos veces, le carga trabajar en cosas inesperadas... pero cuando un error inesperado aparece, trabaja intensamente en resolverlo, y aprende de él y de qué lo causó y organiza todo para que no vuelva a ocurrir. Malgastar tiempo y esfuerzo por segunda vez en un problema es un pecado para un lazysysadmin.
    11. aprende cosas nuevas ... no hay nada malo en aprender nuevas y mejores maneras de hacer las cosas, ya sea para conseguir un aumento de sueldo o un nuevo trabajo... pero un lazysysadmin no aprende cosas nuevas solo por esas razones, la idea es aprender a hacer mas en menos tiempo y así poder flojear más.
    12. documenta todo ... no todos los sysadmin hacen esto, sólo los lazysysadmin ... un lazysysadmin no quiere que mientras está disfrutando de sus vacaciones en la playa tomando sol lo llamen porque algo falló.. así que, qué hace? documenta todo, para que cuando no esté, algún otro sysadmin menos experimentado pueda hacer sus tareas y nadie lo moleste en sus vacaciones ...  otra razón para documentar todo es que un lazysysadmin olvida cosas, como es flojo tiende a olvidar lo que hizo hace un mes, y como no le gusta resolver el mismo problema dos veces, documenta todo.
Si, ser un lazysysadmin implica un montón de trabajo, mucho mas trabajo que ser uno de esos sysadmin que van al trote, persiguiendo los problemas, siendo reactivo, perdiendo tiempo.