14 junio 2010

Eligiendo sistema operativo para tu servidor

Hoy la cosa va de servidores… WTF! es lo que ha salido de mi boca varias veces leyendo el post del blog de Chema Alonso, en el que había estado trasteando con la FOCA sobre Ubuntu.com.

Nos cuenta que como conclusión a los resultados que ha obtenido en el análisis, es que en Ubuntu, usan de todo, menos Ubuntu. Los más usados son Debian (de la cual deriva Ubuntu), Redhat y hasta FreeBSD.

Siempre he tenido en la cabeza cuando he tenido que instalar un servidor Unix que, si la función de dicha máquina va a ser esa únicamente, dar un servicio definido, prima la estabilidad, seguridad, soporte, agilidad en las actualizaciones,…. antes que la novedad.

Desde hace unos años, el movimiento y evolución en el mundo Linux ha sido bastante sonado:
Así pues, se ha logrado que cada distribución se asocie más a una tarea determinada. En general, montar Fedora Core o Mandriva suele ser para equipos con funcionalidad de escritorio, en los que te interesa que exista el último driver para un hardware muy novedoso. En este punto encuadraría también sin dudarlo a Mac OS X y algunas versiones de Windows, que claramente son para lo que son: Interacción directa con el hardware del usuario.

Para servidores, la palma se la llevan Debian, RHEL (o CentOS como versión libre) o Suse por los motivos descritos anteriormente. Si las funciones que va a hacer la máquina son servir páginas web, correo, antispam, base de datos, vpn, etc… al dar lo mismo una distribución que otra, la mentalidad conservadora obliga a usar lo más estable, aunque se pierdan los últimos drivers (que no vamos a utilizar).

Por supuesto que el rendimiento es importante también, si un sistema operativo no cumple con las espectativas necesarias para el servicio que va a dar, deja de ser válido y requiere que busquemos otro más parametrizable para lograr mayor rendimiento:

  • Derivados de BSD: Como FreeBSD, OpenBSD y NetBSD, que además de contar con una tasa de fallos de seguridad publicados muchísimo menor, permiten/obligan a definir a mano las opciones y la ejecución de la compilación de cada servicio. La ventaja de elegir este tipo de sistema operativo es que lograrás el mejor rendimiento bajo ese mismo hardware. La mayor pega, por ponerle alguna, sería la mayor incomodidad respecto a otras opciones en los procesos de parcheado o actualización de programas, que requieren recompilar de nuevo.
  • Solaris: Inicialmente basado en BSD y luego pasó a ser System V, Solaris ha demostrado sobradamente sus características para haber sido uno de los sistemas operativos favoritos por su estabilidad. Ahora en manos de Oracle al haber comprado Sun, veremos dónde está el futuro de Solaris, por lo que no lo recomendaría para montar un servidor nuevo por si acaso.
  • Si eres un ninja del Linux sí o sí, siempre puedes compilar un kernel con lo mínimo para ese servidor dotándolo del mayor rendimiento posible para el uso que le vas a dar.

Y tú... ¿Qué sistema operativo utilizarías para servidor?

18 comments :

Anónimo dijo...

Todavía queadn bastante Tru64 en Telefónica. Y en entornos empresariales HP-UX sigue teniendo mercado. AIX is dead.

Jordi Prats dijo...

La parte de los BSDs la verdad es que no he entendido que quieres decir... ¿Que tienen menor rendimiento que un Linux?

Si es eso, no estoy de acuerdo... Todo depende, un ejemplo sería PostgreSQL que lo desarrollan en FreeBSD por lo que da mejor rendimiento en éste que en Linux.

Lo que es evidentemente cierto es que hay mucha cosa que se desarrolla pensando en Linux por lo que es bastante lógico que acabe dando mejor rendimiento en éste que en otros.

Lorenzo Martínez dijo...

@Anónimo -> La verdad es que intenté hacer el post con sistemas operativos que pudieran instalarse en arquitecturas Intel,.. más o menos por "todos". No contemplé Tru64 ni HP-UX aunque sé positivamente que se siguen usando, al igual que los mainframes, que son bastante difíciles de quitar, fundamentalmente porque hacen su función de una forma eficiente.

