Como elegir un servidor/hosting para un negocio online

shellshock-bash-bug-affects-apache-web-server-software
Estándar

Llevo desarrollando aplicaciones y páginas web cerca de 10 años, primero como Analista-Programador, y luego siendo IT Manager en algunas empresas, actualmente ocupo esa posición en el ecommerce Portobellostreet.es, una de las tiendas online de muebles mas valoradas en España.

En el puesto de CTO o IT Manager una de las decisiones que debes de tomar y que resultan mas críticas para el negocio es el tipo de hosting en el que vas a desarrollar y poner en producción tu aplicacion y base de datos. Como primera aclaración comentar que un negocio online no tiene que ser un ecommerce, puede ser un buscador tipo Idealista, una app móvil como Parkfy o un servicio de consulta como el de Sepín Editorial Jurídica (del que forme parte hace algunos años).

Mis criterios para contratar un servidor siempre han sido estos:

  • flexibilidad de Sistema Operativo: yo trabajo casi todos los proyectos en entornos Microsoft y muchos ISP directamente solo trabajan con Linux
  • Control Remoto: Al contrario que en un simple hosting, necesito tener acceso a todas las funcionalidades del servidor, es por ello que el control remoto (ya sea para Windows o Linux) es imprescindible.
  • Caracteristicas vs Precio: Espacio en disco, RAM, Plesk, Coste de transferencia, etc.
  • Escalabilidad: Aquí esta una de las diferencias fundamentales que separan los distintos tipos de servidor.
  • Confianza en el proveedor: Cuanto mas se trabaja en este ámbito mas se conocen las empresas que prestan un buen servicio de atención al cliente y las que no.

Ahora explicare los tipos de servidor que conozco en base a la escalabilidad (se que existirán mas pero me ciño a mi propia experiencia, los comentarios están abiertos para añadir información extra)

Hosting: Un hosting no es mas que un espacio de almacenamiento web en el cual el precio varia según el espacio contratado, el tamaño de base de datos y los extras (marketing online, email, etc.). Este tipo de servicio es el más básico y personalmente solo lo contrataría si fuese una empresa que solo necesita una web corporativa y poco mas. Salvo excepciones las empresas que lo ofrecen, no disponen de la posibilidad de cambiar automáticamente las características, en caso de necesitar ampliar alguna de las especificaciones contratadas, normalmente porque ese hosting es uno mas de las decenas de compartimentos que ocupan en un servidor mas grande. Esto hace que no sea recomendable para una aplicación que pueda ir creciendo en numero de usuarios o requerimientos técnicos. La gestión se realiza desde un panel web dentro del sistema del proveedor del servicio y no se tiene acceso a la gestión del propio servidor.

VPS (del inglés virtual private server): Esto es el siguiente nivel al hosting, solo que en este caso ya tenemos acceso a un sistema operativo completo, no solo a un panel de control. Al contratarlo, al igual que el hosting, tenemos que decidir que tamaño de disco, RAM, SO, etc…queremos tener en el servidor, los proveedores suelen ofrecer “paquetes” ya configurados a un precio especifico. Este es el servidor que recomendaria a alguien que,por ejemplo, prestase servicios de desarrollo web, ya que permite configurar cuentas de usuario de hosting para pequeñas aplicaciones o ecommerce a un precio ajustado.

Además al tener acceso al propio SO, si alguna de esas aplicaciones necesita escalarse, se puede migrar de una manera mas sencilla a un servidor mas grande.

Como contrapartida tiene el mismo problema que el hosting, no es escalable, ni se pueden modificar las especificaciones contratadas, ademas de que la CPU y la RAM son compartidas con otras tantas VPS en un servidor mas grande con sistema de virtualizacion. Si necesitas ampliar, tu mismo tienes que hacer la migración.

Servidor dedicado: Como su propio nombre indica es una maquina fisica que tienes en exclusiva para tus aplicaciones y webs, con su SO, disco, RAM, etc en exclusividad para ti. Las ventajas de ese tipo de servidor son sobre todo la disponibilidad de los recursos del servidor, ya que no se comparten con ningún otro cliente de la empresa de hosting. Como desventaja tenemos que son escalables “a medias”, ya que se pueden ampliar algunos recursos (como RAM y disco duro) pero a un precio bastante prohibitivo en ocasiones.

