Serverless — Introduction and Develop a Backend Service
Introduction to serverless application development and how to develop a backend service.
Serverless computing allows us to focus on writing code, and minimize the time to manage the underlying infrastructure. It is also a cost-efficient way to run an application. We only pay for the resources the application uses, provided we design and develop the application properly.
In this series of articles, we are going to develop a SaaS application with frontend, backend, and machine learning using serverless technology.
This article is part of the Serverless for Beginners series.
The source code can be found in this repository.
Serverless Frameworks
Before diving into the application, let’s check out several serverless frameworks that could help us develop serverless applications. Most of these frameworks support AWS only, except a few like Serverless Framework that supports multi-cloud deployments.
AWS
AWS provides the following frameworks to help us develop serverless applications.
- AWS Serverless Application Model (SAM) is an open-source framework for building serverless applications. It provides shorthand syntax to express functions, APIs, databases, and event source mappings. During deployment, SAM transforms and expands the SAM syntax into AWS CloudFormation syntax, enabling us to build serverless applications faster.
- AWS Amplify is a set of purpose-built tools and features that lets front-end web and mobile developers quickly and easily build full-stack applications on AWS, with the flexibility to leverage the breadth of AWS services as our use cases evolve.
Serverless Framework (Multi-Cloud Deployments)
Serverless Framework (> 42k GitHub stars) is the most popular serverless framework that supports multiple cloud deployments, e.g. AWS, Azure, GCP, Alibaba Cloud, Tencent Cloud, OpenWhisk, etc (check out the list here). It is a multi-language framework that supports Node.js, Typescript, Python, Go, Java, and more. It’s also completely extensible via…