@Jordi -> No,... justo me refería a lo contrario. Que si compilabas servicios a mano para [Free|Net|Open]BSD, e incluso el propio kernel, tenías claro que ese esfuerzo se traducía en que lo que conseguirías es la mejor opción en cuanto a rendimiento/seguridad. Siento que no haya quedado claro. Le echo un vistazo para modificar esa línea y que no de lugar a equívocos.

Gracias a ambos.

Saludos,

manwe dijo...

Con *BSD sí que tienes mejor rendimiento/opciones al menos en networking. Creo que es superior a los demás unixes para firewall, enrutamientos y demás.

Para servicios más generales yo sin duda usaría Debian. Estable, más sencillo que los BSD, mucho software a elegir, soporte se seguridad inmejorable, paquetes deb (mucho mejor que rpm para mi gusto)... etc.

Jordi Prats dijo...

Pues lo había entendido totalmente mal. Ahora se entiende mejor lo que quieres decir :)

gracias!

bambuka dijo...

¿Qué pensáis sobre Gentoo? Pensado para aunar la filosofía Unix y Linux. Hace mucho que no lo uso pero recuerdo que es parametrizable como el que más.

Lo que ya no sé, es si se sigue manteniendo y sacando parches con una agilidad sufiente.

El software de gestión de paquetes, Portage junto con emerge y el uso de flags me quedó flipado en su día.

Vidañez dijo...

No se sere un enamorado del Solaris ... pero creo que le queda mucha vida y ahora Oracle, ( si ya de hecho funcionaba muy bien en el) funcionara muy muy bien sobre el.

Solaris desde primer inicio si has usado la opcion de "netconfig limited" es un bunker dificil de franquear .... y a rendimiento en aplicaciones es bastante alto incluyendo su ZFS.....

Pero claro para gustos los colores y pa colores el fosforito ...... Esto puede ser la discusion eterna :)

Anónimo dijo...

- Mac OSX Server, sigue siendo un *BSD ya que en la misma cupula de FreeBSD hay gente de Apple, digamos que es un BSD "con bonita interfaz" y "software cerrado". Funciona bastante bien. Tambien soporta dtrace/zfs.
- Solaris : Oracle ya hablo hace meses y obviamente van a continuar el sistema operativo, sin duda tiene caracteristicas muy avanzadas desde hace años que aún no se han podido "copiar". ZFS - ¿brtfs?(no esta ni completo ni listo para produccion) zfs lleva años. Las zonas tienen capas de seguridad bastante mas avanzadas que las jails de FreeBSD. Los pools digamos que son lo mejor.. Dtrace hasta el ultimo rincon del sistema operativo.
Ideal siempre y cuando pagues soporte, como es normal en empresas
- OpenSolaris : No confundir con Solaris porque realmente no es Solaris. Tiene muchas de las caracteristicas de él, pero no es así. La gente esta bastante confundida con esto. Es una distribución sobre un kernel y continua en desarrollo. No tiene actualizaciones de seguridad solo en la rama de desarrollo o esperas 6 meses cada vez que sale una nueva version. Oracle sigue con su desarrollo y sigue siendo libre.

- Nexenta/Belenix.. Son distribuciones de OpenSolaris. nexenta es famosa por sus OpenStorage ya que brinda un kernel opensolaris con una capa GNU como la de debian/ubuntu (apt, etc).

- Plan9 es un OS bastante avanzado e ideal para desarrollo y servidores de Ficheros.

