Don’t deploy these applications on serverless

The CTO General
3 min readOct 4, 2024

--

Frustration

Hey, it’s me again!

I wanted to share something I recently went through that I think might help you avoid the same trouble.

Late last month, I had to delay a project for a client because I ran into issues with the deployment. It was frustrating, especially since this wasn’t my first time deploying web applications, so it felt really unexpected.

For about four days, I struggled to get this particular application up and running. Yes, it took me that long to figure out what the problem was.

The issue? I didn’t realize that not every application works well with serverless platforms. I had no idea what types of applications are best suited for serverless environments — until now.

I noticed that not many content creators and writers talk about this, so I thought I’d share my experience. Hopefully, it helps you avoid the same headaches.

I’m going to walk you through a few types of applications that shouldn’t be deployed on serverless platforms. Ready?

First up… Drumroll, please… 🎶

What is serverless?

I’m sure you’ve heard the term “serverless” tossed around in the tech world so many times that you’ve probably lost count (I know I have!). But what exactly is serverless?

In simple terms, serverless computing is a cloud computing model where the cloud provider manages the infrastructure, including the servers, so you don’t have to.

According to Wikipedia, it’s a cloud computing execution model in which the cloud provider allocates machine resources on demand, taking care of the servers on behalf of their customers.

The key here is on-demand. Serverless offers you everything you need to run your applications without worrying about server management. However, because you don’t have full control over the servers, there are certain limitations. As a result, not every application is a good fit for serverless deployment.

Applications you should not deploy on serverless

The main idea behind serverless is, well, that you don’t have to think about the server at all. While that sounds amazing most of the time, it can become a problem when your application needs tight integration with the underlying hardware — like disk management.

If your application falls into certain categories, using a serverless architecture might not be the best option for you.

1. Applications with Long-Running Processes

This is where my application ran into trouble. I had a process that required the application to stay continuously connected to the database, and this became a major challenge. If your application relies on long-running tasks, serverless might introduce significant limitations, as it isn’t designed for continuous operations.

2. Applications with Consistent High Load

Running serverless can get expensive, especially for applications with an unpredictable, high workload. In these cases, a traditional server-based solution might be more cost-effective because it allows for more efficient resource management over time.

3. Applications Needing Robust Monitoring and Security

Serverless architectures make it harder to monitor servers effectively due to their distributed nature and lack of direct access to the underlying infrastructure. If your application requires detailed monitoring or advanced security measures, serverless might not offer the transparency and control you need.

4. Applications with High Memory or CPU Requirements

Serverless platforms don’t always scale seamlessly, especially when it comes to high-demand applications. If your app has complex or resource-intensive tasks, performance can suffer. This can be especially frustrating for apps with large memory or CPU requirements. This leads me to my last point.

5. Applications with Complex Functionality

When your application has complex or robust functionality, serverless may need more resources to meet its needs, leading to performance issues. The flexibility and control required for complex applications often exceed what serverless platforms offer.

As a software engineer, it’s important to be aware of these limitations to avoid running into the same issues. Make sure you evaluate your app’s needs before choosing a serverless solution.

And if you found this helpful, don’t forget to subscribe so you won’t miss out on more insights like this

See you on the next time!!!

--

--

The CTO General
The CTO General

No responses yet