Serverless architecture revolutionizes traditional computing paradigms by removing the burden of server maintenance, OS patching, and scaling. This approach not only streamlines operations but also offers cost savings, particularly in scenarios necessitating resource allocation triggered by specific events.
In this article, we delve into the spectrum of storage, compute, database, and other serverless services provided by AWS, examining how these offerings empower developers to build scalable and resilient applications without the overhead of managing infrastructure.
Simple Storage Service (S3)
S3 stores data as objects within buckets, akin to files in folders. It boasts high scalability, automatically adjusting as data is added or removed. Access to data stored in S3 is available over the internet using HTTP. With unlimited storage and support for individual object sizes up to 5TB, S3 is optimal for housing vast amounts of data like images, videos, and backups. Its array of storage classes enhances cost-effectiveness for prolonged data storage. Additionally, S3 ensures remarkable durability with a rating of 99.99999999 (11 9’s), making it ideal for storing critical data.
Amazon DynamoDB
DynamoDB is a fully managed, serverless non-relational (NoSQL) database service offered by AWS. It provides flexibility in storing the data in document or key value format. DynamoDB is suitable for workloads that require querying large datasets with low latency. It supports creating a global table, making it suitable for applications that have a global customer base. Additionally, data stored in DynamoDB can be automatically backed up for a retention period of up to 35 days.
Lambda
Lambda proves invaluable for scenarios demanding swift scaling of compute resources in response to specific events. Moreover, Lambda functions execute for a maximum duration of 15 minutes once triggered, catering to sporadic resource needs like batch processing, data transformation, and data analysis. Users are exclusively billed for the compute time consumed within Lambda, enhancing cost efficiency.
Simple Query Service (SQS)
SQS, a fully managed service provided by AWS, facilitates the creation of distributed queues for messaging across various entities in microservices, distributed systems, and serverless applications. It ensures message delivery by storing messages for up to a maximum of 14 days until the receiver is ready to process them. Messages are retrieved from the queue by receivers through pulling. Users benefit from SQS's fully managed nature, eliminating the need to manage servers, patching, scaling, and capacity planning.
Additionally, SQS seamlessly integrates with other AWS services like Lambda, DynamoDB, RDS, ECS, and Redshift, enhancing its versatility and compatibility within the AWS ecosystem.
Simple Notification Service (SNS)
SNS is a managed push notification service for sending notifications to applications and persons in distributed systems. Receiver subscribes to a topic to receive notification from the producers. Notifications are pushed to the consumers when the producer publishes it to a topic. If the consumer is not available at the time when the message is pushed, then the message is lost unlike SQS. Notifications can be delivered to AWS services such as Amazon SQS, AWS Lambda, Amazon Data Firehose and to persons using HTTP, Email and SMS.
Comments
Post a Comment