- GNU/Linux : Redhat para cuando tienes soporte y Centos para cuando no. Pero CentOS sigue siendo una alternativa incompleta de Redhat.. Fedora es otra alternativa pero no creo que sea ideal para servidores. Lo bueno de las 3 es SELinux.
Suse/OpenSuse/ nunca me ha convencido.. su yast no se integra bien con componentes del sistema, y lo veo mas enfocado a la experiencia de usuario que de un administrador. Gentoo es una buena distribución para servidores, con un buen mantenimiento puedes configurar por completo el sistema y tener un sistema minimalista con lo justo y necesario, además de lo ultimo con repositorios semioficiales. Arch es parecida pero me parece mas enfocada a escritorio, hay muchos paquetes con bugs en yaourt y no me convence la poca gestion que tiene para virtualización con xen/kvm etc. Pero como digo, es cuestion de gustos. Debian es tambien una distribución minimalista, no la uso pero tampoco estaba mal el tiempo que la use. Ubuntu al igual que Suse me parece mas bien experiencia usuario que quiere montar un servidor rapido y que funcione sin meterse en cosas serias.
- Qnx : Ideal para tiempo real, es un buen Unix muy estable.
- VxWorks : Tambien para tiempo real, embebidos, etc.
- BeOS/HaiKu : fue un muy buen sistema operativo con ideas muy avanzadas que se perdieron en el olvido. Sobre todo en capa seguridad, servicios, etc.
- MS Windows : No los uso, tampoco me han gustado el tiempo que he tenido que usarlos lo unico que se puede echar en falta (a modo personal) es AD, en entornos Windows esta muy bien, mas completo que otras cosas que no usan ni GPO.
Lo dicho, lo importante es quien gestione el servidor, sus conocimientos, necesidades (sobre todo) y tiempo.Ninguna es mas segura que otra si tiene un administrador incompetente.

Anónimo dijo...

Hola a todos. El post es un poco personal creo yo y hay una gran variedad de sistemas operativos ideales para una u otra funcion.De igual forma te expongo mi idea a nivel personal tambien :
- FreeBSD: es muy estable y robusto, su codigo esta bastante trabajado, tiene todo lo bueno de otros OS. Ejecucion de binarios linux, uso de dtrace/zfs, jails, virtualizacion, TruBSD que sin duda es algo muy avanzado, etc.
- NetBSD : ideal para desarrolladores que quieren tocar codigo y portar un OS limpio. Es muy estable tambien y da mejor rendimiento en Virtualizacion y servidores de BBDD, etc.
- OpenBSD : hasta hace relativamente poco no soporta multiprocesador, es muy robusto y tiene politicas de seguridad avanzadas al igual que FreeBSD. Solo que este suele integrarlo todo por defecto y modifica el codigo de los servicios (por ejemplo tienen su version de apache con chroot, etc). No soporta virtualizacion, caractiristicas de hardware como los otros BSD, etc. Systrace ayuda a mejorar la seguridad de los daemons, etc. Packet Filter es muy completo e ideal para routing/firewall/balanceador en redes por su sencillez y rapidez para hacer cualquir cosa.
- AIX, camino de la muerte total
- HP-UX/Tru64, los he usado muy poco asi que no opino.

Seifreed dijo...

Hola

Pues yo para los servidores que he implantado ha sido centOs o Ubuntu e incluso Debian y ya está =)

Saludines

Rigolox dijo...

Para servidores me gusta Debian, FreeBSD y OpenBSD. Depende que tipo de uso se le vaya a dar.

Los BSD a la hora de "instalar" un programa tarda más tiempo pero luego está más optimizado.

Gentoo en entornos servidor no lo recomendaría.

NaCl u2

Anónimo dijo...

AIX se sigue montando en el ámbito de la banca, va en un pack junto con el Mainframe y su Z/Os X-P.

Para servidores Linux me gusta RedHat o Debian. Aunque lo de Etch clama al cielo... anda que quitar el soporte sin estar todavía la 6.0 8'(

Siendo chemalonsista, Windows 2008(R) en el Ring0 de mi red (¬¬)!.

Anónimo dijo...

¿Es que nadie va a mentar a Windows Server? :P :P

Anónimo dijo...

...eso que es? nunca he oído hablar de él

;)

Anónimo dijo...

gentoo!

Ernesto Arroyo dijo...

La verdad es que depende del servicio que debiera tener mi servidor. Porque si por ejemplo tengo que montar un WebSphere lo montaré probablemente sobre Windows, pero si lo que pongo es un JBoss probablemente me iría a un Linux (RedHat probablemente). Y si me dejaran montar un MacOSX server, de cabeza, después de ver la versión estandar la de servidor debe ser la caña.

Anonymous dijo...

gentoo!

Popopopo dijo...

que fastidio busscando algo desde hace media hora