How Can I Transition Away from My Old Amplify Project?

0
11
Asked By CuriousCoder42 On

I've been managing an Amplify Gen 1 project that's been running in production for about three years now. While it works okay, it's become a hassle to maintain and isn't very reliable. I'm always nervous about breaking things during updates since I've faced issues where the project becomes unstable, and I've even had to deal with situations where I couldn't recover from a broken stack update.

I've been considering my options for moving away from Amplify. I found a command that allows exporting to CDK, but it seems to create CloudFormation templates that are meant to be imported into CDK using Amplify constructs. Since I regularly use CDK on another project and prefer it, I'm leaning towards that direction. I've already started transferring some functionality to a separate CDK project.

Another option could be to write new Lambda functions in CDK that interface with DynamoDB. Lastly, I could consider migrating to Gen 2, hoping it's better than Gen 1. However, I'm worried about breaking anything, especially since I've encountered issues like disappearing indexes after adding VTL extensions, which has led to API errors.

Another challenge is that I've heavily relied on DataStore on the frontend, as many users operate in low-signal areas, but now it feels unreliable. I also face complaints about data syncing and slow performance on less powerful devices. Given that there are around 2000 references to DataStore in the project, switching everything over to a different library might be the best long-term solution, as AWS has plans to deprecate the version I'm using. On top of that, this project isn't even my job—it's a volunteer initiative I started to help some charities, which adds to the pressure since there are hundreds of volunteers depending on it. I can only dedicate one day a week to it. Any advice from those who've faced a similar situation would be greatly appreciated!

1 Answer

Answered By DevGuru88 On

I've been using Gen 1 for a productive project for a good five years. Initially, we had our share of struggles, but we managed to adapt. My advice? Make the necessary upgrades and stick with Gen 1, especially if your project is quite large. Remember, Amplify is just a wrapper around CDK. If you understand the inner workings, you can recreate most of what Amplify does through CDK. Those VTLs? They're a common headache with AppSync, so get familiar with their documentation—it's crucial for avoiding more problems. The upside is that with CDK, you can override the whole Amplify stack and get creative. Just know that this cycle of needing upgrades isn’t going to stop with Gen 2 either. If you really want to break free, consider containerizing everything, but be prepared for future upgrades as your project grows. Charity work is tough, especially with tech that feels like a full-time job!

RealTalk22 -

Yeah, it's a nightmare when everything feels outdated. You're not alone in feeling stuck—I totally get that hesitation about adding more tech debt. Sometimes I think sticking with it might just be the smarter play until you can ensure the new approach will work better. And that VTL stuff can be so confusing—one wrong move and it messes everything up.

Related Questions

LEAVE A REPLY

Please enter your comment!
Please enter your name here

This site uses Akismet to reduce spam. Learn how your comment data is processed.