Helder Almeida - Fotolia
What serverless storage options are available?
Cloud database services, object storage services and application memory cache are among the options available for storage in serverless environments.
Contrary to the name, serverless doesn't mean there's no traditional infrastructure behind a service. Rather, it means enterprises can call up well-orchestrated functions that don't appear to consume such resources. There must be some data store underneath all of this, however, even if it's not immediately obvious what it is.
What follows is a discussion of three serverless storage options that can be used in conjunction with serverless computing.
Cloud database services
Serverless technology is most often associated with public cloud, making public cloud database services a natural storage target for serverless functions. Cloud database services provide a high level of scalability and, in most cases, ensure data is protected via distributed fault tolerance.
Let's take Amazon Aurora Serverless as an example. Amazon indicates Aurora Serverless is "built on distributed, fault-tolerant, self-healing Aurora storage with six-way replication to protect against data loss."
With MySQL and PostgreSQL compatible options, it becomes clear that Aurora Serverless has a full serverless storage layer underneath it. You could also opt for serverless using Amazon DynamoDB, a serverless NoSQL database.
On the Azure front, Microsoft provides storage options that include Azure Storage, as well as Azure Cosmos DB.
Object storage services
As a capability that uses a lot of what drives people to consider cloud, it should come as no surprise that object storage, such as Amazon S3 and Azure Blob, is simple and ideal for web-scale applications. This storage is relatively inexpensive, standardized and highly scalable when used for serverless storage.
Object storage, with its associated metadata, is a good approach when you have a lot of consistent data to deal with.
Application memory cache
Sometimes, you need a serverless storage environment that isn't as permanent as persistent storage services. That's where application memory caching tools such as Redis come in. Redis and serverless technologies were made for one another. Serverless enables you to execute a bunch of functions without worry about the underlying infrastructure. Redis is an in-memory key-value store that, as the name implies, eschews traditional persistent storage in favor of an in-memory approach that can address high-performance application needs -- although it can support writing data sets to disk to enable a higher level of availability.
In-memory storage for serverless functions enables high throughput with low latency, making it an ideal choice for modern and distributed applications.