Cloud: Los servidores cloud pueden ofrecer varios servicios, siendo el mas comunmente usado el de servidor web, aunque tambien los hay solo de almacenamiento o base de datos. Un servidor cloud es lo mismo que un VPS pero usando una tecnologia que permite hacerlo completamente escalable (CPU, RAM, disco, load balancing, VPN´s, etc). En los 2 últimos años los precios de la tecnología cloud se han estabilizado bastante, siendo bastante razonables para empresas que buscan flexibilidad y escalabilidad en su servicios web, aunque tienen el handicap de que al ser virtualizado puede sufrir los mismos problemas que un VPS, al compartir los recursos físicos de un servidor entre varios servidores virtuales.

Como IT Manager de Portobellostreet.es tome la decision hace 2 años de pasar todas las aplicaciones y servicios web públicos a Cloud, ya que necesitaba cierta flexibilidad debido al aumento de visitas y carga en la base de datos. En la oficina central el ERP tiene un servidor dedicado ya que tenemos separados los datos de la web y del ERP, de tal forma que aseguramos el funcionamiento del ERP aunque se produzca una caída de la web y viceversa. Para empresas con un negocio online potente que necesite de servicios web siempre recomendaría un servidor cloud, ya que la flexibilidad compensa el ratio de fallos que puedan ocurrir en la plataforma, ademas de permitir ciertas técnicas con el load balancing (varios servidores respondiendo a peticiones web o de base de datos)

 

Cómo configurar un servidor web seguro (parte I)

Estándar

Hace quince años, no eras un integrante de la era digital a menos que tuvieras tu propia página web. Incluso en la década de los 90, abundaban servicios para hacer páginas personales fáciles de construir y desplegar -el más famoso y ahora  extinto GeoCities , pero había muchos otros (recordemos Angelfire y Tripod ). Estos fueron los días antes de la social Web, antes de MySpace y Facebook. La mensajería instantánea se encontraba en su infancia y crear tu presencia online no requiería familiaridad con el HTML (aunque los programas automatizados de diseño web existían ).

Las cosas son diferentes ahora sin duda, pero todavía hay una tremenda cantidad de valor en el control de un genuino sitio web en lugar de confiar únicamente en la web social para proporcionarse presencia en Internet. La flexibilidad de ser capaz de instalar y ejecutar cualquier cosa, ya sea un wiki, blog o un sitio de alojamiento de fotos, es impresionante. Además, la libertad de jugar con el sistema operativo y el servidor Web es una excelente oportunidad de aprendizaje.

Es relativamente fácil abrir una cuenta en una empresa de alojamiento web y empezar a juguetear por ahí , pero ¿dónde está la diversión en eso? Si desea crear algo y aprender cómo funciona, el viaje es tan importante como el destino. Tener un servidor Web ya preparado corta la mitad del camino y por lo tanto la mitad del viaje. En esta guía, vamos a investigar a través de todo lo que necesita para configurar su propio servidor Web, de la elección del sistema operativo y las opciones de configuración específicas.

El hardware

Usted necesitará un poco de hardware, y por suerte, un servidor Web personal no requiere grandes requerimientos. Se puede improvisar un servidor de piezas de repuesto y es casi seguro que sea suficiente para hacer el trabajo. Si vas a empezar desde cero, considera algo como un barebone Foxconn NTA350 , junto con 4 GB de RAM y un disco SSD de 64 GB , lo puedes conseguir por alrededor de 200€. Hay opciones más baratas también, si quiere reutilizar o improvisar, realmente no necesita mucho. Vamos a usar una distribución de servidor Linux como nuestro sistema operativo del servidor, por lo que el hardware puede ser mínimo. Un viejo Core 2 Duo o Pentium acumulando polvo en la esquina debería funcionar bien. No necesita más de 1 GB de RAM, con 512 MB de hecho iba a funcionar sin problemas. Diez gigabytes de almacenamiento es más de lo que nunca va a llenar, a menos que usted vaya a utilizar el servidor para un montón de otras cosas también, así que un chirriante viejo disco duro está muy bien. Mientras usted pueda instalar la distro Linux de su elección, funcionará sin problemas.

Usando una máquina virtual

Si usted no tiene el hardware disponible o no desea otro ordenador ocupando su armario, no tema. Para uso doméstico, una máquina virtual funciona perfectamente bien. De hecho, una máquina virtual es exactamente lo que se usaría si usted trabaja con casi cualquier proveedor de hosting en el planeta, a menos que gaste algún dinero en  serio para tener su propio servidor dedicado. Tener su propio equipo físico es bueno, pero no siempre es práctico. Siéntase libre de utilizar en su casa una máquina virtual.

