Serverless Storage & Containers

Serverless storage falls under the rubric of a relatively new technology known as serverless computing. Serverless computing doesn’t replace containers, any more than containers replaced virtual machines (VMs). They all have their use cases.

Containers are more lightweight and flexible than VMs. This is in part because containers lower their overhead by sharing operating systems and attendant resources, unlike VMs. They enable applications to be broken into constituent components, allowing software to be developed on a more granular level. A component of an application can be updated or modified without rewriting the entire app. Moreover, these microservices can be reused in other application stacks.

Serverless computing is event-driven code. It provides brief, simple functionality in an application stack such as acquiring data, performing a calculation, sending a notification, or triggering another event. After the code is executed, it stands down, making it ephemeral. You pay only when the function is executed and for nothing else. It’s a consumption-based model. You don’t incur costs for resources you may or may not need in the future.

Your service provider, often a cloud vendor, is responsible for maintaining the stack and its technologies; you’re responsible solely for extracting business value from the application, not all the traditional IT concerns. You gain elasticity and efficiencies that monolithic applications can’t come close to matching. You no longer must worry about capacity planning or the expense of over-provisioning.

Don’t be fooled by the name. There are servers underlying serverless computing. You simply don’t see them. Or manage them. Infrastructure is the headache of your service provider, which allows you to focus your time, attention, and resources on your business.

If serverless functions exist only long enough to execute their codes, where do persistent data reside? This is where serverless storage comes in. Like serverless computing, serverless storage means that users or the owners of the data don’t have to worry about buying, leasing, provisioning, operating or maintaining servers and network connections. The service provider does this. Owners can focus their time and resources on business-specific applications rather than the infrastructure underlying their data troves. All storage resources scale up or down, depending on your needs, and you pay only for what you use. Again, pay as you go.

We don’t live in a world where it’s either containers or serverless storage. They both have their strengths and weaknesses and can complement each other.

Use containers when you need functionality that endures beyond seconds or minutes. Don’t use serverless on persistent applications. Applications that incur a lot of usage time in a consumption pricing environment can quickly become more expensive than containerization. Because serverless storage is billed by usage, you never pay for idle capacity. The rapid adoption of serverless services will inevitably give rise to serverless application development. Applications then will be more cost-efficient and scalable to build and will provide enterprises with much greater agility.