El cloud computing visto por Fintonic.com

11--2384056-Cloud Computing HD

Cuando se inicia el camino de un proyecto como Fintonic, uno de los primeros aspectos que se plantean es dónde alojar la infraestructura necesaria para que el servicio que ambicionas poner en funcionamiento se ejecute con la suficiente agilidad, y al mismo tiempo, permita una escalabilidad según las necesidades manteniendo  los costes de explotación en unos márgenes  adecuados.

Para los que todavía no conozcáis Fintonic.com, se trata de la aplicación de gestión financiera de moda en España. Cuenta con más de 30.000 usuarios y es una herramienta que ayuda a entender, gestionar y simplificar de manera gratuita y muy intuitiva la contabilidad personal, con el objetivo de potenciar el ahorro y evitar gastos innecesarios para poder sacar más partido a cada euro.

Aunque una infraestructura en la nube no es aún una práctica habitual en el sector financiero, donde la aproximación se parece más a un Cloud privado, es indudable que el sector de servicios lleva años abrazando esta tendencia abiertamente, donde ya forma parte integral de muchas empresas y sobre todo de startups, ya sean de perfil tecnológico o no.

Existen muchas ventajas en el uso de  una infraestructura en Cloud, pero también existen desventajas. En Fintonic creemos que las ventajas son mucho mayores que las desventajas, pero es importante conocer ambos aspectos para maximizar unas y minimizar las otras.

Algunas de las ventajas  que podemos encontrar en cloud

  • Flexibilidad y rapidez para desplegar infraestructura: no sólo sirve para absorber picos de carga en un momento dado, esta facilidad de aprovisionamiento de hardware, unido a sistemas de provisionado automático de software, permite levantar infraestructuras completas para, por ejemplo, probar una rama de desarrollo sin afectar a los entornos estables de staging  (o intermedios).
  • Servicios llave en mano por parte de los proveedores: si tus necesidades en algunos servicios no son muy especiales, la mayor parte de los proveedores de cloud ofrecen bases de datos relaciones, noSQL o de mensajería como servicio, eliminando la carga de DBA de su uso. Hay también servicios de almacenamiento, balanceadores de carga, CDNs…
  • Flexibilidad de costes: pagas por lo que usas en cada momento, esta propiedad permite desplegar entornos de desarrollo/staging que se levantan “en horas de oficina” según se requieran, implicando un importante ahorro de costes para este tipo de entornos.

Inconvenientes del cloud

  • Más caro para la parte estable de la infraestructura. Según crecen las necesidades de infraestructura también los costes de los entornos cloud crecen, y es necesario plantarse la relación  coste-beneficio que un entorno dedicado propio puede proporcionar.
  • Caja negra: no puedes saber si algo va mal en la infraestructura real. En la infraestructura física, cuando el rendimiento no es bueno tienes una serie de métricas que te pueden permitir saber si tienes un problema de hardware o dónde está el cuello de botella. En la infraestructura virtualizada únicamente puedes llegar hasta la información que te ofrece tu VM, que no siempre es suficiente para identificar el problema (porque éste puede estar fuera del contexto de tu VM).
  • Los vecinos pueden afectarte: este inconveniente está relacionado con el anterior. Supongamos que un vecino de tu VM está haciendo un uso muy intenso de I/O tu servidor va lento, pero no ves que esté saturado nada. Es algo que no puedes llegar a identificar por tu cuenta y que el proveedor no siempre va a estar dispuesto a mirar por ti.

Es necesario realizar un cambio de mentalidad respecto a una aproximación más tradicional

  • Mascotas y ganado: si un servidor no se comporta, se mata y se levanta otro. Si hay una versión nueva del software de este servidor: se mata y se levanta otro. Si quieres ampliar la memoria: se mata y se levanta otro. Hay que perder el miedo a ser duro con los servidores. Ya no se llaman “Gandalf”, “Frodo” y “Faramir” ahora son “frontend”. Los tres. Los servidores han dejado de ser mascotas, (¿quién querría matar a la pobre Fifí?) y ahora son ganado, cuyo paso por el matadero es inevitable, una vez que han cumplido con su misión.
  • Proceso de datos desacoplado: un efecto de la flexibilidad de levantar y bajar entornos de staging o desarrollo, es que hay una curva de demanda de infraestructura, esto se traduce en una curva de precio: hay horas más caras que otras. Si puedes planear momentos determinados con mayor necesidad de proceso y los puedes colocar en horas valle, puedes usar esta especie de tarifa nocturna para tener más potencia de proceso cuando es más barato.
  • Aprovechar la infraestructura para utilizar arquitecturas más modernas y modulares: una de las consecuencias de estos dos últimos puntos es que la modularidad de la aplicación deja de ser un patrón de diseño deseable y pasa a ser el único patrón de diseño que tiene sentido. Hay que tender a tener una VM por cada módulo y a que esta VM esté perfectamente dimensionada según las necesidades del servicio (e incluso, de las necesidades del servicio a una hora determinada), el uso de sistemas de colas se vuelve imprescindible, así como el desarrollo de aplicaciones muy robustas, capaces de soportar la impredecibilidad del resto de los servicios. En muchos casos no es necesario llegar al Chaos Monkey de Netflix, pero es bueno planificar y desarrollar pensando siempre qué pasaría si te soltasen a un mono caótico en tu CPD virtualizado.

Los aspectos legales que derivan de las obligación de cumplir la LOPD

No hay que olvidar que también es importante tener esta aspecto en cuenta. Sin entrar en mucho detalle legal,  cabe recordar que desde el punto de vista de la LOPD, si la empresa esta domiciliada en España, al proveedor de servicios Cloud se le considera Encargado del Tratamiento, y como tal debe cumplir la normativa española.

Si los datos se encuentran en el espacio económico europeo bastará con firmar un contrato con el proveedor de servicios Cloud que recoja las medidas de seguridad que debe cumplir el encargado del tratamiento, es decir, el mismo proveedor de servicios en la nube.

En el caso de que los datos residan fuera del espacio económico europeo ya que en este caso se considera una transferencia internacional de datos y por tanto sería necesario recabar la autorización del director de la Agencia Española de Protección de Datos (AEPD)

Aunque existen ciertas excepciones, si los datos se almacenan en un país con un nivel adecuado de protección según la Agencia de Protección de Datos (AEPD), entonces el protocolo a seguir es igual y bastará con la firma de un contrato que contemple las medidas de seguridad a seguir cómo en el caso de pertenecer al espacio económico europeo

Si el Encargado del Tratamiento se encuentra ubicado en EEUU, se debe revisar si éste se encuentra adherido al Protocolo “Safe Harbour”

En definitiva, para sacar el máximo rendimiento de tu infraestructura cloud, es necesario planificar correctamente tus necesidades y reevaluarlas constantemente para ajustar y mejorar cualquier aspecto. También es muy importante rodearte de profesionales que entiendan y tengan experiencia en esta nueva arquitectura, cómo puede ser el caso de Tecnilógica que colabora con Fintonic en el diseño y mantenimiento de nuestra arquitectura cloud.

Contenidos Relacionados

Top