Saturday, January 21, 2023

AWS Core Building Blocks for all Applications (Services)

 AWS Core Building Blocks for all Applications

AWS offers a wide range of services and it’s increasing from year to year. Nevertheless, there are core services that are important for the majority of applications. 
we want to focus on  core building blocks. Before we jump into each service’s details, let's quickly go over each of them. Each of them is part of a specific area or cluster due to its features and responsibility. 

  • AWS Identity and Access Management (IAM) 
is an overarching, central service that is part of every application you’ll ever build and the glue that keeps everything together. It can be seen as a part of every service. For running applications or any workload:

  •  EC2: 
Amazon Elastic Compute Cloud provides resizable compute capacity in the cloud. Instead of running your own servers in a data center, you get virtualized machines. It’s only the first abstraction layer but offers the greatest flexibility.

  •  ECS:

Amazon Elastic Container Service is a fully managed service for running Docker containers. It requires even fewer operations than EC2 and simplifies the process of deploying and scaling applications.

  •  Lambda: 

AWS Lambda allows you to run code without provisioning or managing servers. It’s the largest abstraction, as you’re not responsible for any infrastructure. Everything is managed by AWS in the background. You’ll also only pay for the time when your code actually executes. 

For storing data of any kind: 

  • RDS: 

Amazon Relational Database Service is a managed service for running relational databases. It’s one of the most mature database services out there.

  •  DynamoDB: 

Amazon DynamoDB is a fast, fully managed NoSQL database service. It’s one of AWS's flagship services that scale on-demand to almost any requirement. 

  • S3: 

Amazon Simple Storage Service is an object storage service that offers industry-leading scalability, data availability, security, and performance. It’s a part of almost every application and is used for storing and retrieving any amount of data at any time. 

Connecting components and building resilient, event-driven architectures:

  • SQS:

 Amazon Simple Queue Service is a fully managed message queuing service. It enables you to decouple and scale microservices, distributed systems, and serverless applications.

  • SNS:
 
Amazon Simple Notification Service is a fully managed pub/sub messaging service. It allows you to send messages to a large number of subscribers.

  •  EventBridge: 

AWS EventBridge is a Serverless event bus that makes it easy to connect applications together. It allows applications to share data and events without creating dependencies.

Securely running and exposing your applications to the internet:

  • API Gateway:

 Amazon API Gateway is a fully managed service that makes it easy to create, publish, maintain, monitor, and secure APIs. It’s not a simple HTTP mediator but offers advanced features like request validation and data transformations without writing boilerplate code. 

  • Route 53: 

Amazon Route 53 is a highly available and scalable cloud Domain Name System web service. It enables you to build multi-region architectures with low latencies and automatic failovers in case of incidents. 

  • VPC: 

Amazon Virtual Private Cloud enables the provisioning of a logically-isolated section of the AWS Cloud. It enables you to separate and secure resources on the network level.

Building and delivering your applications in a reliable way: 

  • CodeBuild & CodePipeline: 

CodeBuild and CodePipeline are continuous delivery services for creating reliable, reproducible build automations and deployments. 

Observing your infrastructure and applications:  

  • CloudWatch 

Amazon CloudWatch is a monitoring service for AWS resources and the applications you run on AWS. It’s integrated with almost any service and automatically collects metrics about usage and performance.

No comments: