Some context: I’m the sole developer at a media company that has never had a dev on staff before. 18 months ago I’d never coded python, and now have written probably 100s of thousands of lines, with my apps being use for a wide variety of backend admin and user facing products. I’ve been the only user thus far, but by March we will be looking at dozens of end users
So on my journey with Anvil, I’ve found 99% of the things I need to do can be achieved with Anvil in some way. The main issue is looking at scalability, and certain features outside the boundaries placed on Skulpt. While I’m sure stepping beyond a Personal plan will help performance, I imagine at a certain point trying to manage dozens of simultaneous mongodb find and update/replace operations will become a problem, and trying to tie together an increasing number of outside APIs and services will become combersome.
Currently mongodb is the main outside service connected to Anvil, due to the DataTables being mostly useless for my use case (producing 100s of thousands of rows of data weekly). Ive recently added Twilio and SendGrid into the mix, and am slowly working on adding my own Discord bot implementation. I’ve seen a solution on this forum for sending push notifications using Firebase, which would be a super useful addon. I’m also close to beginning work on an S3 integration, as Dropbox and Gdrive is quickly being annoying/useless or expensive.
The main reason for enjoying Anvil is the speed at which I can spin up a working prototype and then easily work that into a production solution (production scale within the context). Being able to quickly create a UI for a management app of some API is so useful, and the business team can see real gains in the way my time is spent. Also having it be cross-platform automatically is great, no need to handle multiple app dev pipelines, with different data models and troubleshooting requirements.
My question I guess is, as the need to expand services and APIs, where should I be looking to move the system beyond what Anvil can currently provide? My current research says Amazon AWS, as the wide array of available services would solve many issues for me. Being able to send events to EventBridge, which routes the event and data exactly where it needs to go, and ensures the task is completed (or retyied upon failure). I will soon have a workflow where an Anvil app will send a command to a Windows EC2 instance to run a script, wait for output from a Photoshop/Premiere render, then upload output to S3 and have notifications sent out that the output is available for consumption. Anvil feels clunky when looking at larger systems like this, but I’d love to still use Anvil as the UI for these systems, utilising the APIs from things like Mongo Atlas App Services API to edit/monitor Triggers, AWS APIs for adding and monitoring events from EventBridge and ensuring EC2 instances and spun up and ready to go, ensuring tracking links in SMS/email are handled correctly etc.
Does anyone have any experience with moving up in scale like this and where should I be focusing my time. I will have someone helping me some time next year, but I don’t like assuming I will have any lighter of a workload any advice or recommendations from the geniuses here is greatly appreciated. I don’t wanna get 3 months into a major AWS system build when I find out that gcloud was the way to go. Cost is obviously a factor, but I hope that as time goes on, that becomes less of an issue