Si usted no tiene ya un producto de virtualización de escritorio de algún tipo (VMware Workstation para Windows o VMware Fusion o Parallels para Mac OS X), existen alternativas gratuitas: VMware vSphere es completo , pero requiere dedicar un equipo completo como host de virtualización. Otra posibilidad es  VMware Server , que está disponible, pero se acerca al final de su vida útil de soporte. Windows 8 y Windows Server 2012 vienen con un hipervisor , pero es necesario comprar los sistemas operativos. También hay un producto independiente, Hyper-V Server , pero al igual que VSphere le requiere dedicar un equipo completo para la virtualización.

El menos complejo y solución gratuita es descargar e instalar VirtualBox . Que se ejecutará en el sistema de Windows, OS X o Linux anfitrión y le permitirá ejecutar un servidor virtualizado Linux con un mínimo de esfuerzo. No vamos a entrar a través de los pasos de descarga e instalación de una solución de virtualización, pero no es difícil.

El sistema operativo

Ya hemos apuntado a la elección del sistema operativo un par de veces: el sistema operativo elegido para construir un servidor web es Linux o BSD. La mayoria de servidores en Internet y servicios adyacentes son fundamentalmente Unix.

Cuestiones técnicas aparte, también es una opción práctica. Usted puede adquirir una ISO de instalación de un servidor Linux o BSD de forma gratuita.

Por lo tanto, Linux o BSD? Esa elección daria para un artículo completo en sí mismo, pero vamos a ser breves: Vamos a hablar acerca del uso de una distro de Linux (es decir, un sistema operativo estilo Unix compuesto por el núcleo de Linux y una colección de herramientas y paquetes) en lugar de una variante de BSD (es decir, un sistema operativo tipo Unix compuesto de un sistema de base unificado y herramientas y paquetes). Hay una serie de razones para la elección de ir con una distro Linux a través de una variante BSD, pero el factor más relevante es que las distribuciones de Linux serán más fácil de instalar debido a su amplio y mejor soporte de hardware.

Ubuntu Server es!

Una distro basada en Debian como Ubuntu dispone de un sistema de gestión de paquetes excelentes y bien cuidada (que es el camino principal para instalar el software) y los lanzamientos LTS seguirá recibiendo parches de seguridad y actualizaciones regulares del núcleo por muchos años.

Ir con el formato de servidor de la distro en vez de un formato escritorio significa que usted va a terminar sin una interfaz gráfica de usuario en el sistema cuando haya terminado de instalarla. Esto no es malo. No temas a la línea de comandos! Es más rápido y más eficiente para editar algunos archivos de configuración y poner las cosas en marcha,  de lo que es andar a través de pantallas y pantallas de paneles de preferencias. Interfaces graficas están disponibles para el servidor si lo necesita, pero no vamos a entrar en ellos -la línea de comandos es la mejor manera de interactuar con el servidor Web, y eso es lo que vamos a utilizar aquí.

Usted no tiene que utilizar Ubuntu, sin embargo, algunas personas tienen diferencias filosóficas con Canonical y sus opciones de sistema operativo, y hay alternativas. Linux Mint es otra distro Linux basada en Debian, que es fácil de usar, aunque la variante servidor para su instalación por defecto incluye un montón de cosas que no necesita para su servidor Web. También puede ir directamente a lo fuerte y empezar con Debian , aunque distros como Ubuntu y Mint existen en parte debido a la cadencia de actualizaciónes de Debian que son extremadamente lentas. El resto de esta guía ( en el post II) va a asumir que usted está usando un servidor Ubuntu 12.04 LTS.

 

Servicios Outsourcing de Bases de Datos

Estándar

Que importante es tener un especialista al que acudir cuando tenemos un problema.

En el caso del desarrollo web, una persona no puede saber de todo, y en un equipo tambien en muchas ocasiones hay carencias en cuanto a los conocimientos y habilidades de cada miembro. Por eso, es tan importante conocer las propias limitaciones, y buscar ayuda en el momento adecuado, no por ello tu servicio deja de ser bueno, al contrario, es mejor, porque le ofreces a tu cliente la posibilidad de una mejor atencion y conocimientos especializados.

En nuestro caso, hemos encontrado una empresa que nos presta ayuda en el ámbito de las bases de datos. Damoin Web Services tiene un equipo preparado para gestionar bases de datos en un nivel técnico alto, pero tambien existen las excepciones y proyectos que superan nuestra capacidad técnica. Para compensarlo buscamos la mejor empresa posible que nos apoye en momentos de crisis o proyectos mas intensos. Os queremos presentar a GPS Open Source.

