The Threats and Opportunities of Going Serverless

Abstraction is a developer’s dreamland, where no one needs to work through the art of IT Ops processes such as infrastructure resource planning and management throughout the application lifecycle. Fortunately, AWS came up with an answer in 2014 by introducing the Lambda compute service that transformed the way backend infrastructure is managed in response to changing in-app events and code execution processes.

Instead of defining, planning, provisioning and managing the underlying infrastructure to execute app requests, Lambda lets developers upload their code to AWS and automatically takes care of the infrastructure management processes. The resources are provisioned only in response to the app execution requests and terminated when the request is served – and users are typically charged for the compute time consumed or the number of compute requests.

In simple terms, developers write the application logic without thinking about the servers – hence the serverless architecture. On the surface, serverless computing drastically reduces the cost, complexity and efforts in managing applications. Developers can work to write the best software products, focus on innovation and improve time to market. At the same time, going serverless has its limitations and doesn’t eliminate the need to observe the application development lifecycle from a holistic perspective. To overcome these limitations, developer tools such as Dashbird have emerged.

Here are a few pointers to get you thinking:

Opportunities:

  • Automated Infrastructure Management: An entire chain of manual infrastructure management processes is eliminated as users no longer need to coordinate and manage resource for increasingly distributed software components that constitute modern apps.
  • Cost and Time Saving: The operational costs and time is reduced as no system administration processes are required to package and deploy the apps.
  • High Scalability and Optimized Resource Utilization: The cost barrier to scale apps is also reduced as serverless IT workloads don’t require dedicated resources. Every application request is met with continuous and independent scalability requirements, yet the users are charged only during the period that requests are served.
  • Truly Agile Business Processes: Since the application deployment process is (apparently) decoupled from the underlying infrastructure, Agile and DevOps-driven organizations are can maintain flexible IT operations and business processes. The constraints due to hardware complexity and infrastructure configuration limitations have less impact and role in dictating IT-driven business operations or app functionality. Agile teams can aim for faster development sprints and deploy iterative improvements or changing app functionality with fewer constraints.
  • Reliability and Performance: Services like AWS are inherently resilient and can guarantee performance SLAs most of the times. Serverless architecture offers the convenience of reducing the opportunities of hardware misconfigurations that potentially lead to performance degradation with traditional app deployment practices.

Threats and Considerations:

  • Cost Efficiency for Prolonged Computing: The longer the computing tasks run, the more you pay. For highly scaled applications with data-intensive workload processing requests, a detailed cost analysis of usage-based serverless computing services is required to ensure optimal cost efficiency. Costs could spike unpredictably for unforeseen increase in usage demands and may require organizations to tradeoff the traffic they can accommodate in a bid to reduce the IT expense. Additionally, developing apps and services as a collection of functions may add to the complexity and development cost.
  • Additional Functions and Microservices Calls: Additional overhead is introduced to initiate compute requests with every function and microservice since the workloads may not be reside on the same server instance. This information may be required to plan for accurate total cost of ownership. Furthermore, every server invocation has its inherent latency that may impact app performance. Most serverless providers enforce time limits on how long the request can consume computing resources before it’s terminated. For instance, the execution time limit for Lambda is set at 5 minutes per invocation.
  • Vendor Lock-In: As a trade-off for developing apps to run on a third-party serverless architecture, developers naturally lose control over the underlying infrastructure and platform that power the app. It is likely that developers cannot move the app to other infrastructure service providers or in-house infrastructure without incorporating significant (forced) changes to the app. And if they don’t migrate the apps, the underlying platform API and costs can change unexpectedly.
  • Limitations – Errors and Monitoring: Errors are a commonplace with app execution during the development process. Especially with the ever-evolving functionality development process, developers need to keep an eye on the errors and respond to alerts appropriately. But for high-volume systems, sifting through the noise and performing accurate alerts becomes challenges without adequate visibility and control into the infrastructure. The basic log metrics reporting with Lambda for instance, is usually insufficient and inconsistent to address this concern.

That’s not it – we’ve yet to highlight the software testing concerns but that’s a complete new topic on its own! But don’t let the tradeoffs and considerations (sometimes presented as drawbacks) keep you blindfolded toward the disruptive, transformative and game-changing platform that serverless architecture offers. It’s important to note a key fact: the world of IT is in a continuous state of development and evolution. Resisting the change doesn’t help. It’s more about taming the beast and maximizing the value potential of new technologies.

With this philosophy, Dashbird lets IT teams navigate the monitoring challenges associated with Lambda and serverless architecture. The monitoring solution offers a holistic overview of all functions, tracks errors in real-time and alerts for the most impactful events before it’s too late. All of this through an intuitive control panel and interface so that IT teams spend more time innovating and less time merely to keep the systems alive.

Take a look at more product features here.

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.