Why We Chose Amplify Gen2 and AWS for Our SaaS Platform: Real Lessons From the Trenches

Abstract:

Choosing the right framework for a modern SaaS application isn’t easy, especially when you need robust CI/CD, Infrastructure as Code, and seamless integration with AWS services. In this post, I’ll share our experience adopting Amplify Gen2: what has worked, where we hit the edges, and how we’ve adapted to make it the backbone of our product.


Our Selection Process: Why Amplify Gen2?

When we began architecting our SaaS platform, our wish list included:

  • No hardware to directly maintain
  • Native AWS integration
  • Easy, opinionated CI/CD setup
  • Infrastructure as Code as a first-class citizen
  • Flexibility to scale and adapt

Amplify Gen2 checked all those boxes. Its tighter integration with AWS services made it a clear choice to accelerate our pipeline and keep our team focused on delivering features, not boilerplate infrastructure.

What has Worked Well (So Far)

We’ve successfully implemented Amplify Data, Storage, AI Kit, and Lambda functions within the Gen2 framework. It’s made resource management and CI/CD setup across environments much smoother.

A key advantage: Everything Amplify creates is still visible and manageable in the AWS Console. We can monitor and troubleshoot using familiar AWS tools like CloudWatch. Amplify is not a black box; you always have full transparency and control over your resources.

What we love:

  • Rapid Prototyping: Quickly deploy new features to the cloud and get stakeholder feedback.
  • Unified IaC: Infrastructure changes are versioned and repeatable in code.
  • AWS Native Feel: Integrations with AWS services are smoother than with other frameworks.
  • Full Visibility: All resources can be inspected and managed through the AWS Console and standard AWS tools.

Amplify Gen2 Is not a Substitute for AWS Knowledge

While Amplify Gen2 streamlines the development process, it’s not a replacement for understanding AWS itself. To troubleshoot or extend your application, you still need to know how AWS services work under the hood, reading CloudWatch logs, updating IAM roles, or customizing networking as needed.

Where We Hit Roadblocks

Not every AWS service is fully supported by Amplify Gen2 (yet). We couldn’t implement SQS or Step Functions directly, but EventBridge provided a solid workaround. OpenSearch management inside Amplify was rough, cross-environment handling and pipelines were not reliable. Managing OpenSearch directly in the AWS Console ultimately gave us more control and visibility, but it meant reworking some of our app’s logic.

Model selection in the Amplify AI Kit is also limited. When we needed more options for generation AI, we made direct calls to Bedrock outside of Amplify.

Tips if you’re considering Amplify Gen2:

  • Expect to step outside the framework for some advanced services.
  • Documentation is plentiful but often lacks depth on advanced topics.
  • AI assistants like Cursor can help, but don’t always keep context, keep AWS docs handy!

Conclusion

Amplify Gen2 isn’t perfect, but it’s been the right foundation for us, with the flexibility to go “off script” as needed. If you are evaluating frameworks or have hit similar roadblocks, we’d love to hear your experiences and trade notes.

Want to know more or discuss your use case? contact me

Matt Pitts, Sr Architect

Tags:

No responses yet

Leave a Reply

Your email address will not be published. Required fields are marked *