Desde GPS Open Source ofrecen servicios de consultoría/mantenimiento de  bases de datos en entornos empresariales.

Consultoría Oracle – Consultoría MySQL – Consultoría SQL Server – Consultoría Sybase

Su portfolio se dirige a compañías medianas y grandes que requieren de un proveedor especializado y de confianza. Un socio para abordar proyectos que exigen experiencia y conocimiento en entornos de bases de datos , ya sea Oracle, MySQL, SQL Server o Sybase.

Los consultores y tecnicos de GPS Open Souce cuentan con un amplio bagaje en la administración de bases de datos en entornos críticos y han participando y liderado proyectos de migración e implantación de bases de datos para grandes compañías. Su aportación parte de esa especialización y se hace fuerte desde el compromiso y el esfuerzo como garantía de éxito.

Su valor como socio en entornos de base de datos

El objetivo principal de GPS Open Source es convertirse en un proveedor cercano a sus socios y clientes. Una empresa capaz de ofrecer la confianza suficiente para dejar en sus manos proyectos y áreas importantes de sus activos informáticos. Un proveedor, en definitiva, que forma parte de su Departamento IT como un equipo más de técnicos especializados y comprometidos con el objetivo de su empresa.

 

Problemas con los servidores de Amazon Irlanda, gestión de desastres TI en directo

Estándar

Os ofrecemos la última información sobre los problemas de Amazon Irlanda, despues de que uno de los portales mas visitados como es Menéame.net este caído por un problema de conectividad.

Gracias a este problema, los que gestionamos sistemas de mayor o menor envergadura estamos comprobando y aprendiendo que tipo de operaciones y que tipo de gestiones realiza una de las mayores empresas de TI actuales frente a un gran desastre en alguna de sus instalaciones.

Uno de los puntos fuertes que podemos comprobar es como Amazon esta informando a sus clientes de forma muy transparente y rápida en que estado esta el problema y que es lo que estan haciendo para solucionarlo. Podrian caer en la tentación de ocultar la mayor cantidad de información, pero en lugar de hacerlo y ocultarlo, te informan de en que estado esta la incidencia.

Los siguientes son ejemplos de transparencia, cualidad que para una empresa con sistemas tan críticos es loable y necesaria:

  • Según la última actualización del estado en el panel de Amazon Web Services parece ser que están teniendo problemas con las gestión de snapshots en los servidores haciendo que en algunos casos se borren bloques de manera incorrecta. Esto esta retrasando la posibilidad de arrancar los servicios ya que los clientes afectados no pueden hacer uso de sus copias de forma adecuada, según vayan solucionando estos problemas irán avisando por email a los administradores de los sitios afectados para que empiecen la recuperación.
  • El servicio Amazon Relational Database Service (Ireland) también esta siendo reparado ya que sufre los mismos problemas de conectividad, en la última actualización de su estado nos indica que estan intentando recuperar las instancias e indican un método para que los clientes con backups automáticos tengan la opción de recuperarla con una recuperación Point-in-Time.

Otro de los puntos a tener en cuenta es un plan de recuperación. A todos nos ha pasado, quien mas, quien menos ha sufrido incidencias o desastres en su departamento y lo primero que te viene a la mente es… ¿por donde empezamos ahora ?.

Para esto hace falta un plan (o planes) que, aunque no tenga en cuenta todas las posibles causas de un desastre de sistemas, si nos de unas pautas sobre como reiniciar todos los servicios y poner todo en orden otra vez. Es importante en este plan tener responsabilidades y responsables asignados, información de backups, usuarios, hardware, etc. ya que sino toda esta información tendrá que ser recopilada sobre la marcha con el tiempo que roba a la resolución propia de la incidencia.

Por último, este problema con Amazon tambien nos ofrece una verdad intangible pero demoledora, y es que, ningún sistema es infalible. Suponemos que Amazon tendrá su centro de datos bien acondicionado y protegido, y aun así, ha caido un rayo y tienen estos problemas. Esta claro que contra incidencias mas “normales” cuanto mas grande y preparada este una empresa mas riesgos se minimizan, pero eso no evita al 100% que pueda pasar algo, y por lo tanto siempre hay que estar alerta y a ser posible tener un plan B, por si ese 0.000001% de probabilidad nos toca un día.

¿Que opinais del tema de Amazon?, deja un comentario