sábado, 29 de diciembre de 2007

Howto: Eligiendo una distribución de Linux para uso empresarial

Pasado el periplo de consideraciones Linux vs. soft propietario; ya convencidos los miembros de la Capa 8 ahora terminaron las charlas y tenemos que ir a los sucios detalles técnicos, así que..

En qué consiste evaluar qué versión de Linux sería la ideal?

La respuesta podría ser simplemente esta: "usa la versión de Linux con la que estés más familiarizado"

Completamos un poco..."según el contexto donde estés implementando", ja, viene con trampa...

Lo principal de elegir una distribución de Linux para usar en un entorno de producción de real es el mantenimiento, configuración, actualizaciones, etc.

Para evaluar esto lo ideal es conocer de antemano varias distribuciones y haber experimentado con ellas. No necesariamente hablamos de los centenares de distros disponibles, sino particularmente las más populares y aplicables al trabajo a realizar.

"populares y aplicables": popular quiere decir "en uso hoy", siguiendo la idea del FLOSS y algo más, el ciclo de vida de la aplicación (SO en este caso). El lifecycle define cuando nos veremos en situación de tener que hacer un upgrade forzoso de la distribución (kernel incluído casi seguramente), si queremos tener asegurada la provisión de actualizaciones de seguridad (al menos), entre otras tareas interesantes y sumamente importantes de planificar cuidadosamente.

"Trabajo a realizar": para lo que vamos a usar el sistema operativo. Podría ser montar un webserver, un mailserver, un firewall, un server de mensajería...podrían ser varios servicios simultaneos en un mismo SO.

Las herramientas particulares de administración de las que disponga el SO nos pueden hacer la vida más fácil o más difícil. En el caso de un server o unos pocos y/o en el caso de poder acceder físicamente a los servers, es casi irrelevante qué herramientas incluya la distribución, pues con tiempo y oportunidad se puede implementar diferentes soluciones. Es distinto si solo tenemos acceso remoto, en ese caso herramientas ya incluídas en la distro y plenamente integradas son un serio plus para acelerar un deployment y/o facilitar un mantenimiento (si es de emergencia más aún).

En otro tópico a considerar la distro ideal debe tener cabal documentación, es fundamental que exista dicho material porque de lo contrario nos encontraremos googleando en busca de algun otro desafortunado sysadmin que haya experimentado antes el problema (y que lo haya resuelto de ser posible). La documentación por otro lado estipula explícita y expresamente las buenas prácticas de implementación del software incluído en la distribución.

El soporte del hardware que vamos a utilizar es muy importante también, especialmente si estamos tratando con hardware propietario, típico de hard de servers de marca (Dell, HP, IBM, Sun, etc.). Eligiendo una distro "popular" (con su correspondiente documentación y base de conocimientos en la red), este ítem suele quedar fuera de consideración explícita en muchos artículos, sin embargo es buena práctica verificar que cada componente de nuestros servers es compatible con la distribución que se va a usar.

El soporte pago es una opción viable e interesante de poseer si se tiene el presupuesto apropiado. En general es recomendable al menos poseer una cuenta de soporte limitada (solo mail, horario comercial x ejemplo). En organizaciones grandes y con servicios de misión crítica corriendo, es mandatorio e indispensable un soporte por contrato de 24x7x365, mail, telefónico (y para el hard, de reemplazo de hardware defectuoso en hs., 24, 48, etc.). En este último caso las opciones de distros se limitarán casi de seguro a las opciones comerciales más populares, RHEL, SLES, etc. y claro, a la existencia de proveedores locales de esos servicios.

Finalmente, no es 100% indispensable adquirir licencias de distribuciones comerciales en muchos casos y se puede disfrutar de las mismas prestaciones utilizando versiones orientadas a server, como en el caso de RHEL y CentOs, con el beneficio adicional de prácticamente nulificar las diferencias de implementación con respecto a las aplicaciones y/o servicios con soporte RHEL que querramos correr en nuestros servers.


No hay comentarios: