Dispelling Common Serverless Misconceptions With Serverless Heroes
The constant shift in the tech landscape can make it hard to keep up with the best practices and introduce many misconceptions. As serverless architecture continues to gain attention, it sparks countless conversations, some with anticipation and others clouded by misconceptions.
To shed light on these myths, Jeevan Dongre, CEO of AntStack, sits down with a panel of experienced voices in the serverless space: Eric Johnson, Principal Developer Advocate at AWS; Shilpa Nagavara, Software Architect; Gunnar Grosch, Principal Developer Advocate at AWS; and Sheen Brisals, Senior Engineering Manager at LEGO.
Together, they debunk the misunderstandings and share their insights on how companies can fully leverage the potential of serverless architecture.
#Misconception 1: Serverless is a One-Size-Fits-All Solution
Serverless architecture is often misunderstood as a universal solution for every business operation, no matter the scenario. For instance, smartphones have simplified most of our everyday tasks, but when it comes to heavy-duty photography, we rely on professional cameras.
Reality:
Serverless can be a powerful tool, but it’s not always the right solution for every application.
Eric Johnson, a serverless advocate, addresses this issue: “A lot of times we get fanboys... who climb into an architectural choice like serverless and say, ‘This is what we do no matter what.’ But if you look at enterprises, your applications are built to evolve.”
Serverless is excellent for handling workloads with fluctuating demands, such as handling spikes in traffic, as it automatically scales up & down. However, as Eric points out: “If I'm running an application that is at peak all the time... then maybe a Lambda function doesn’t make sense.”
Before committing to serverless, you need to assess the businesses’ unique needs and workloads. Developers must be flexible and willing to evolve their architecture based on the unique needs of their application. Sometimes, this means choosing serverless containers or other solutions that better suit the specific workload.
#Misconception 2: Serverless Doesn’t Scale For Enterprise
Many users believe that serverless technology is only suitable for small-scale applications or startups, thinking it won’t scale as their business grows.
Reality:
Serverless architectures can scale effectively for large enterprises. But this requires a shift in architectural thinking. As Shilpa, a cloud architect, points out this belief stems from the misunderstanding of how serverless scales: “When you start with serverless, you’re used to having one account where all your services are running. But as your business expands, you start thinking about domain-driven design, adopt a multiple-account strategy, and shift from synchronous to asynchronous workflows.”
The key to scaling serverless lies in evolving your architecture.
For example, initially, a startup might rent a small office space (a single serverless function) to accommodate the team. As the team grows, they can expand into a larger co-working space (event-driven architecture) that allows multiple teams to work on different projects simultaneously without any heavy infrastructure management.
As businesses can scale their office space based on demand, serverless architecture can seamlessly scale to handle increasing workloads by adopting strategies like domain-driven design and multi-account setups.
#Misconception 3: Serverless or No Serverless: Its a Binary Choice
Organizations often assume they must choose between a fully serverless or non-serverless architecture.
Reality:
In practice, most applications exist between these two extremes. As Gunnar Grosch, a prominent serverless advocate, explains, “What I typically see with customers is that there is a spectrum. They have Lambda functions, they have service integrations, and they run a couple of instances for certain types of workloads.”
For example, a media streaming service might use serverless functions for handline user interactions (like uploading videos) while relying on traditional servers for heavy data processing tasks.
Gunnar also emphasizes that serverless should be the first choice where it makes sense, but not the only choice, “It’s not a binary choice. It’s about picking what suits that specific workload.”
#Misconception 4: Serverless is Always Cheaper
One key attraction of serverless is its promise of cost savings. Many organizations believe that it’s inherently cheaper than traditional architecture.
Reality:
While serverless can reduce costs by eliminating the need for infrastructure management, it doesn’t guarantee lower bills as applications scale. For example, when deciding whether to rent a car or buy one, renting (serverless) may seem cheaper at first because you avoid maintenance costs and only pay-per-use. But if you frequently drive long distances (high usage), the rental fees can add up quickly, leading to unexpected expenses.
As Sheen Brisals, a renowned cloud architect, highlights that this misunderstanding often leads to surprise billing, "People want to explore serverless because they’ve been told that it’s cheaper... but as you start growing your architecture, you lose sight of the cost. That’s when you get the surprise bill.”
Sheen stresses that there are hidden costs in non-serverless architecture as well, such as the engineering costs for managing infrastructure. In comparison, serverless may fluctuate in costs, but it simplifies scaling and operational management, often making it a better long-term solution.
“You trade off cost for convenience because you can quickly spin something up and bring value to the business.” Understanding the full picture - the gotchas - is crucial in deciding whether serverless is the right solution for your business.
#Misconception 5: Serverless Architecture is Complex
Developers often perceive serverless architecture as more complex and think it is going to add complexity.
Reality:
Serverless architecture diagrams with numerous components like Lambda functions, SQS queues, SNS topics, DynamoDB tables, and more appear complicated at first glance. Gunnar addresses this with, “A common misconception is that [serverless] is more complex. But what that doesn’t show are all of the moving pieces within that autoscaling group. It’s still the same pieces, probably; it’s just that it’s hidden.”
In serverless, each piece is more visible, giving developers a clear view of how every component interacts. While it may look complex, traditional architectures often hide similar complexities beneath layers of infrastructure.
Eric also shares his thoughts saying, “Instead of making it more complex, we’ve highlighted what’s going on, we’ve shown how it’s routing around.”
The misconception stems from the visual representation of serverless architecture rather than the actual architectural intricacies. Both serverless and traditional models have their complexities; serverless simply makes them more apparent.
Serverless Misconceptions: Key Takeaways
- Flexibility is Key: Serverless architecture can effortlessly scale with business growth by adopting strategies like event-driven design and multi-account setups
- Evolving Architecture: As workloads increase, evolving your business architecture is key to managing complexity and performance
- Choosing the Best Fit: Organizations don’t have to choose between fully serverless or traditional architectures; hybrid models are common
- Hidden Costs Matter: While serverless can reduce infrastructure management costs, organizations must consider hidden operational costs and usage patterns
- Management Transparency: Serverless architectures may appear to be complex due to their visible components, but transparency can lead to better management of applications
Get the complete picture! Dive into our full panel discussion and learn how to leverage serverless architecture for your organization strategically.