Notes for Codefellows Code 401 301 201 and 102
Express Gateway is an API Gateway that can sit at the heart of any microservices architecture, regardless of what language or platform you’re using. Express Gateway secures your microservices and exposes them through APIs using Node.js, ExpressJS and Express middleware.
Amazon’s API Gateway is a fully managed service that makes it easy for developers to create, publish, maintain, monitor, and secure APIs at any scale.
Amazons Lambda functions are a serverless environment built function execution service
Amazon Aurora is a MySQL- and PostgreSQL-compatible enterprise-class database, starting at <$1/day. Aurora supports up to 64TB of auto-scaling storage capacity, 6-way replication across three availability zones, and 15 low-latency read replicas.
ElastiCache - ElastiCache is a web service that makes it easier to launch, manage, and scale a distributed in-memory cache in the cloud.
Amazon DynamoDB is a fully managed non-relational database service that provides fast and predictable performance with seamless scalability.
Amazon Neptune is a fast, reliable graph database service that makes it easy to build and run applications that work with highly connected datasets.
Amazon QLDB is a fully managed ledger database that provides a transparent, immutable, and cryptographically verifiable transaction log owned by a central trusted authority. Amazon QLDB tracks each and every application data change and maintains a complete and verifiable history of changes over time.
Amazon DocumentDB (with MongoDB compatibility) is a fast, scalable, highly available, and fully managed document database service that supports MongoDB workloads.
Amazon Keyspaces (for Apache Cassandra)is a scalable, highly available, and managed Apache Cassandra–compatible database service.
Timestream can easily store and analyze sensor data for IoT applications, metrics for DevOps use cases, and telemetry for application monitoring scenarios such as clickstream data analysis.
FIFO queues have essentially the same features as standard queues, but provide the added benefits of supporting ordering and exactly-once processing. FIFO queues provide additional features that help prevent unintentional duplicates from being sent by message producers or from being received by message consumers
TCP/IP cannot guarantee that all data that have been sent will also be received. But even if it would guarantee it that is not what you need. What sender actually needs is to know if it does not have to send data again, and that usually implies if sent data has been processed on receivers side. If sender needs to know this then communication protocol must be changed so that sender can receive a confirmation by the receiver that it can safely assume that data has been processed. Also, sender must at certain point proclaim a time-out (and close the socket) if receiver did not send back the confirmation on time (and in your code you must decide what to do about it, maybe save data to be sent at later time, or raise an alert to the user). Also receiver must handle the situation where the same data is being sent twice (as last item in previous connection, and as another item in new connection) and not treat this data as two distinct pieces of data.
Serverless is a cloud computing execution model where the cloud provider dynamically manages the allocation and provisioning of servers. A serverless application runs in stateless compute containers that are event-triggered, ephemeral (may last for one invocation), and fully managed by the cloud provider.
source Triggers are pieces of code that will automatically respond to an event.
source MongoDB is vendor agnostic, Open Source, and can be deployed anywhere. DynamoDB is only available on AWS. DynamoDB is a fully managed AWS service, MongoDB can be self installed or fully managed with MongoDB Atlas. DynamoDB as an integrated AWS service makes it easier to develop end to end solutions. DynamoDB uses tables, items and attributes, MongoDB uses JSON-like documents. DynamoDB supports limited data types and smaller item sizes; MongoDB supports more data types and has fewer size restrictions. Dynamo is hosted by AWS. Both are non-relational databases.
source they are basically the same but Dynamoose is the controller shell for DynamoDB and Mongoose is the controller shell for MongoDB.
Skim the following materials in preparation for the upcoming lecture. Note the following as you browse the material, and be prepared to participate in discussions during lecture