overview atlas (1)
TRANSCRIPT
Atlas, MongoDB as a Service
Atlas MongoDB as a
Service
Atlas, MongoDB as a Service
1. Introducción2. Grupos3. Clústers4. Seguridad5. Monitorización6. Backup7. Costes8. Migración a Atlas
Índice
Autor Ernesto Valero Marcelo MongoDB Certified DBA [email protected]
Atlas, MongoDB as a Service
● Es un servicio para provisionar, monitorizar, realización de backups y mantener entornos de MongoDB en la nube. DBaaS
● La operación de los clúster está delegada en MongoDB ● Las instancias son desplegadas sobre AWS (en el futuro habrá más proveedores de IaaS) ● Podemos escalar nuestros entornos en cualquier momento bajo demanda● Soporte 24x7x365 sobre las instancias desplegadas
1 Introducción
1. ¿Qué es MongoDB Atlas?
Atlas, MongoDB as a Service
● Generación de despliegues bajo demanda● POC’s● Segmentación de proyectos por grupos
independientes ● Monitorización de entornos out-of-box● Gestión unificada y desatendida de backup● API para creación de entornos y todo tipo de
recursos del servicio (clústers, grupos, alertas…)
1 Introducción
¿Por qué usarlo?
Atlas, MongoDB as a Service
2 Grupos
● Los grupos en Atlas son equivalentes a los grupos en Ops Manager.● Un grupo sirve para organizar tus clústers desplegados, asignar permisos, crear usuarios,
reglas de seguridad …● Se pueden crear tanto grupos de Cloud Manager como de Atlas● Cada grupo en Atlas tiene asociado un VPC de AWS
Atlas, MongoDB as a Service
3 Clústers
● Cualquier despliegue en Atlas sea en Replica Set o Sharding es un clúster en Atlas● Atlas utiliza la versión 3.2 de MongoDB con WiredTiger como storage engine● Al crear tu primer clúster de tu grupo, eliges la zona de AWS donde se desplegará. En ese mismo
momento es cuando se creará el VPC● Los clúster siempre se despliegan en distintas zonas de disponibilidad dentro de la misma región de
AWS
Atlas, MongoDB as a Service
3 Clústers
Para crear un clúster debemos indicar:● Nombre del clúster● Región (el primero del grupo)● Tamaño de la instancia● Replica Factor● ¿Sharded Clúster?● ¿Backup?● ¿Usuario y Password?
Proceso de creación
Atlas, MongoDB as a Service
3 Clústers
Un clúster puede escalar de distintas formas● Escalado vertical (IOPS, más disco o mayor tamaño de instancia)● Cambio de Replica Set a Sharding● Escalado horizontal (añadir más shards)
Escalado
Atlas, MongoDB as a Service
Formación MongoDB
Primary Secondary Secondary
Driver
:27017 :27017 :27017
2 Replica Set Internals/ Operaciones sobre Replica Sets
Rolling upgrade
Formación MongoDB
Primary Secondary
Driver
:27017 :27017DOWN /
upgrading
:27017
2 Replica Set Internals/ Operaciones sobre Replica Sets
Rolling upgrade
Formación MongoDB
Primary Secondary
Driver
:27017 :27017
Recovery:27017
2 Replica Set Internals/ Operaciones sobre Replica Sets
Rolling upgrade
Formación MongoDB
Primary Secondary Secondary
Driver
:27017 :27017 :27017
2 Replica Set Internals/ Operaciones sobre Replica Sets
Rolling upgrade
Formación MongoDB
Primary Secondary
Driver
:27017 :27017DOWN /
upgrading
:27017
2 Replica Set Internals/ Operaciones sobre Replica Sets
Rolling upgrade
Formación MongoDB
Primary Secondary
Driver
:27017 :27017
Recovery:27017
2 Replica Set Internals/ Operaciones sobre Replica Sets
Rolling upgrade
Formación MongoDB
Primary Secondary Secondary
Driver
:27017 :27017 :27017
2 Replica Set Internals/ Operaciones sobre Replica Sets
Rolling upgrade
Formación MongoDB
Primary Secondary Secondary
Driver
:27017 :27017 :27017
rs.stepDown() Elección
2 Replica Set Internals/ Operaciones sobre Replica Sets
Rolling upgrade
Formación MongoDB
Primary Secondary Secondary
Driver
:27017 :27017 :27017
2 Replica Set Internals/ Operaciones sobre Replica Sets
Rolling upgrade
Formación MongoDB
Primary Secondary
Driver
:27017 :27017DOWN /
upgrading
:27017
2 Replica Set Internals/ Operaciones sobre Replica Sets
Rolling upgrade
Formación MongoDB
Primary Secondary
Driver
:27017:27017
Recovery:27017
2 Replica Set Internals/ Operaciones sobre Replica Sets
Rolling upgrade
Formación MongoDB
Secondary Primary Secondary
Driver
:27017 :27017 :27017
2 Replica Set Internals/ Operaciones sobre Replica Sets
Rolling upgrade
Atlas, MongoDB as a Service
4 Seguridad
Cualquier clúster en Atlas es seguro por defecto:● Se habilita SSL para la conexión● Autenticación habilitada ● Filtrado de las conexiones mediante lista blancas
de IP’s● VPC Peering + Security Groups● Cifrado de volumen de datos● Utilización de tokens para uso de API’s e
integraciones con otros servicios
Atlas, MongoDB as a Service
5 Monitorización
Todo clúster en un grupo dispone de métricas:● Estado de las Bases de datos● Métricas de la base de datos● Hardware
Además dispone de sistema de alertas:● Problemas en el clúster● Cambio de roles● Facturación● Notificaciones (SMS, correo / Hip Chat …)
Atlas, MongoDB as a Service
La condición de un backup es desconocida hasta que no se realiza su restore.
Erwin Schrödinger
Atlas, MongoDB as a Service
6 Backup
● Se puede habilitar el backup de nuestros clúster ● Se realiza un snapshot y guarda las diferencias
entre los sucesivos● En Sharding, deshabilita el balanceador para
realizar el snapshot● Utiliza compresión y deduplicación a nivel de
bloque● Todos los backups se almacenan en
Norteamérica independientemente de dónde se despliegue el clúster
● 2 Métodos de restauración (implica downtime)
Atlas, MongoDB as a Service
8 Migraciónes a Atlas
● MongoDB está desarrollando una herramienta para sincronizar dos instancias para poder migrar los datos en vivo
● Si decides migrar ten en cuenta:○ Ejecuta un mongodump para tomar tiempos, calcular el espacio necesario del dump y
calcular tu ventana○ Planificar una versión de solo lectura de tu aplicación○ Recolectar las IP’s de las aplicaciones para añadirlas a la whitelist de MongoDB○ Switchear la aplicación a Atlas una vez migrado○ Calcular la instancia de Atlas que vas a necesitar de cara a la migración, así como la región
donde desplegarla
Atlas, MongoDB as a Service
8 Migraciones a Atlas
● La empresa Checkr ha desarrollado go-sync-mongohttps://github.com/checkr/go-sync-mongo
● Ejecutamos mongodump --oplogreplay ● Ejecutamos mongorestore --oplogreplay● Ejecutamos go-sync-mongo + última operación de oplog restaurada
¡CUIDADO! : No es capaz de replicar operaciones de creación de nuevas bases de datos, deben existir en origen y destino. Usar con mucha precaución.
Atlas, MongoDB as a Service
One More thing… we are hiring
Mira en tu silla o envía tu CV a:[email protected]: MongoDB Meetup