Serverless SWOT analysis

Building a serverless application means you usually trade in old issues for new ones. This is an attempt to create a decision framework and break down arguments for and against using serverless vs. other computing models.

If you ever find yourself deciding for or against serverless the following tries to make the decision easier for you. Maybe you should save this post for future reference if you find it useful. Or don’t, it’s up to you. No seriously, save it.

This is also an open document which I will keep improving in the future. Edits are welcome!

Strengths

  1. Faster time to market – The real benefit of serverless is that developers only focus on the business logic and that drastically increases development speed and time to market.
  2. Scalability – If you follow the right architectural patterns, serverless is very scalable.
  3. Cost effectiveness – In most cases, serverless is cheaper than other computing models although exceptions apply for some forms of compute heavy data processing/background jobs.

Weaknesses

  1. Troubleshooting and testing – It’s difficult to test locally and it’s difficult to navigate debugging data. You can set up a local environment for testing but it will take a lot of effort. Dashbird is good for observing and debugging production architectures.
  2. Learning curve – New patterns and tooling can take a while to learn and adopt.
  3. Developer onboarding – Bigger learning curve for new developers mid-project.

Opportunities

  1. Observable by default – All serverless architectures are observable by default. Keep in mind that it does not mean you’ll get any visibility, it just means that most of the data necessary to understand your service is actually available in AWS through:
  • APIs (CloudFormation, Lambda, API Gateway)
  • Logs (CloudWatch and CloudTrail)
  • Metrics (CloudWatch)

Services like Dashbird structure and visualize that information to make it navigable and simplify troubleshooting.

  1. SAML and other services – If done well, you can get large parts of your service just by using available Lambda functions and services for auth etc.
  2. Hype – Developers are excited to work with new technologies, meaning that they are less likely to quit and it’s easier to hire.

Threats

  1. Performance issues and latency – Poorly constructed architectures, cold starts and database connections running out.
  2. Lock in – Hard to migrate to Docker containers later if for some reason that’s necessary.
  3. Security – Bigger surface area for loopholes and higher complexity for security audits.

Conclusion

As you can see there are significant upsides and downsides, but if you make sure to structure your software right, the benefits greatly outweigh the downsides!

If you have any feedback, the comment section is all yours. I’d love to hear what you have to say. I will be updating this analysis regularly.


We aim to improve Dashbird every day and user feedback is extremely important for that, so please let us know if you have any feedback about these improvements and new features! We would really appreciate it!

Read our blog

ANNOUNCEMENT: new pricing and the end of free tier

Today we are announcing a new, updated pricing model and the end of free tier for Dashbird.

4 Tips for AWS Lambda Performance Optimization

In this article, we’re covering 4 tips for AWS Lambda optimization for production. Covering error handling, memory provisioning, monitoring, performance, and more.

AWS Lambda Free Tier: Where Are The Limits?

In this article we’ll go through the ins and outs of AWS Lambda pricing model, how it works, what additional charges you might be looking at and what’s in the fine print.

Made by developers for developers

Dashbird was born out of our own need for an enhanced serverless debugging and monitoring tool, and we take pride in being developers.

What our customers say

Dashbird gives us a simple and easy to use tool to have peace of mind and know that all of our Serverless functions are running correctly. We are instantly aware now if there’s a problem. We love the fact that we have enough information in the Slack notification itself to take appropriate action immediately and know exactly where the issue occurred.

Thanks to Dashbird the time to discover the occurrence of an issue reduced from 2-4 hours to a matter of seconds or minutes. It also means that hundreds of dollars are saved every month.

Great onboarding: it takes just a couple of minutes to connect an AWS account to an organization in Dashbird. The UI is clean and gives a good overview of what is happening with the Lambdas and API Gateways in the account.

I mean, it is just extremely time-saving. It’s so efficient! I don’t think it’s an exaggeration or dramatic to say that Dashbird has been a lifesaver for us.

Dashbird provides an easier interface to monitor and debug problems with our Lambdas. Relevant logs are simple to find and view. Dashbird’s support has been good, and they take product suggestions with grace.

Great UI. Easy to navigate through CloudWatch logs. Simple setup.

Dashbird helped us refine the size of our Lambdas, resulting in significantly reduced costs. We have Dashbird alert us in seconds via email when any of our functions behaves abnormally. Their app immediately makes the cause and severity of errors obvious.