Orígenes de datos - AWS AppSync

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Orígenes de datos

En la sección anterior, hemos aprendido que un esquema define la forma de los datos. Sin embargo, no llegamos a explicar de dónde procedían esos datos. En proyectos reales, el esquema es como una puerta de enlace que gestiona todas las solicitudes realizadas al servidor. Cuando se realiza una solicitud, el esquema actúa como el único punto de conexión que interactúa con el cliente. El esquema accederá a los datos del origen de datos, los procesará y los retransmitirá al cliente. Vea la infografía siguiente:

AWS AppSync y GraphQL implementan magníficamente las soluciones Backend For Frontend (BFF). Funcionan en grupo para reducir la complejidad a gran escala al abstraer el backend. Si su servicio utiliza orígenes de datos o microservicios diferentes, para abstraer de manera básica parte de la complejidad, puede definir la forma de los datos de cada origen (subgráfico) en un único esquema (supergráfico). Esto significa que su API de GraphQL no se limita a usar un origen de datos. Puede asociar cualquier número de orígenes de datos a su API de GraphQL y especificar en su código cómo van a interactuar con el servicio.

Como puede ver en la infografía, el esquema de GraphQL contiene toda la información que los clientes necesitan para solicitar datos. Esto significa que todo se puede procesar en una sola solicitud en lugar de en varias, como es el caso con REST. Estas solicitudes pasan por el esquema, que es el único punto de conexión del servicio. Cuando se procesan las solicitudes, un solucionador (elemento que se explica en la sección siguiente) ejecuta su código para procesar los datos del origen de datos correspondiente. Cuando se devuelva la respuesta, el subgráfico vinculado al origen de datos se rellenará con los datos del esquema.

AWS AppSync admite muchos tipos de orígenes de datos diferentes. En la siguiente tabla, describiremos cada tipo, enumeraremos algunas de las ventajas de cada uno y proporcionaremos enlaces útiles para obtener más contexto.

Origen de datos Descripción Ventajas Información complementaria
Amazon DynamoDB “Amazon DynamoDB es un servicio de base de datos NoSQL totalmente administrado que ofrece un rendimiento rápido y predecible, así como una perfecta escalabilidad. DynamoDB le permite delegar las cargas administrativas que supone tener que utilizar y escalar bases de datos distribuidas, para que no tenga que preocuparse del aprovisionamiento, la instalación ni la configuración del hardware, ni tampoco de las tareas de replicación, aplicación de parches de software o escalado de clústeres. DynamoDB también ofrece el cifrado en reposo, que elimina la carga y la complejidad operativa que conlleva la protección de información confidencial.”

  • Rendimiento a escala: DynamoDB está diseñado en torno a un rendimiento uniforme a cualquier escala. Esto es posible mediante el uso de particiones. DynamoDB particionará automáticamente las tablas en varias asignaciones que se almacenarán en múltiples SSD en varios nodos. Por lo general, esto aumentará el rendimiento de la red y reducirá la latencia.

  • Capacidad a escala: DynamoDB supervisa el tráfico y permite escalar automáticamente el rendimiento si la red permanece sobrecargada durante períodos prolongados.

  • Disponibilidad y tolerancia a errores: DynamoDB es compatible con varias regiones aisladas físicamente, cada una de las cuales contiene varias zonas de disponibilidad aisladas físicamente. DynamoDB cambiará automáticamente a una zona de respaldo en caso de que se interrumpa el servicio. También puede hacer copias de seguridad y replicar los datos manualmente para garantizar la seguridad de estos.

  • Registro y monitorización: DynamoDB proporciona varias herramientas analíticas para las tablas. Puede monitorizar el rendimiento de la tabla y crear alarmas que le notifiquen los cambios drásticos que se produzcan en el servicio.

  • Seguridad: DynamoDB sigue protocolos estrictos para garantizar que sus datos cumplan con los requisitos de seguridad de su organización.

  • Integración con AWS AppSync: DynamoDB se integra perfectamente con nuestro servicio. Puede crear nuevas tablas de DynamoDB y generar automáticamente un esquema a partir de ellas para agilizar el proceso de desarrollo. También ofrecemos toda una colección de operaciones para solicitar fácilmente datos de las tablas de DynamoDB existentes en su cuenta en su solucionador.

AWS Lambda “AWS Lambda es un servicio informático que permite ejecutar código sin aprovisionar ni administrar servidores.

Lambda ejecuta el código en una infraestructura de computación de alta disponibilidad y realiza todas las tareas de administración de los recursos de computación, incluido el mantenimiento del servidor y del sistema operativo, el aprovisionamiento de capacidad y el escalado automático, así como las funciones de registro. Con Lambda, lo único que tiene que hacer es suministrar el código en uno de los tiempos de ejecución de lenguaje compatibles con Lambda.”

  • Modelo de pago por uso: Lambda solo le cobra cuando utiliza sus recursos. También le permiten escalar la cantidad de recursos utilizados en función de las necesidades de su aplicación.

  • Escalado automático: a veces, la aplicación puede necesitar más potencia de procesamiento para un proceso concreto. Lambda le permite escalar automáticamente los recursos informáticos para adaptarlos a las necesidades de su aplicación.

  • Tiempos de implementación más rápidos: puede optimizar su proceso de desarrollo mediante un paquete de implementación. Utilice un paquete para cargar el código de función en el servicio de Lambda. A continuación, puede utilizar sus entornos de ejecución para probar y ejecutar sus funciones.

  • Versatilidad: Lambda se puede utilizar en multitud de casos de uso. Puede integrar Lambda perfectamente tanto con servicios de terceros como con servicios de AWS. Algunos ejemplos son los canales de CI/CD y los servicios de correo masivo.

  • Integración con AWS AppSync: puede invocar fácilmente las funciones de Lambda en su solucionador para gestionar solicitudes. Nuestro servicio proporciona una operación de solicitud simplificada para realizar llamadas Lambda. Permitimos tanto llamadas individuales como en lotes.

