Completely serverless architecture using AWS services. Part 1
Published: 2024-02-20 23:11:40

Introduction:
Despite its name, serverless does not mean a serverless existence. Rather, it indicates a 
change in responsibility: developers no longer need to manage, provision, or view the 
underlying servers. This allows them to focus on creating efficient code without the distractions 
of server complexities.

By entering serverless computing services, where developers can be freed from server 
management.


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5hjjd5lu06v1auhcthty.png)

Serverless means serverless, it is a solution that allows you to create and run applications 
quickly and with a lower total cost of ownership, since it is not necessary to provision and 
manage infrastructure.

Of course, behind it there are servers to run the applications, but the cloud provider is 
in charge of the administration, therefore, on our side we stop worrying about managing 
servers, operating systems, software and other resources, and we only focus on the 
application code.

Key Services and Features:
Serverless means serverless, it is a solution that allows you to create and run applications 
quickly and with a lower total cost of ownership, since it is not necessary to provision and 
manage infrastructure.
Let's explore the key services and features of this AWS architecture:

1-AWS Lambda:
AWS Lambda, a pioneer in serverless computing, introduces virtual functions that 
eliminate the need for manual server management. Focusing on
For short executions, Lambda operates on demand, ensuring efficient resource 
utilization. Its automated scaling feature adapts perfectly to different workloads, ensuring 
optimal performance. Lambda is integrated with many programming languages 
and a full set of AWS services and can be easily monitored through AWS cloudwatch. 
AWS Lambda serves as an ideal solution to run our cloud-native API code 
efficiently while maintaining minimal costs.

2-Aurora Serverless:
A powerhouse in the cloud database space, Aurora fully supports Postgres and 
MySQL. Positioned as “optimized for the AWS cloud,” Aurora boasts a notable 5x 
performance improvement over MySQL on RDS and over 3x the performance over Postgres 
on RDS. Offering up to 15 replicas with a faster replication process than MySQL. With instant 
failover, it is inherently designed for High Availability (HA), although it has a slightly 
higher cost than RDS (20% more), its efficiency and performance make it a compelling 
option for storing our API structured data.

3-Amazon Simple Storage Service (S3):
S3 is one of the most popular offerings from AWS. S3 is a highly available, durable objectbased storage service. S3 allows objects (files) to be stored in buckets with a globally 
unique name. In this case, we use S3 to store the API binary image data (JPEG, JPG, PNG).

4-API Gateway:
AWS Lambda together with API Gateway presents a hassle-free solution with no 
infrastructure management. API Gateway not only supports HTTP and REST protocols 
but also WebSocket protocol and also skillfully handles API version control (such as v1, 
v2) and various environments (development, test, production). API Gateway also covers 
authentication and authorization, along with the ability to create API keys and manage 
request throttling. In addition, it excels in transforming and validating requests and 
responses, allowing the generation of SDKs and API specifications. With the added 
ability to cache API responses, API Gateway offers a comprehensive and efficient 
ecosystem for developing and managing APIs.

5-Benefits
AWS Serverless offers significant benefits in terms of scalability, agility, and reduced operating 
costs. However, it is essential to perform a detailed cost-benefit analysis specific to 
your particular use case and business model. This will allow you to make informed 
decisions about adopting AWS Serverless and ensure that your applications are 
economically efficient, including providing an efficient, scalable, and cost-effective way to 
develop and run applications in the cloud.

These benefits can help organizations optimize their operations, accelerate application 
development, and improve the availability and security of their systems.

6-Spectrum of serverless services.
Developers using a serverless architecture don't have to worry about policies for extending their code. The 
serverless provider handles all on-demand scaling. As a result, a serverless application will be able to handle an 
unusually high number of requests as well as it can process a single request from a single user. A 
traditionally structured application with a fixed amount of server space can be overwhelmed by a sudden increase 
in usage.

7-What we can do with Serverless

AWS Serverless offers a wide range of services and capabilities that allow you to build 
applications without worrying about server management. Here are some of the things you can 
do with AWS Serverless:

-Data Stream.
-Chatbots and Virtual Assistants.
-Task Automation.
-Data Processing.
-Automatic Scalability.

Within AWS, Serverless services are highly flexible and allow you to use a combination of services to meet specific needs.
Additionally, you only pay for the amount of resources you actually use, which can result in lower costs compared to traditional server provisioning.

This is a little tour of some AWS serverless services, feel free to comment.
Luis Enrique Aguilar.