I use AWS Amplify along with AWS EC2, AWS Lambda, Amazon Pinpoint, and others. AWS Amplify, in particular, has been quite straightforward to use.
We've used AWS Amplify for several applications. Initially, it was for a specific project that required integration with third-party services and managing backend services. AWS Amplify was instrumental in managing AWS services like Amazon DynamoDB and others for us.
We use Amplify with our frontend (product) and backend (basically AWS). Amplify manages various AWS services for us, like DynamoDB, CloudFormation, and others. We customize it for our use case, of course. But let's say I want to add functionalities like antivirus or another database, or manage Lambda functions from the CLI or code. In those cases, we use the AWS console for those specific things. But Amplify is our main point of contact for backend changes through code, and it applies those changes seamlessly.
We have different environments like Dev, NetEnv, and UAT, so we need to change our configuration file depending on where we're deploying. The CLI handles this easily.
Typically, whenever we make changes and need to switch environments (e.g., dev to production), it's easy for our developers to maintain the state of each environment and make customizations as needed. They don't necessarily need to involve the cloud team for basic management.
For anything deeply related to settings, we involve them. But at the developer level, for common functionalities like setting up the initial tech stack (database, Lambda functions, notifications), Amplify with the CLI pretty much handles everything.