As businesses continue to migrate their applications to the cloud, serverless computing has emerged as a popular cloud computing model. It enables businesses to focus on building and deploying applications quickly without worrying about infrastructure management.
Serverless computing is the creation and management of your IT services without physical servers. The term ‘serverless’ isn’t technically correct. It means you’re running a function or program on demand, on a server that’s hidden from you and over which you have no control. You pay for your function or program each time it runs, and the provider runs it on their computer infrastructure. The provider manages the servers on your behalf (for a fee). These servers automatically adjust depending on your demand at any given moment.
This brings certain advantages, such as scalability and reduced maintenance costs, and is one of the main reasons for serverless computing’s growing popularity. But, it’s not the be-all and end-all.
This page explores a few of the problems serverless computing doesn’t solve and why they’re crucial to consider before you take the plunge.
What is serverless computing?
Serverless computing is a cloud computing model in which a cloud provider manages the infrastructure and automatically allocates computing resources as needed to execute and scale applications.
In a serverless architecture, the cloud provider is responsible for managing the servers, infrastructure and operating systems, allowing developers to focus on writing code and building applications without worrying about server management. Applications are broken down into smaller functions or services that can be executed independently.
These functions are triggered by events, such as a user request or a change in data, and the cloud provider automatically provisions the required computing resources to execute the function. This allows for a pay-per-use model, where users pay for only the computing resources used during the execution of the function.
Serverless computing offers several advantages, including cost savings, scalability and reduced operational overhead.
Developers can focus on building and deploying applications quickly without worrying about infrastructure management, and organisations can benefit from reduced costs and increased agility.
However, there are drawbacks, including:
🎮
Limited control
With serverless computing, you aren’t in control. The provider’s servers are split between their thousands (or millions) of customers, with preference inevitably given to those on higher-paying subscriptions.
How much demand do you need from the servers at any moment? That will, of course, constantly vary. But you can’t insist on anything unless you’re a high-paying customer. The provider always allocates processes as required and according to their algorithms.
Control is also limited in that while you can free up your own server space, you can’t do the same for the data of all those other companies.
As such, you might run into problems you can’t do anything about.
🚪
Vendor lock-in
Vendor lock-in is one of the ways many serverless computing providers make money. In essence, it’s the idea that switching to a different provider or network application is so unfeasible that there’s no point even trying.
Usually, the deciding factor is cost. Starting building your solution from scratch, and then repeating the whole process again with someone else makes changing vendors highly unattractive, especially for small businesses. This is the real showstopper for shifting between vendors.
If you’ve built a solution using a series of different serverless functions then moving to another vendor needs to be done all at once for all those functions, which will be expensive and time consuming.
This is why a pre-emptive investigation into serverless computing is vital. It might work for your needs, and if so, great. But if it doesn’t, you should avoid it, or you might find yourself locked into a situation with no escape.
🧊
Cold starts
Cold starts are when functions that haven’t been used for a while take a long time to complete. This can happen with scalable serverless computing, such as Microsoft Azure’s Function Consumption plan.
In short, the server runs the code. Since this code is low-priority, having not been needed for a while, it takes some time to find it in the server, load it into the memory and execute it. This is known as application latency.
Cold starts can significantly impact performance, slowing your processes and causing system delays. The physical delay is only a few seconds (max), but the servers have to comb through themselves and reorganise (and inevitably do it again and again).
If the application isn’t time sensitive this might not be a problem, but if this will leave the user sitting in front of a screen wondering what has gone wrong then its worth thinking again about whether serverless is the right solution.
There are several ways to mitigate cold starts, including logging performance indicators, choosing system speed upgrades and keeping a pool of pre-warmed functions.
🔐
Security concerns
Several security concerns are associated with serverless computing. Some of the most troublesome are function event data injections and access privilege escalation.
The former occur when an event containing malicious data is able to be injected in to the event queue or code can injected into the function by some means. If there’s a way for someone to gain manipulate the way the function functions, they’ll find a way.
With access privileges escalation, certain individuals with access to the function escalate their privilege to gain access to the whole function configuration or even the underlying server hosting the function, granting access to all sorts of data that should otherwise be private. The worst scenario is when the only access the user has is the intended access (as a “standard” user) and they are able to escalate to control the function or underlying server.
You can make your serverless computing environment more secure by encrypting data and ensuring access credentials are required for all sensitive information. You should also develop an incident plan detailing how you will respond to a security breach and implement security logging.
Is serverless really cost effective?
There’s a sweet spot where serverless solutions can be more cost-effective than using a dedicated server. This is typically the case when the execution cost per month of a serverless function is less than the rental cost of a virtual server to perform the same function. In this scenario, the serverless solution is more cost-effective because it eliminates the need for ongoing server maintenance costs and allows organisations to pay for only the resources they use.
However, beyond this point, the cost-effectiveness of serverless solutions can start to decline. This is because serverless solutions typically charge for every function invocation, which means that if a function is called frequently or is resource-intensive, the cost of running it on a serverless platform can quickly add up.
Therefore, when deciding whether to use a serverless solution or a dedicated server, you need to consider their usage patterns and workload requirements. For workloads with low to moderate usage and intermittent demand, serverless solutions can be a cost-effective choice. However, for workloads with high or consistent demand, a dedicated server may be more cost-effective in the long run.
How can AMDH help?
Serverless computing does provide solutions for some businesses – no doubt. But it’s not fool-proof by any means, despite what many providers will tell you.
Here at AMDH Services, we strongly encourage you to carefully consider and evaluate what serverless computing means for your organisation and assess each usage for suitability before adopting it. This might save you an awful lot of time, money and stress in the long run.
If you find yourself wanting out of serverless computing, there are ways (although there’s no getting around the cost implications). Again, the most critical part of this process is developing a comprehensive plan.
Do you need help deciding whether to go serverless or cloud-based? We can help. Our IT expert consultants will meet you to develop and apply a strategy to your SME, charity or public sector organisation. We’re based in the East Midlands, ideally situated to reach out through the middle of the country.
For a commitment-free, friendly chat, why not reach out to us through the form below? We’ll get back to you as soon as possible.


