Simple Queue Service (SQS)

Is a fully managed message queuing service that enables you to decouple and scale microservices. Is pull based. Tiene algo que se llama visibility time, que es el tiempo para procesarlo, si algo (lambda por ejemplo) no lo procesa en x minutos el item regresa al queue)

  1. Standard: Muchos canales (pueden ser deliverados muchas veces) y no necesariamente en orden.
  2. FIFO: First in First out

Simple Workflow Service (SWF)

Es para coordination of tasks oriented APIs. Incluye humanos, scripts, code, etc. Only one guarantee ha. Los SWF actors son:

  1. Workflow Starter
  2. Deciders: Controla el flow
  3. Activity workers

Simple Notification service (SNS)

  1. Instantaneo y push based
  2. Multiple protocols

API gateway

Managed service for APIs

  1. Para Restful APIs
  2. Para conectar serverless lambda y DynamoDB
  3. API distribution
  4. Efficient y scalable
  5. Track usage by API key
  6. Throttle requests
  7. Cloudwatch compatible
  8. Multiple version of API possible
  9. API caching
  10. Necesitas CORS

Kinesis

Es para mandar data en KB de múltiples plataformas, como localización, IoT, información de juegos, etc.
Tipos de Kinesis

  1. Streams: Shards para siempre recibir información, se guarda entre 24horas y 7 días para procesarla. Un ejemplo son hashtags para twitter sentiments analysis.
  2. Firehose:  No guardas la información, en este método, cuando llega la procesas. No data persistence
  3. Analytics: Para analizar la data dentro de Kinesis usas analytics.

Web identity Federation y Cognito

Para darle acceso a AWS resources despues de que se logearon con un web-based identity provider como FB o linkedin.
Cognito es un broker entre tu APP y Facebook que da credenciales que se mapean a un AWS role.
Usa push SNS para avisar de cambios por ejemplo de email.
Users pools: Users directories que genera un JSON web token. Es el que autentica Username/password, registra y recovery.
Identity pools: temporary credentials para acceder a AWS services. Es el que autoriza

Event driven architecture

Cuando pasa un evento se broadcastea a todos lados y alguien hace algo con la notificación.

Dead-letter Queue  Cuando el que se supone que va a recibir el mensaje no lo recibe (SQS, SNS o lambda)
Fanout patter: is a messaging pattern where messages are broadcast in a one-to-many arrangement.
S3 event notification : Cuando pasa algo en S3 como se crea, borra, restorea, descongela (de glacier ja) algo en tu bucket.