OpenSearch “Amazon OpenSearch Service es un servicio administrado que facilita la implementación, la operación y el escalado de clústeres de OpenSearch en la nube de AWS. Amazon OpenSearch Service es compatible con OpenSearch y con la version heredada de Elasticsearch OSS (con hasta 7.10, la versión final de código abierto del software). Al crear un clúster, tiene la opción de elegir qué motor de búsqueda utilizar.

OpenSearch es un motor de búsqueda y análisis totalmente de código abierto para casos de uso como análisis de registros, monitoreo de aplicaciones en tiempo real y análisis de secuencias de clics. Para más información, consulte la documentación de OpenSearch.

Amazon OpenSearch Service le proporciona todos los recursos para su clúster y lo inicia. También detecta y sustituye automáticamente los nodos de OpenSearch Service que tienen algún error. De este modo, reduce la sobrecarga asociada con las infraestructuras autoadministradas. Puede escalar el clúster con una única llamada a la API o con algunos clics en la consola.”

  • Escalado: puede escalar fácilmente el servicio para adaptarlo a sus requisitos de servicio a través de OpenSearch Serverless.

  • Ingesta de datos: puede utilizar OpenSearch Ingestion para importar, procesar y analizar datos. Existen muchas aplicaciones para la ingesta de datos, que puede encontrar aquí.

  • Seguridad: OpenSearch puede gestionar su configuración de seguridad de AWS, que incluye IAM, CloudTrail, VPC, autenticación, etc.

  • Disponibilidad: OpenSearch también admite diversas regiones y zonas de disponibilidad en su servicio.

  • Integración con AWS AppSync: en AWS AppSync, puede utilizar las API de GraphQL para almacenar y recuperar datos de los dominios de OpenSearch Service existentes en su cuenta.

Puntos de conexión HTTP Puede usar puntos de conexión HTTP como orígenes de datos. AWS AppSync puede enviar solicitudes a los puntos de conexión con la información relevante, como los parámetros y la carga. La respuesta HTTP estará expuesta al solucionador, que devolverá la respuesta final cuando finalice sus operaciones.
  • Útil para aplicaciones sencillas que no estén tan integradas con servicios como Lambda.

Amazon EventBridge “EventBridge es un servicio sin servidor que utiliza eventos para conectar los componentes de la aplicación entre sí, lo que facilita la creación de aplicaciones escalables basadas en eventos. Utilícelo para enrutar eventos desde orígenes como aplicaciones propias, servicios de AWS y software de terceros a aplicaciones de consumo en toda su organización. EventBridge proporciona una forma sencilla y coherente de incorporar, filtrar, transformar y entregar eventos para que pueda crear nuevas aplicaciones rápidamente.”

  • Arquitectura basada en eventos: puede aprovechar la arquitectura basada en eventos.

  • Programación: puede utilizar el Programador de EventBridge para automatizar sus tareas y reglas mediante expresiones cron o establecer intervalos de tiempo como alternativa a los patrones de eventos.

  • Canalizaciones: con EventBridge Pipes, puede sustituir el bus de eventos por una canalización que incluya patrones de eventos de filtrado adicionales y enriquecimiento mediante transformaciones de datos antes de enviar el evento al destino.

  • Integración con AWS AppSync: AWS AppSync permite enviar eventos a buses de eventos mediante su solucionador.

Bases de datos relacionales “Amazon Relational Database Service (Amazon RDS) es un servicio web que facilita la configuración, la operación y la escala de una base de datos relacional en la nube de AWS. Proporciona una capacidad rentable y de tamaño ajustable para una base de datos relacional estándar y se ocupa de las tareas de administración de bases de datos comunes.”

  • Administrar de forma sencilla: periódicamente, RDS realiza el mantenimiento de sus recursos. En la mayoría de los casos, estas tareas de mantenimiento incluyen actualizaciones del hardware subyacente, del sistema operativo (SO) subyacente o de la versión del motor de base de datos de la instancia de base de datos. En circunstancias normales, puede decidir cuándo realizar las actualizaciones (excepto con los parches de seguridad, entre otros casos).

  • Recomendaciones: la característica de recomendaciones RDS proporciona sugerencias automatizadas para solucionar posibles problemas en su instancia.

  • Disponibilidad: RDS está disponible en diferentes regiones físicas de todo el mundo. Puede distribuir fácilmente las necesidades de su base de datos entre distintos nodos para ofrecer un mejor servicio a sus clientes.

  • Personalización: RDS está diseñado para cumplir con los requisitos de las grandes corporaciones. RDS ofrece varias opciones de computación, implementación rápida, escalabilidad y almacenamiento.

  • Seguridad: RDS está integrado con varias herramientas y servicios para mantener la seguridad de las bases de datos en los niveles de usuario, base de datos y red.

  • Integración con AWS AppSync: si busca una solución de backend avanzada, AWS AppSync le permite enviar, procesar, almacenar y devolver datos utilizando su instancia como origen de datos.

Origen de datos none Si no planea usar un servicio de origen de datos, puede configurarlo en none. Un origen de datos none, aunque se siga considerando explícitamente un origen de datos, no es un medio de almacenamiento. A pesar de ello, sigue siendo útil en algunos casos para la manipulación y transferencia de datos.
  • Potencialmente útil para acciones como la conversión de datos

  • Útil cuando se resuelve algo localmente

sugerencia

Para obtener más información sobre cómo interactúan los orígenes de datos con AWS AppSync, consulte Asociar un origen de datos.