What is the main difference between Amplify and SS...
# help
k
What is the main difference between Amplify and SST? What can you do In SST that you can't in Amplify and vice versa? In what case would you chose one versus another?
t
Amplify is 2 tools so answer is slightly confusing, amplify is both a • a set of sdk’s for interacting with AWS at a slightly higher level than the aws-sdk, this can be used with SST and is quite useful for things like cognito • A CLI tool for deploying resources to aws The CLI tool is easier to use and more prescriptive about a bunch of things than SST this makes certain things easier and faster to get set up, however it also has a bunch of drawbacks. The biggest is that its not good for team projects its very easy to have conflicts if you are both working on the same project, the other is that its not infrastructure as code its just an automation CLI that outputs computer generated infrastructure as code, This means you often don’t understand what you are doing.
a
🤯 SST provides Infrastructure as Code that gives you the full power of AWS. Amplify is a poor attempt to make AWS easier to use, but is actually a trap. It makes what it does easier, but traps you into a restrictive magical system that makes everything harder.
s
@Adam Fanello curious if you feel that way about the client side sdk for integrating with services like cognito. I've never used the cli, but I found the client side libraries useful. Perhaps I should try it without amplify to compare
a
The Cognito client existing before Amplify. It got sucked into the Amplify repo, but it's still the good 'old Cognito client.
This package: amazon-cognito-identity-js
The other Amplify libraries, for things like "storage" (wrapper around S3 API) and "API" (wrapper for GraphQL) just add abstraction and confusion.
s
I'll give that a look!
s
In my experience, Amplify the SDK is relatively stable/pretty good, but as suggested above they're built on top of existing stable libraries. Amplify the AWS service causes too much pain for the little gain you get from the lowered learning curve. The learning curve for serverless/STT is much steeper but much more rewarding and means you're not left at the hands of AWS support when something goes wrong.
f
Really good discussion. @Jay let’s turn this into a SST vs Amplify page in the doc https://github.com/serverless-stack/serverless-stack/issues/1663
j
@Frank does it make sense this goes in the FAQ?