DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
Please enter at least three characters to search
Refcards Trend Reports
Events Video Library
Refcards
Trend Reports

Events

View Events Video Library

Zones

Culture and Methodologies Agile Career Development Methodologies Team Management
Data Engineering AI/ML Big Data Data Databases IoT
Software Design and Architecture Cloud Architecture Containers Integration Microservices Performance Security
Coding Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Culture and Methodologies
Agile Career Development Methodologies Team Management
Data Engineering
AI/ML Big Data Data Databases IoT
Software Design and Architecture
Cloud Architecture Containers Integration Microservices Performance Security
Coding
Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance
Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks

Last call! Secure your stack and shape the future! Help dev teams across the globe navigate their software supply chain security challenges.

Modernize your data layer. Learn how to design cloud-native database architectures to meet the evolving demands of AI and GenAI workloads.

Releasing software shouldn't be stressful or risky. Learn how to leverage progressive delivery techniques to ensure safer deployments.

Avoid machine learning mistakes and boost model performance! Discover key ML patterns, anti-patterns, data strategies, and more.

Related

  • Medallion Architecture: Why You Need It and How To Implement It With ClickHouse
  • It’s Not About Control — It’s About Collaboration Between Architecture and Security
  • Emerging Data Architectures: The Future of Data Management
  • Beyond Microservices: The Emerging Post-Monolith Architecture for 2025

Trending

  • DZone's Article Submission Guidelines
  • Docker Base Images Demystified: A Practical Guide
  • How Large Tech Companies Architect Resilient Systems for Millions of Users
  • Medallion Architecture: Why You Need It and How To Implement It With ClickHouse
  1. DZone
  2. Software Design and Architecture
  3. Microservices
  4. The Drawbacks of Serverless Architecture

The Drawbacks of Serverless Architecture

Serverless architecture brings plenty of advantages, but it's not right for everything. Not only are you locked into a vendor, your integration testing becomes tougher.

By 
Rohit Akiwatkar user avatar
Rohit Akiwatkar
·
May. 15, 17 · Opinion
Likes (8)
Comment
Save
Tweet
Share
36.1K Views

Join the DZone community and get the full member experience.

Join For Free

serverless architectures refer to applications that significantly depend on third-party services (knows as backend as a service or “baas”) or on custom code that’s run in ephemeral containers (function as a service or “faas”), the best-known vendor host of which currently is aws lambda.

despite the name, it does not actually involve running code without servers. the name “serverless computing” is used because the business or person that owns the system does not have to purchase, rent, or provision servers or virtual machines for the back-end code to run on.

a serverless solution explained in the blog "the comprehensive guide to serverless architecture" consists of an api gateway, faas layer (aws lambda), object storage (s3), user authentication, and database.

serverless app
















the serverless code can be used in conjunction with code written in traditional server style, such as microservices. for example, part of a web application could be written as microservices and another part could be written as a serverless code. alternatively, an application could be written that uses no provisioned servers at all, being completely serverless.

faas provides a platform allowing the developers to execute code in response to events without the complexity of building and maintaining the infrastructure. the third-party apps or services would manage the server-side logic and state.

drawbacks of serverless computing

1. problems due to third-party api systems

vendor control, multitenancy problems, vendor lock-in, and security concerns are some of the problems due to the use of third-party apis. giving up system control while implementing apis can lead to system downtime, forced api upgrades, loss of functionality, unexpected limits, and cost changes. the multitenancy problem is also seen in other cloud computing frameworks. salesforce (paas) imposes governor limits due to its multitenant cloud structure and developers have to avoid some mistakes while using salesforce. multitenant solutions can have problems with security, robustness, and performance.

2. lack of operational tools

the developers are dependent on vendors for debugging and monitoring tools. debugging distributed systems is difficult and usually requires access to a significant amount of relevant metrics to identify the root cause.

3. architectural complexity

decisions about how small (granular) the function should be, takes time to assess, implement and test. there should be a balance between the number of functions should an application call. it gets cumbersome to manage too many functions, and ignoring granularity will end up creating mini-monoliths.

aws lambda, for now, limits you to how many concurrent executions you can be running of all your lambdas. the problem here is that this limit is across your whole aws account. some organizations use the same aws account for both production and testing. that means if someone, somewhere in your organization does a new type of load test and starts trying to execute 1,000 concurrent lambda functions, you’ll accidentally denial of service (dos) your production applications.

4. implementation drawbacks

integration testing of serverless apps is tough. the units of integration with serverless faas (i.e. each function) are a lot smaller than with other architectures and therefore we rely on integration testing a lot more than we may do with other architectural styles. problems related to deployment, versioning, and packaging also exist. you may need to deploy a faas artifact separately for every function in your entire logical application. it also means you can’t atomically deploy a group of functions and there’s no concept of versioned applications so atomic rollback isn’t an option. you may need to turn off whatever event source is triggering the functions, deploy the whole group, and then turn the event source back on.

Architecture

Opinions expressed by DZone contributors are their own.

Related

  • Medallion Architecture: Why You Need It and How To Implement It With ClickHouse
  • It’s Not About Control — It’s About Collaboration Between Architecture and Security
  • Emerging Data Architectures: The Future of Data Management
  • Beyond Microservices: The Emerging Post-Monolith Architecture for 2025

Partner Resources

×

Comments
Oops! Something Went Wrong

The likes didn't load as expected. Please refresh the page and try again.

ABOUT US

  • About DZone
  • Support and feedback
  • Community research
  • Sitemap

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Core Program
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 3343 Perimeter Hill Drive
  • Suite 100
  • Nashville, TN 37211
  • support@dzone.com

Let's be friends:

Likes
There are no likes...yet! 👀
Be the first to like this post!
It looks like you're not logged in.
Sign in to see who liked this post!