¿Qué implica la configuración de una oferta de base de datos como servicio (DaaS) en EC2?

Además de simplemente poder iniciar una instancia EC2 nueva con el software de su base de datos instalado, hay muchas otras cosas en las que puede pensar. Éstas incluyen:

* Elasticidad / escalabilidad: ¿cómo se escala la base de datos de 1 GB a 10 TB? ¿Puede proporcionar un escalado sencillo con cero tiempo de inactividad?
* Durabilidad: ¿desea confiar en EBS para el almacenamiento subyacente? Los nodos EC2 solo tienen discos efímeros.
* Alta disponibilidad
* ¿Puedes manejar el nodo EC2 que cae? La replicación podría resolver el problema aquí, pero ¿qué tipo de replicación? síncrono vs asíncrono, etc.
* ¿Puedes manejar una falla AZ completa?
* Instantáneas: ¿cómo habilitar las instantáneas para copias de seguridad, recuperación en un punto en el tiempo, etc.
* Mantenimiento / actualizaciones: ¿cómo se realizan actualizaciones integradas y parches de mantenimiento para toda una flota de bases de datos de clientes de producción?

AWS abordó un montón de problemas como estos [1] en RDS.

[1] – http://aws.amazon.com/rds/faqs/

Tenemos una implementación de DBaaS relativamente simple en AWS para la base de datos de gráficos que nuestra empresa desarrolla (GraphDB)

hay un montón de servicios de infraestructura en la nube involucrados:

  • EC2 para los nodos de la base de datos y los nodos de enrutamiento (tenemos una arquitectura multicapa)
  • ELB para equilibrar las solicitudes entre los nodos de enrutamiento
  • autoescalador para agregar / eliminar nodos de enrutamiento dinámicamente y agregar (nunca eliminar) nodos de base de datos cuando se crean nuevas bases de datos y no hay ranuras de contenedor libres en los nodos de base de datos disponibles
  • EBS para persistir los archivos de la base de datos
  • SNS para actualizaciones relacionadas con la topología de nodos de la base de datos
  • Docker para empaquetar y aislar las bases de datos de ubicación conjunta en la misma máquina virtual, más un repositorio de Docker con varias imágenes de bases de datos preconfiguradas que queremos poder implementar
  • DynamoDB para almacenar configuraciones, metadatos, registros, etc.
  • CloudWatch para varias métricas de rendimiento y utilización

Hay información técnica más detallada sobre nuestra arquitectura e implementación en los siguientes documentos, presentaciones y charlas:

  1. http://ontotext.com/documents/pu
  2. http://ontotext.com/documents/pu
  3. http://videolectures.net/eswc201
  4. Base de datos RDF como servicio con S4

More Interesting

¿Cuál es la mejor manera de aprender sobre Windows Azure?

¿Qué tan grande es el equipo que desarrolló y ahora mantiene Microsoft Azure y qué tan difícil es el día a día?

Computación en la nube: ¿Cuáles son las características clave de una arquitectura de nube robusta, escalable y saludable?

¿Quiénes son los clientes típicos de Oracle Cloud?

¿Qué tan lejos estamos de que la computación cuántica sea reemplazada por la computación normal?

¿Es fácil migrar de Parse a mi propio backend sin perder DB?

¿Cuál es la principal prioridad de seguridad en la nube?

¿Qué podría / debería haber hecho Rackspace para evitar más de 5 horas de tiempo de inactividad debido a un aparente ataque DDOS?

Como desarrollador de Python, ¿qué es lo mejor para elegir como una opción de carrera de desarrollo web y plataformas de computación en la nube?

¿Puedes aprender a codificar Java en Google Cloud (App Engine)?

¿Cuál es la diferencia entre la base de datos de AWS y el almacenamiento de AWS?

¿Dónde puedo aprender Amazon AWS sin costarme dinero? Uso Debian todos los días pero me siento intimidado por aprender un conjunto de habilidades de AWS.

¿Cómo los grandes centros de datos, como los utilizados para el almacenamiento en la nube y los motores de búsqueda, distribuyen datos relacionados entre servidores y evitan la pérdida de datos?

¿Dónde puedo encontrar libros en la web basada en la nube (contenedores, AWS, Docker, Kubernetes, Heroku)?

¿Cómo se compran los servidores en los centros de datos?