Akamai Technologies, empresa que entrega una parte considerable del tráfico total de la Internet diaria, se encuentra inclinada a resolver sus desafíos tecnológicos en casa. Corey Scobie, vicepresidente de Open Platform en Akamai, resume la cultura y filosofía de la ingeniería de la firma como, simplemente, “deberíamos construirlo nosotros”.
Pero Akamai, una red de entrega de contenidos con base en Cambridge, Massachusetts, tomó una dirección diferente cuando necesitó ensamblar una infraestructura de base de datos para una aplicación de provisión y administración de APIs. Scobie ordenó a su equipo utilizar una base de datos como servicio (DBaaS, por sus siglas en inglés) en lugar de construir y correr su propia base de datos.
Akamai seleccionó la DBaaS NoSQL de Cloudant, la cual se encuentra construida sobre Apache CouchDB. La DBaaS ha estado soportando la aplicación interna de administración de APIs por alrededor de 15 meses.
No fue una falta de recursos técnicos lo que hizo que se decidiera por una DBaaS, sino más bien, la necesidad de realizar el despliegue rápidamente. La compañía se encarga de más de 150 mil servidores, que sustentan a unas 1.200 redes alrededor del mundo. Sin embargo, Akamai necesitaba considerar las ventajas y desventajas entre implementar plataformas de código abierto como Cassandra o CouchDB in house versus usar una DBaaS.
Más empresas y proveedores de servicios ven el enfoque de base de datos de nube como una opción viable, ahora que los analistas señalan que su impulso se está incrementando. TechNavio, empresa de investigación tecnológica, pronostica una tasa de crecimiento anual agregada de 62% para el mercado global de bases de datos en nube hasta el 2018. La necesidad de mayor velocidad en la parte técnica se erige como uno de los factores, pero entre los otros factores se encuentra una carestía de pericia de parte de las propias empresas. Esta última consideración es particularmente importante ya que las compañías buscan adoptar las emergentes bases de datos NoSQL a medida que tienen que afrontar conjuntos de datos cada vez mayores.
Para las organizaciones que se encuentran listas para adoptar la nube, las opciones van desde los productos DBaaS de autoservicio, hasta los servicios administrados de bases de datos que ofrecen soporte. Sin embargo, las líneas son difusas entre los servicios. Una DBaaS, por ejemplo, puede ofrecer el afinamiento de la base de datos adicionalmente al clásico acceso a la base de datos.
El acto de comprar servicios de nube en ocasiones se asocia con clientes que tienen una infraestructura técnica limitada. Akamai ha demostrado que no siempre es ese el caso. “Queda claro que no existe una falta de recursos de servidores”, anota Scobie.
Dicho esto, la red de Akamai carecía de un servicio de datos constante que no era el tipo de configuración distribuida que la compañía tenía en mente para su aplicación de administración de APIs. Además, aunque Akamai emplea un par de miles de ingenieros, carece del acceso inmediato a las habilidades en base de datos que podrían ayudar a la empresa “sacar algo rápidamente”, explica Scobie. El ejecutivo señala que desplegar instantáneamente ingenieros en un proyecto es algo difícil de hacer para cualquier ambiente empresarial, señalando que la programación de los recursos técnicos deben ser calculados con seis a 12 meses de adelanto, desde la perspectiva del presupuesto.
Cloudant, mientras tanto, permite a las firmas “desarrollar mucho más rápido y llegar a producción de manera mucho más rápida”, afirmó el CEO, Derek Schoettle, añadiendo que el incremento en el ritmo es acompañado de menos riesgo y costos, que si uno mismo se encargara del proyecto de base de datos.
Al renunciar a hacerlo ella misma, la empresa Akamai ahora utiliza varios clusters de la capacidad de Cloudant para respaldar su aplicación de administración de APIs.
Coloque la base de datos en la nube y concéntrese en sus competencias clave
Las restricciones en los recursos técnicos fueron inicialmente el problema principal en eVestment, compañía de Atlanta que proporciona una base de datos institucional y herramientas de analítica SaaS para el análisis financiero. El servicio de eVestment incluye conjuntos de datos de más de 34 mil vehículos de inversión tradicionales y de más de 25 mil estrategias alternativas como los hedge funds.
Hace seis años, cuando eVestment era una compañía más pequeña, los principales factores para usar el alojamiento en nube eran las economías de escala y el alcance con respecto a los recursos, sostiene Mitchell Johnson, CTO de la firma. La compañía siguió con INetU para los servicios de alojamiento administrados. El acuerdo cubre la red, servidores, sistemas de almacenamiento y bases de datos de eVestment.
Johnson afirma que la experiencia de INetU en áreas como SAN (storage-area networking) y optimización de base de datos ayudó a hacer el caso para el alojamiento. “Tener especialistas en cada una de estas áreas hubiera consumido una buena parte de nuestro presupuesto”.
En la actualidad, eVestment ha crecido a tal punto que podría alojar su infraestructura internamente, pero Mitchell afirma que la motivación original para alojar externamente se mantiene. “Somos lo suficientemente grandes, pero esas ventajas siguen existiendo. Prefiero concentrarme en nuestras competencias principales; es decir, construir software y soluciones de big data para inversionistas institucionales”.
La necesidad de obtener ayuda especializada para implementar bases de datos NoSQL también contribuye con el incremento de los servicios de bases de datos en nube. eVestment usa Microsoft SQL Server y MySQL en el lado de la base de datos relacional, pero ha añadido Redis a su cartera de bases de datos. Redis es un key-value store, un subconjunto de la categoría de NoSQL. La compañía también utiliza Elasticsearch, un motor de búsqueda distribuido de código abierto, en una capacidad de analítica NoSQL.
“Tenemos que basarnos en Redis y Elasticsearch en gran medida debido a que ha crecido el tamaño de nuestros conjuntos de datos”, señala Mitchell.
La tecnología relacional sigue siendo importante, pero el ejecutivo señala que los pedidos de los clientes por lograr una capacidad de respuesta en tiempo real y tiempos de carga de páginas rápidos -junto con la necesidad de trabajar con enormes conjuntos de datos- hacen que sea necesario un tipo diferente de base de datos. También afirma que Redis es mucho más rápido que SQL, he indica que eVestment usa Redis para proporcionar administración y caching de sesiones distribuidas en varias instancias de aplicaciones físicas.
Mitchell admite que agregar la implementación de Redis -que se basa en Linux- a algo que ha sido un ambiente de base de datos relacional basada en Microsoft podría haber causado algunas preocupaciones si hubiera sido un proyecto in house. El ejecutivo afirma que la compañía habría tenido que pensar en obtener nuevos recursos experimentados en Redis o capacitar al personal existente. En cambio, eVestment confió en los recursos de INetU.
Los enfoques para el despliegue de bases de datos en nube difieren
Aquellos que adoptan las bases de datos en nube pueden elegir entre varios métodos de despliegue. Scobie afirmó que Akamai optó ir por un modelo DBaaS algo híbrido.
Cloudant proporciona clusters de bases de datos dedicados y específicos para Akamai. Scobie afirma que este enfoque, a diferencia de los ambientes multitenant más genéricos, ayuda a que Akamai supere sus preocupaciones en cuanto a seguridad. El ejecutivo señala que Akamai actúa como el custodio de las aplicaciones de comercio electrónico de los clientes que corren por sus redes, por lo que debe proteger los datos de los clientes como si fueran los suyos propios.
La seguridad y el time to market ayudaron a definir el enfoque de base de datos en nube de Akamai, pero la capacidad de crecer también tuvo un rol. “Asumimos que la mayoría de las cosas que ponemos en un ambiente de producción van a crecer rápidamente a los estándares de Akamai”, indica Scobie.
La compañía trabaja con un inmenso volumen en ocasiones. En julio, Akamai reportó que tuvo su mayor pico histórico de tráfico (23 Tbps) durante el partido de la semifinal Alemania-Brasil de la Copa Mundial de la FIFA.
El desempeño también se tuvo en cuenta en el servicio de base de datos de nube de eVestment, aunque la compañía enfrenta un desafío diferente en comparación con Akamai. Mientras que los productos de entrega de contenidos de Akamai deben adaptarse para millones de usuarios, eVestment tiene muchos menos usuarios pero con sesiones individuales más prolongadas e intensas.
Mitchell sostiene que la base de datos de eVestment y las herramientas asociadas reciben las visitas de miles de clientes -algo que la compañía denomina “vistas de perfil”- todos los días. La carga de trabajo de procesamiento de las sesiones individuales puede llegar a ser muy demandante.
“Lo principal es el desempeño”, indica Mitchell. “La plataforma de eVestment procesa más de 10 mil transacciones de perfil o reportes en línea diariamente, pero una transacción dada podría involucrar millones de cálculos”.
La prueba de fuego para eVestment: Ofrecer a los gerentes de inversión el mismo nivel de servicio en una nube multitenant que el que podrían obtener de un sistema in house. Los gerentes de inversión tradicionalmente construyen y administran sus propias bases de datos y herramientas analíticas, señala Mitchell.
El ejecutivo indica que eVestment tiene su propia nube privada dentro de INetU. El socio de alojamiento tomó los pasos necesarios para ayudar a eVestment a cumplir con sus metas de desempeño. Por ejemplo, la compañía desplegó lo que Mitchell describió como una infraestructura de almacenamiento de alto desempeño para eVestment, creando un modelo de almacenamiento flexible para su nube privada que proporciona almacenamiento con discos de estado sólido (SSD, por sus siglas en inglés) de alto desempeño, junto con almacenamiento de bajo desempeño para situaciones en las que la velocidad no es tan importante.
Mitchell afirma que este enfoque del almacenamiento ayuda a equilibrar la ecuación precio desempeño. Usar cache SAN y SSD proporciona un desempeño máximo donde se requiera, mientras que el almacenamiento de bajo desempeño ayuda a mantener los costos a raya.
INetU resalta su capacidad para crear soluciones personalizadas de nubes privadas, públicas e híbridas como una característica atractiva para los clientes. “En lugar de ofrecer soluciones preempaquetadas”, sostiene David Fowler, vicepresidente de marketing de INetU, “trabajamos con compañías de todos los tamaños e industrias para entender sus metas de negocio específicas, requerimientos técnicos y necesidades de seguridad”.
En general, Mitchell ve al alojamiento administrado -para bases de datos entre otros componentes de la infraestructura- como algo que va ser cada vez más importante. “Es algo que va a seguir creciendo en buen medida debido a que las compañías cada vez quieren concentrarse más en aquello que hacen bien”, afirma. “Esta es una tendencia que va a continuar”.
John Moore, CIO EE.UU.