A serverless architecture is a way to build and run applications and services without having to manage infrastructure. Serverless enables to build modern applications with increased agility and lower total cost of ownership. Applications are broken up into individual functions that can be invoked and scaled individually.
By using a serverless architecture, developers can focus on their core product instead of worrying about managing and operating servers or runtimes, either in the cloud or on-premises.
Aurora Serverless is an on-demand, auto-scaling configuration for Amazon Aurora, where the database will automatically start up, shut down & scale capacity up or down based on application’s needs. Users pay on a per-second basis for the database capacity they use when the database is active, and migrate between standard and serverless configurations with a few clicks in the Amazon RDS Management Console. It’s a simple, cost-effective option for infrequent, intermittent or unpredictable workloads.
With Aurora Serverless, users can create a database endpoint without specifying the DB instance class size. They set the minimum and maximum capacity. With Aurora Serverless, the database endpoint connects to a proxy fleet that routes the workload to a fleet of resources that are automatically scaled. Aurora Serverless introduces a new serverless DB engine mode for Aurora DB clusters. Non-Serverless DB clusters use the provisioned DB engine mode.
Aurora Serverless Benefits:
Simple to use
Instead of provisioning and managing database servers, user can specify Aurora capacity units (ACUs). Each ACU is a combination of processing and memory capacity. Database storage automatically scales from 10 GiB to 64 TiB, the same as storage in a standard Aurora DB cluster.
Aurora Serverless manages the warm pool of resources in an AWS Region to minimize scaling time. When Aurora Serverless adds new resources to the Aurora DB cluster, it uses the proxy fleet to switch active client connections to the new resources. At any specific time, users are only charged for the ACUs that are being actively used in their Aurora DB cluster.
Aurora Serverless scales up when capacity constraints are seen in CPU, connections or memory.
Aurora Serverless performs regular maintenance so that users DB cluster has the latest features, fixes & security updates. Aurora Serverless performs maintenance in a non-disruptive manner whenever possible. If long-running transactions are in progress, or temporary tables or table locks are in use, maintenance might cause actively used connections to drop momentarily.
Aurora Serverless Use-cases:
- Infrequently-Used Applications
- Variable Workloads
- Unpredictable Workloads
- Multitenant Applications
User can access an Aurora Serverless DB cluster from AWS Lambda. User can connect to Aurora Serverless clusters using the Transport Layer security /Secure Sockets Layer (TLS/SSL) protocol. Aurora Serverless supports TLS protocol version 1.0, 1.1, and 1.2. Each Aurora Serverless DB cluster requires two AWS PrivateLink endpoints. If users reach the limit for PrivateLink endpoints within their VPC, they can’t create any more Aurora Serverless clusters in that VPC.
Stay tuned for more info on Serverless Databases. Reach out to me for any query at email@example.com.