En el pasado Meetup, presentamos Couchbase de manera general, pero ha llegado el momento de ir ahondando en los detalles del producto para conocer todas sus capacidades. Esto nos permitirá estar en mejor disposición para adoptarlo en nuestros proyectos.
En esta ocasión, se hablará de la capa de operaciones y despliegue de Couchbase aunque no con un enfoque tradicional en máquinas físicas, sino siguiendo las buenas prácticas del mercado. Explicaremos y haremos el despliegue en Google Cloud con escalabilidad horizontal elástica y automática.
Para llevar a cabo esto haremos uso, entre otras, de las siguientes tecnologías: Google Cloud, Kubernetes, Python y, por supuesto, Couchbase.
Pondremos a prueba nuestra infraestructura con una pequeña aplicación, si queréis ver los resultados, no os lo podéis perder!
investigación de los Avances tecnológicos del siglo XXI
¿Cómo se despliega y autoescala Couchbase en Cloud? ¡Aprende de manera práctica!
1. ¿Cómo se despliega y autoescala
Couchbase en Cloud?
Aprende de manera práctica
2. ¿Qué es Couchbase?
Es una base de datos orientada a documentos con un lenguaje basado en SQL
(N1QL) pensada para ofrecer rendimiento y escalabilidad
3. Index
Gestiona y mantiene los índices
GSI.
Opcional
Servicios
Query
Efectúa la ejecución de consultas
N1QL.
Opcional
Data
Realiza las operaciones con los
datos y las vistas.
Obligatorio
Search
Orquesta los índices fulltext y la
ejecución de consultas textuales.
Opcional
4. Despliegue y escalado
Escalado simétrico
Permite crecer en número de
nodos replicando todos los
servicios en cada uno de los
servidores
Community Edition
Escalado multidimensional
Permite dimensionar servicios en
función de las necesidades de
manera independiente.
Enterprise Edition
5. Creación de un cluster
- Instalar servidor
- Configurar (via Web)
- Instalar servidor 2
- Agregar al cluster via consola
- Forzar rebalancer via API REST
6. Aplicación
Indexador de noticias de diferentes medios nacionales e internacionales en torno a ciertas temáticas
Scraper
Rastreador de periódicos en busca
de noticias en mas de 15 medios
nacionales e internacionales
Inserciones masivas en lotes
Estadísticas
Aplicación de monitorización de las
arañas.
Consulta y monitorización
7. Aplicación
Indexador de noticias de diferentes medios nacionales e internacionales en torno a ciertas temáticas
Scraper
Retroalimentación
Fuentes
9. Infraestructura
(Kubernetes y Docker)
PaaS
Simplificar la gestión de recursos y
aplicaciones.
Contenedores
Nos va a ayudar a simplificar los
procesos de despliegue de
nuestras aplicaciones y
herramientas. En este caso
Couchbase.
Escalado
En base a las métricas podemos
definir una política de escalado que
garanticen el rendimiento óptimo
de la arquitectura.
10. Entorno de la prueba
Cluster de Kubernetes
Master Nodo
Nodo
Pod
(Couchbase)
Pod
(Couchbase)
Pod
(Couchbase)
11. 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
14. 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
15. ● ¡ Es posible el autoescalado !
● ¡ Es posible la monitorización y alarmado !
● La política de rebalanceo depende de la naturaleza
del servicio
●
Conclusiones
17. ¿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
18. Polling
Mecanismo 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