AWS - tarunchhabra/parakalo GitHub Wiki

https://aws.amazon.com/blogs/architecture/what-to-consider-when-selecting-a-region-for-your-workloads/

AWS Well-Architected

https://www.youtube.com/watch?v=GhTC-pMgOjc&list=PLhr1KZpdzukdc8hT9hCF8hwfWkYAX-frO

AWS Architectures in Real systems

https://www.youtube.com/watch?v=2XVgpMwY5iE&list=PLhr1KZpdzukdeX8mQ2qO73bg6UKQHYsHb

Centralized logging - https://d1.awsstatic.com/architecture-diagrams/ArchitectureDiagrams/aws-centralized-logging-sol.pdf?did=wp_card&trk=wp_card

AWS Services

https://www.youtube.com/watch?v=nlt0lnn11ts&list=PLC1EA73D8914686E5

1) AWS Cognito -

Amazon Cognito provides authentication, authorization, and user management for your web and mobile apps. Your users can sign in directly with a user name and password, or through a third party such as Facebook, Amazon, Google or Apple.

The two main components of Amazon Cognito are user pools and identity pools --

User pools are user directories that provide sign-up and sign-in options for your app users.

Identity pools enable you to grant your users access to other Amazon services. You can use identity pools and user pools separately or together.

https://docs.amazonaws.cn/en_us/cognito/latest/developerguide/what-is-amazon-cognito.html

2) AWS Amplify -

AWS Amplify offers a fully managed service for deploying and hosting static web applications globally, served via Amazon's reliable content delivery network with hundreds of points of presence globally and with built-in CI/CD workflows that accelerate your application release cycle.

Deploy and Host web apps - both backend and frontend

https://aws.amazon.com/amplify/hosting/

3) AWS Route53 -

Route53 is a highly available and scalable cloud Domain Name System (DNS) web service.

Features such as Amazon Route 53 Traffic Flow and routing control help you improve reliability with easily-configured failover to reroute your users to an alternate location if your primary application endpoint becomes unavailable.

https://aws.amazon.com/route53/

https://aws.amazon.com/route53/what-is-dns/

https://aws.amazon.com/blogs/architecture/a-case-study-in-global-fault-isolation/

https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover.html

https://aws.amazon.com/blogs/architecture/scale-your-web-application-one-step-at-a-time/

4) Amazon CloudFront

Amazon CloudFront is a fast content delivery network (CDN) service that securely delivers data, videos, applications, and APIs to customers globally with low latency, high transfer speeds.

https://aws.amazon.com/cloudfront/

https://d1.awsstatic.com/architecture-diagrams/ArchitectureDiagrams/cloudfront-real-time-monitoring-ra.pdf?did=wp_card&trk=wp_card

  1. Lambda@Edge

Lambda@Edge is a feature of Amazon CloudFront that lets you run code closer to users of your application, which improves performance and reduces latency.

Lambda@Edge runs your code in response to events generated by the Amazon CloudFront content delivery network (CDN).

Use case: Request filtering & run a global lambda function code alongside each edge location/ each region. https://aws.amazon.com/lambda/edge/

6) AWS Global Accelerator - improves Availability and performance of your application using anycast IP. It is used majorly for TCP or UDO traffic.

Use case - IOT

Also, performs Health checks and protection from DDos attacks with AWS Shield.

https://aws.amazon.com/global-accelerator/

7) AWS Shield-

AWS Shield is a managed Distributed Denial of Service (DDoS) protection service that safeguards applications running on AWS.

https://aws.amazon.com/shield/?whats-new-cards.sort-by=item.additionalFields.postDateTime&whats-new-cards.sort-order=desc

8) Amazon API Gateway -

Amazon API Gateway is a fully managed service that makes it easy for developers to create, publish, maintain, monitor, and secure APIs at any scale.

APIs act as the "front door" for applications to access data, business logic, or functionality from your backend services.

Using API Gateway, you can create RESTful APIs and WebSocket APIs that enable real-time two-way communication applications. API Gateway supports containerized and serverless workloads, as well as web applications.

https://aws.amazon.com/api-gateway/

Disadvantage : It can not perform API composition logic. Solution -https://docs.aws.amazon.com/prescriptive-guidance/latest/modernization-data-persistence/api-composition.html

AWS Step Functions

https://docs.aws.amazon.com/step-functions/latest/dg/welcome.html

https://aws.amazon.com/step-functions/?step-functions.sort-by=item.additionalFields.postDateTime&step-functions.sort-order=desc

https://aws.amazon.com/step-functions/use-cases/

https://www.infoq.com/news/2021/06/step-functions-workflow-studio/

Observability with AWS

**Tracing with AWS Distro and AWS Xray **

X-Ray -

https://aws.amazon.com/xray/

https://docs.aws.amazon.com/xray/latest/devguide/aws-xray.html

