AWS - tarunchhabra/parakalo GitHub Wiki
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/
- 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.
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/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://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
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/
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
- Amazon Keyspaces (for Apache Cassandra) - fully managed Cassandra, IOT, large volume of timeseries data
https://aws.amazon.com/keyspaces/
- 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
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
##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://docs.aws.amazon.com/wellarchitected/latest/reliability-pillar/workload-architecture.html
https://docs.aws.amazon.com/wellarchitected/latest/reliability-pillar/welcome.html