Need advice about which tool to choose?Ask the StackShare community!
AWS Amplify vs Serverless: What are the differences?
Developers describe AWS Amplify as "JavaScript Open Source Library with React, React Native Extensions". A JavaScript library for frontend and mobile developers building cloud-enabled applications. The library is a declarative interface across different categories of operations in order to make common tasks easier to add into your application. The default implementation works with Amazon Web Services (AWS) resources but is designed to be open and pluggable for usage with other cloud services that wish to provide an implementation or custom backends. On the other hand, Serverless is detailed as "The most widely-adopted toolkit for building serverless applications". Build applications comprised of microservices that run in response to events, auto-scale for you, and only charge you when they run. This lowers the total cost of maintaining your apps, enabling you to build more logic, faster. The Framework uses new event-driven compute services, like AWS Lambda, Google CloudFunctions, and more.
AWS Amplify and Serverless are primarily classified as "AWS" and "Serverless / Task Processing" tools respectively.
AWS Amplify and Serverless are both open source tools. It seems that Serverless with 31.3K GitHub stars and 3.53K forks on GitHub has more adoption than AWS Amplify with 5.7K GitHub stars and 935 GitHub forks.
According to the StackShare community, Serverless has a broader approval, being mentioned in 165 company stacks & 236 developers stacks; compared to AWS Amplify, which is listed in 5 company stacks and 10 developer stacks.
When adding a new feature to Checkly rearchitecting some older piece, I tend to pick Heroku for rolling it out. But not always, because sometimes I pick AWS Lambda . The short story:
- Developer Experience trumps everything.
- AWS Lambda is cheap. Up to a limit though. This impact not only your wallet.
- If you need geographic spread, AWS is lonely at the top.
Recently, I was doing a brainstorm at a startup here in Berlin on the future of their infrastructure. They were ready to move on from their initial, almost 100% Ec2 + Chef based setup. Everything was on the table. But we crossed out a lot quite quickly:
- Pure, uncut, self hosted Kubernetes — way too much complexity
- Managed Kubernetes in various flavors — still too much complexity
- Zeit — Maybe, but no Docker support
- Elastic Beanstalk — Maybe, bit old but does the job
- Heroku
- Lambda
It became clear a mix of PaaS and FaaS was the way to go. What a surprise! That is exactly what I use for Checkly! But when do you pick which model?
I chopped that question up into the following categories:
- Developer Experience / DX 🤓
- Ops Experience / OX 🐂 (?)
- Cost 💵
- Lock in 🔐
Read the full post linked below for all details
Pros of AWS Amplify
- GraphQL4
- Better with Relations and Security3
- Cheaper2
- Flexible Auth options2
- Continuous deployment1
- Backed by Amazon1
Pros of Serverless
- API integration14
- Supports cloud functions for Google, Azure, and IBM7
- Lower cost3
- Auto scale1
- Openwhisk1
Sign up to add or upvote prosMake informed product decisions
Cons of AWS Amplify
- Free tier is limited2
- Steep Learning Curve1