¿Cómo se despliega y autoescala Couchbase en Cloud?
Aprende de manera práctica
¿Qué es Couchbase?Es una base de datos orientada a documentos con un lenguaje basado en SQL
(N1QL) pensada para ofrecer rendimiento y escalabilidad
IndexGestiona y mantiene los índices GSI.Opcional
Servicios
QueryEfectúa la ejecución de consultas N1QL.Opcional
DataRealiza las operaciones con los datos y las vistas.Obligatorio
SearchOrquesta los índices fulltext y la ejecución de consultas textuales.Opcional
Despliegue y escalado
Escalado simétricoPermite crecer en número de
nodos replicando todos los servicios en cada uno de los
servidoresCommunity Edition
Escalado multidimensionalPermite dimensionar servicios en
función de las necesidades de manera independiente.
Enterprise Edition
Creación de un cluster- Instalar servidor- Configurar (via Web)- Instalar servidor 2- Agregar al cluster via consola- Forzar rebalancer via API REST
AplicaciónIndexador de noticias de diferentes medios nacionales e internacionales en torno a ciertas temáticas
ScraperRastreador de periódicos en busca de noticias en mas de 15 medios nacionales e internacionales
Inserciones masivas en lotes
EstadísticasAplicación de monitorización de las arañas.
Consulta y monitorización
AplicaciónIndexador de noticias de diferentes medios nacionales e internacionales en torno a ciertas temáticas
ScraperRetroalimentación
Fuentes
Pongámoslo a prueba
Infraestructura(Kubernetes y Docker)
PaaSSimplificar la gestión de recursos y aplicaciones.
ContenedoresNos va a ayudar a simplificar los procesos de despliegue de nuestras aplicaciones y herramientas. En este caso Couchbase.
EscaladoEn base a las métricas podemos definir una política de escalado que garanticen el rendimiento óptimo de la arquitectura.
Entorno de la pruebaCluster de Kubernetes
Master NodoNodo
Pod(Couchbase)
Pod(Couchbase)
Pod(Couchbase)
Entorno de la prueba
Infraestructuras- TIPO DE MAQUINAS- NUMERO DE NODOS
Escalado- Homogéneo- 3 Pods Couchbase + front
Parámetros- Uso CPU
- Espacio en Disco- % RAM libre- Tiempo entre escalados- Rebalanceo de datos
Entorno de la prueba
16 vCPUs
PODsscrapers
1 vCPUs
Frontend & Couchbase
1 vCPUs
Frontend & Couchbase 1 vCPUs
Frontend & Couchbase
Lo podemos monitorizar
Problemas● Restricciones de la solución cloud. Quotas ● Métricas para escalado restringidas● Deficiencias driver de conexión Couchbase● Relajación de métricas para forzar el escalado● Rutas de Firewall del IaaS
● ¡ Es posible el autoescalado !● ¡ Es posible la monitorización y alarmado !● La política de rebalanceo depende de la naturaleza
del servicio●
Conclusiones
¿Dudas/Preguntas?
¿Cómo se haría con la Enterprise?Cluster de Kubernetes
Nodos
Pod(Couchbase)Pod
(Couchbase)
Index
Nodos
Pod(Couchbase)Pod
(Couchbase)
Query
Nodos
Pod(Couchbase)Pod
(Couchbase)
Data
PollingMecanismo de escucha activa para detectar alertas y realizar acciones
Variables- HPA cargade CPU- RAM de indices disponibles- % docs total disk size- # write/read ops- # request/secs
Github Scrapperhttps://github.com/aleonsan/newspaper-scraper-couchbase
Alfredo Espejel Álvaro León
¿Ruegos y preguntas?