Serverless computing is a hot topic in cloud computing, and one with an incredibly misleading name. A serverless computing environment still uses servers, but there’s a layer of abstraction in-between that differentiates it from other environments. The servers in a serverless infrastructure are entirely managed by a cloud service provider (CSP), meaning developers and clients don’t have to worry about them.
Puzzling name aside, more and more companies are adopting serverless architectures. For them, the convenience of not having to maintain a server is too much to pass up. Users can focus on writing and running code instead of keeping a server operational. This might seem like an attractive system to implement – and, well, that’s because it is. However, serverless computing comes with a few caveats that should not be ignored. Below, we’ve listed some of the pros and cons of serverless architectures to help you evaluate whether serverless is right for you.
PRO: Shorter deployment time
When you deploy an application using your own servers and infrastructure, it can take a long time to get it out to market. CSPs that offer serverless computing can quickly distribute applications without having to worry about hosting the application on your own equipment.
CON: Less management control
Since your CSP manages your server, they’re responsible for keeping it operational. This means that if the server becomes nonoperational for whatever reason, you can’t go out and fix it yourself. You’ll have to wait until the CSP can address the issue. This could reduce the amount of work you’re able to get done.
PRO: Automatic scalability
CSPs can automatically scale your server space based on what you require for data storage. You don’t have to worry about expanding or shrinking your storage capabilities as you develop more applications – your CSP will do that for you. Serverless architectures are elastic, meaning the CSP will scale up and down seamlessly.
If the CSP introduces potentially dangerous software into the server, that could mean trouble for your applications. Even if your applications are contained in VMs or containers, they can still be exposed to external security threats. Be mindful if your CSP supports multitenancy, or letting multiple users host data on the same server. Those other users may also pose a security risk if they run dangerous code.
PRO: Flexible pricing
Most serverless solutions utilize a pay-as-you-use model that charges you based on the amount of data you need to store. Rather than paying a flat fee for a specific level of storage, CSPs tailor the price to accommodate your needs. Depending on the circumstances, this can lead to significant savings in the long-run.
CON: Vendor lock-in
Relying on a CSP to run your server increases the possibility you’ll fall into vendor lock-in. Serverless providers may require you to run additional software in order for your applications to be compatible. While function-as-a-service (FaaS) providers eliminate part of your workflow, they might force you into additional resources you don’t necessarily need.
Serverless architectures certainly come with a lot of benefits, but they also have a lot of disadvantages. Because the idea is still fairly fresh, it’s important to weigh both the good and the bad. It may seem convenient, but serverless computing is not a perfect solution. The best way to approach researching a serverless architecture is knowing what every CSP offers and how it will affect your company’s workflow.
Check us out on Twitter for the latest in Cloud news and developments!