sábado, 19 de mayo de 2012

Un modo para evaluar la utilidad real de usar cloud services, los detalles


Todos los sistemas van a fallar catastróficamente en algun momento, sin embargo creo que es una cuestión de costo-beneficio.

Cuando una empresa chica - Instagram por ej. - decide ir por el hosting propio, normalmente no tiene inmediatamente cosas como:

  • Su propio datacenter 
  • Otro datacenter en una locación diferente, replicando la infraestructura física (que detallo abajo)
  • Doble línea de aprovisionamiento de energía (una de una "zona" y otra de otra "zona", si cortan la luz en una, se contiene y se pasa a la otra línea, etc.)
  • Una UPS que aguante 2 o más horas de corte de luz (suficiente tiempo para tomar medidas de contención - servicios disminuídos en la infra, etc. - y preparar DR - Disaster Recovery y/o evaluar MTTR (tiempo promedio hasta que todo vuelva a la normalidad)
  • Un grupo electrógeno con buen tiempo disponible (en realidad, lo ideal es usar primero el grupo electrógeno y tener las UPS disponibles como última opción de provisión de energía)
  • Buena provisión de aire acondicinado (incluyendo la potencia extra necesaria para el grupo electrógeno durante las horas del corte de luz)
  •  Un server - el hard- en cold-standby (nuevos, montados y apagados), listos para reemplazar cualquiera en producción. En cantidad suficiente para cubrir el promedio de fallas de hardware de los fabricantes del hard (el promedio de la datasheet para vender y el promedio interno, obtenido de la experiencia inhouse),
  • Lo mismo que lo anterior pero para hard de networking
  • etc. 

En gral, cuando se compra un server propio y se lo hostea "por ahí", las medidas anteriores están todas dadas, aunque no se tiene exacta idea - típicamente - de qué hay de todo lo anterior (aunque hay buenos datacenters en AR para hostear servers propios si mal no recuerdo).

Una startup que recien arranca y planea - y desea - tener una expansión explosiva, suele arrancar con uno o dos servers alquilados, luego - inversión inicial mediante - compran un par de "físicos" y los hostean por ahí; ya llegado el momento del lanzamiento y cuando arranca el uso explosivo, toda la arquitectura tiene que estar armada para ir adaptandose transparemente a la nueva carga.

Lo más importante de usar servers en clouds pasa - imho - por no necesitar comprar 20 servers (+ el datacenter y/o alquiler de infra que los contiene), y poder alquilarlos en la cloud, luego, si ya no hace falta, pum!, se apagan los nodos, se pierde esa información y se vuelve a la base.

Supongo que como toda startup que va ganando pie (como Zynga por ejemplo), van a terminar migrando a una infra de hard propio, y la cloud de Amazon les sirvió - ya es efectivo eso - para dar el salto a la masividad con mínima inversión y apoyándose mayormente en el skillset del equipo de desarrollo + sysadmins + ideas de negocio.


Vi - ojos propios - muchas veces en el NEA que cuando se busca "hosting propio" y se compra un servidor - caro, de marca,  o no - casi todo lo anterior que mencioné (inclusive el tema del grupo electrógeno), se pasa olímpicamente por alto, y si hay cortes de luz de 4 horas - como sucede varias veces por verano en Ctes. - un sistema de misión crítica se tiene que apagar porque las UPS solamente soportan un máximo de dos horas (en realidad, para resguardar la integridad de los datos, esas dos horas quedan cortas, así que los admins apagan todo - ordenadamente - mucho antes de esas dos horas, previa llamada al jefe/dueño explicando qué en realidad no tienen dos horas).

Conclusión
El nivel de fiabilidad para el negocio en poner servers en Amazon es comparable al de tener los mejores ingenieros y técnicos trabajando con el máximo posible de recursos - hard, soft, skillsets, training especializado, expertise, etc. - para intentar mantener online todo el tiempo posible a un datacenter.

Más allá de los fallos que tuvo esa infra de cloud (y todas las clouds privadas tienen/tuvieron outages), la evaluación debería hacerse - imho - con el nivel y la frecuencia de fallos a nivel de pérdida de servers que encontramos en un datacenter - bien armado promedio.

Probablemente encontremos que la frecuencia de fallos en un datacenter promedio suele ser bastante más elevada que el del servicio de cloud privado promedio (Amazon, HP Cloud Services, RackSpace, MS Azure, etc.).

No hay comentarios: