Why You Need a Framework When Doing Serverless
April 27, 2020JR Beaudoin2 min read
We are proud to have been selected as a Serverless Framework official partner. It rewards our investment in the technology and reflects our strong belief that this framework is currently the best in the market.
Using a Framework When Going Serverless is a Must
Recently, one of our clients’ technical advisors shared with us the challenges that he had encountered when testing serverless a few years ago. As he started to use AWS Lambda functions, he quickly lacked visibility of the infrastructure design and struggled to figure out which version of the code was running in production. Fortunately, these issues are now solved by frameworks for serverless applications.
At Theodo, we began leveraging serverless functions a few years ago for projects requiring asynchronous workloads. To avoid the aforementioned pitfalls, we looked into tools that would allow us to be more efficient in managing our serverless projects. The most popular tool was, and remains today, the Serverless Framework.
The main advantage of the Serverless Framework is to allow developers to write to one single repository containing:
- The code of the business logic run by their serverless functions,
All the files that describe their application’s infrastructure, including:
- Database services like DynamoDB,
- Authentication services like Cognito or Auth0,
- Notification services like AWS Simple Notification Service or Twilio,
- The scripts they need to easily deploy their application in one command to any environment,
- Tools allowing developers to emulate services like DynamoDB in their local development environment. Other things that the Serverless Framework achieves is the deployment of a new stack with the whole infrastructure in a single command, allowing to run automated tests consistently on a ephemeral — hence cheap — production-like environment. This further stresses the productivity gains and cost reductions observed by companies embracing serverless.
Why We Chose to Work With the Serverless Framework
Its Large Community Guarantees its Relevance
The suite of serverless services offered by cloud providers is constantly expanding. Therefore, the value of a serverless application framework lies in the ability of its community to stay current.
The Serverless Framework has the largest community among its competitors, and it provides many plugins that gradually add support for new services as they are released. You can read about a few of our favorite tools for this framework in this article.
Its Independence From Cloud Providers
Other frameworks, like AWS’ own Serverless Application Model (or SAM), are open-sourced and maintained by cloud providers themselves — offering early support for their newest features and services. The purpose of some third-party frameworks, however, is to enable developers to deploy their serverless applications to any cloud provider. As the concerns about vendor lock-in grow, the appeal of using a cloud-agnostic framework becomes stronger. It allows you to move your infrastructure to another cloud provider if necessary.
The development of a reliable and powerful framework is a daunting and ambitious task, but we believe in the purpose of the Serverless Framework and we enjoy using it daily on many of our projects. We contribute to the community, for example with sls-dev-tools, our open-source project that gives developers visibility on their serverless application directly from the command line.
With close to sixteen million downloads and hundreds of thousands of weekly deployments, Serverless Framework has become the benchmark in the serverless ecosystem — and this is only the beginning.
Want to know more about how Serverless can help your company? I'd be happy to help. Please reach out here!
CTO @ Theodo US