Hola a todos tengo una consulta sobre un tema que nunca he tocado y tengo que tomar una decisión. Quizás @umbranoide sepa del tema tal como me comentaba @eXtreM3 en el post Feda/dev/
Actualmente las bbdd del proyecto que desarrollamos se encuentra alojada en un servidor dedicado, la cuestión es que probablemente si todo va como está previsto a partir de septiembre en la tamaño de la BBDD así como las transacciones se van a incrementar de una manera exponencial.
Es por eso por lo que nos estamos planteando y preparándonos para esa futura escalabilidad que tenemos en el frente, y tenemos varias opciones disponibles. Podríamos ir directamente a Cloud SQL de Google o Amazon, pero estamos viendo precios y la verdad que aunque parecía en Inicio barato realmente no es tan barato más cuando lo comparamos con una solución basada en servidores dedicados en cluster.
Por ello os pido vuestro consejo y experiencia
OPCIÓN 1)
Montar mi propio Cluster con 4 dedicados administrados.
Sería 4 servidores dedicados con esta configuración por servidor
8 cores Xeon(R) CPU E3-1270 V2 @ 3.50GHz
32gb Ram
SSD 480 gb
En total tendría
32 cores a 3,5ghz y 128gb ram en 4 máquinas (1 seria el cluster, y las otras 3 como nodos, la que administra es una maquina que ya tenemos)
Sobre ellas montaría Mysql Cluster en una configuración inicial como se muestra en este línk
http://www.ingdiaz.org/instalacion-mysql-cluster-ndb-7-5-8-ubuntu-server-16-04/
NOTA: El Nodo de administración seria un quinto servidor dedicado que tengo actualmente de los 2 que tenemos ahora.
En está configuración tengo escalabilidad horizontal a futuro sin problemas solo es añadir más máquinas nodo al Cluster y a futuro cuando la bbdd crezca podemos ampliar cada servidor con un HD de 2Tr y ubicar en estos algunas de las particiones de tablas que van por años, y dejar solo en el SSD las particiones de tablas del año en curso y el anterior.
La opción 1 tiene un coste mensual total de 700€/mes con nuestro proveedor de hosting, alojado en España en nuestro actual CPD, con maquinas administradas por ellos, pero con acceso y control total de las maquinas.
OPCIÓN 2)
Optar con un Cloud SQL por ejemplo de Google, he mirado una configuracion aparentemente "similar" y por los precios que veo es bastante más cara.
Por ejemplo, si voy a una configuración de Google Cloud SQL:
db-n1-standard-32 => 32 cores a 2,5 pero virtualizado... y 120 gb ram, en Bruselas
of instances: 1
Location: Belgium
730.0 total hours per month
Storage: 100.0 GB
Backup: 250.0 GB
Sustained Use Discount: 30%
Coste mensual de 1,394.83€
Lo que me parece es muy caro, es el DOBLE, con 32 cores virtualizados, si necesito mas espacio, a lo que podria tener en dedicados, el precio se dispara a los 1700€/mes...
Análisis de pros y contras:
OPCIÓN 1)
PROS:
Mayor potencia bruta... (aparentemente)
Mas espacio, y opciones de ampliar mas economicas.
Creo que mayor control
Mejor latencia de respuesta ya que el Cluster estaría en el mismo CPD que la maquina que haría las peticiones y consultas.
Aparentemente más economico
CONTRAS:
quizás problemas de rendimiento por cuestiones de tuning de la configuración, etc...
la escalabilidad horizontal no es tan rapida, requiere instalar nuevos nodos y configurar.
OPCIÓN 2)
PROS:
Más fácil escalar desde un simple panel
Menos temas de configuración
CONTRAS:
Aparentemente mucho mas caro.
Mayor latencia o tiempo de respuesta por la distancia en la conexión.
Menor control.
Estas en manos de "terceros"... aun más si cabe....
¿Estoy considerando o equivocándome en algo de cara al Cloud de Google?
¿Que experiencias teneis?
¿Por que apostaríais vosotros?
¿Que pros y contras veis?
Yo personalmente apuesto por la OPCIÓN 1... pero antes de tomar una decision que es bastante importante quiero conocer experiencias, etc en este ámbito.
Saludos y GRACIAS!!!