https://aws.amazon.com/xray/features/

https://aws.amazon.com/otel/faqs/

AWS Distro for OpenTelemetry

https://aws.amazon.com/otel/?otel-blogs.sort-by=item.additionalFields.createdDate&otel-blogs.sort-order=desc

We can migrate from xRay tracing to AWS Distro open telemetry tracing -

https://aws.amazon.com/blogs/opensource/migrating-x-ray-tracing-to-aws-distro-for-opentelemetry/

https://aws.amazon.com/blogs/opensource/tracing-aws-lambda-functions-in-aws-x-ray-with-opentelemetry/

Monitoring with AWS Prometheus -

https://aws.amazon.com/prometheus/

Amazon Managed Service for Prometheus (AMP) - https://www.youtube.com/watch?v=hAnSqrL8Hfc

Also see Nana video for Prometheus

Amazon Managed Service for Grafana (AMG)

AWS Databases

  1. Amazon Keyspaces (for Apache Cassandra) - fully managed Cassandra, IOT, large volume of timeseries data

https://aws.amazon.com/keyspaces/

  1. AWS OpenSearch (Managed Elastic Search)

https://www.youtube.com/watch?v=nlt0lnn11ts&list=PLC1EA73D8914686E5

Analytics with AWS services - Kinesis, EMR, Athena, Redshift

https://aws.amazon.com/blogs/big-data/aws-serverless-data-analytics-pipeline-reference-architecture/

https://www.youtube.com/watch?v=wEOm6aiN4ww

Batch and Stream processing with AWS - https://aws.amazon.com/streaming-data/

AWS EMR

https://aws.amazon.com/emr/

AWS Kinesis

https://www.youtube.com/watch?v=07iZOEl0knc

https://docs.aws.amazon.com/kinesisanalytics/latest/dev/how-it-works.html

Kinesis Data Streams

Kinesis Video Streams - https://aws.amazon.com/kinesis/video-streams

Kinesis Data Firehose - https://aws.amazon.com/kinesis/data-firehose/

Kinesis Data Analytics - https://aws.amazon.com/kinesis/data-analytics/

https://www.saashub.com/compare-amazon-emr-vs-amazon-kinesis

https://aws.amazon.com/blogs/aws/process-streaming-data-with-kinesis-and-elastic-mapreduce/

https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-kinesis.html

AWS Redshift

https://aws.amazon.com/redshift/

Redshift Spectrum - https://docs.aws.amazon.com/redshift/latest/dg/c-getting-started-using-spectrum.html

AWS Athena

https://aws.amazon.com/athena

##AWS Glue - fully managed ETL (extract, transform, and load) service

https://docs.aws.amazon.com/glue/latest/dg/what-is-glue.html

AWS EventBridge - EventBridge (CloudWatch Events) helps you to respond to state changes in your AWS resources.

With EventBridge (CloudWatch Events), you can create rules that match selected events in the stream and route them to your AWS Lambda function to take action.

https://docs.aws.amazon.com/lambda/latest/dg/services-cloudwatchevents.html

Data Transfer

AWS Data pipeline- service that helps you reliably process and move data between different AWS compute and storage services. It makes it easy to schedule regular data movement and data processing activities in the AWS cloud.

https://aws.amazon.com/datapipeline/

https://aws.amazon.com/datapipeline/faqs/

AWS DataSync

AWS DataSync reduces the complexity and cost of online data transfer, making it simple to transfer datasets between on-premises storage systems and AWS Storage services, and between

https://aws.amazon.com/datasync/

https://aws.amazon.com/datasync/faqs/

Amazon AppFlow

https://aws.amazon.com/appflow/

Amazon Step function - to create workflows

https://aws.amazon.com/step-functions/

Amazon Athena - Serverless servic,e an interactive query service that makes it easy to analyze data in Amazon S3 using standard SQL

https://aws.amazon.com/athena/

DR in AWS

https://aws.amazon.com/blogs/architecture/disaster-recovery-dr-architecture-on-aws-part-i-strategies-for-recovery-in-the-cloud/

https://aws.amazon.com/blogs/architecture/disaster-recovery-dr-architecture-on-aws-part-iii-pilot-light-and-warm-standby/

https://aws.amazon.com/blogs/architecture/disaster-recovery-dr-architecture-on-aws-part-iv-multi-site-active-active/

https://aws.amazon.com/blogs/architecture/implementing-multi-region-disaster-recovery-using-event-driven-architecture/

https://docs.aws.amazon.com/whitepapers/latest/disaster-recovery-workloads-on-aws/disaster-recovery-workloads-on-aws.html

https://docs.aws.amazon.com/wellarchitected/latest/reliability-pillar/workload-architecture.html

https://docs.aws.amazon.com/wellarchitected/latest/reliability-pillar/welcome.html