Hey guys,
I'm trying to pinpoint the main issues that folks are having when they try to deploy on AWS.
I would appreciate learning about your experience with AWS, especially when deploying your backend there.
Thanks!
I avoid serverless on AWS. Too complicated and I often forget what each function is for. So I run a compute pool (a PaaS) on AWS instead. So able to achieve all benefits.
Have you tried working with the serverless framework? It was a game-changer for me.
https://www.serverless.com/
Seconded. Whenever I need a lambda, I reach for serverless. Doing it directly from AWS's UI or CLI just has never been worth the headache.
Will certain explore it. Thank you.
I'd say it really depends on your stack.
A lot of stuff you can do with Elastic Beanstalk or Serverless for example and that takes away a lot of pain imo.
I feel AWS deployment is the most confusing process. For me Azure and Google (GCP/Firebase) are much easy, Azure integration with the Visual Studio is the best(you can deploy a function with right-click, I don't even need to recall the CLI commands).
Now-a-days I prefer things like Paas ex:- Render.com, Railway.app they are much easier and I can link my git repo to the deployment. Even https://serverless.com did a better job than AWS.
For my recent project TinyFunction.com it took more time to setup and configure AWS than all the remaining work.
TinyFunction seems interesting. I'm guessing you can't install other packages, like mailgun to send mails etc?
Also how do you deal with infinite loops and other resource consuming functions?
I haven't seen a request for other packages sofar, but it is easy to add other packages.
Regarding the infinite loops: I will stop the process after max time.
Here's a representative experience I had a year or so ago: https://jacobobryant.com/post/2019/aws-battles-ep-1/
tl;dr it's buggy and has crappy error messages + docs. Since I don't need AWS's power anyway, I moved to digitalocean (after a brief stint with firebase). I've been far more productive without all the extra layers of abstraction getting in my way.
I only use AWS SES, as for hosting apps, for serverless / Lamba I’d recommend to read this before moving your backend there: https://blog.binaris.com/lambda-pricing-pitfalls/
AWS is hard to deal with. There are some good alternatives our there, like these three https://dev.to/alex_boykov/best-alternatives-to-the-big-cloud-providers-3bn5
It took me going through many tutorials and old incorrect documentation before I started understanding anything about the basic logic of AWS. There's just so much to learn. It's almost like encountering a bunch of react tutorials when learning to code in the first place. Just very dense, hard to parse, and requires a ton of knowledge before you can really start.
I'm using AWS lightsail for backend for my recent project videofork.co.
The setup was simple and less time consuming. If I have to go set up the same in EC2 or use some other service AWS provides, it might have been tough like others mentioned below.
And I use S3 buckets to load assets for my site. Mainly depending upon their API which is pretty simple to implement once we follow their documentation.
Do you really need AWS? Think twice. I'm very happy with Hetzner - don't have to dig into all of the complexity with cloud infrastructure.
Take a look at the CodeDeploy service, I used it for the back-end deployment into the EC2 instance.
It played nicely with Travis CI and GitHub repo but the CodeDeploy agent was a bit buggy and often required manual fixing.
As a result, I took a much simpler approach when the free tier expired. Basically I moved the back-end out of the AWS.
For me, one of my biggest pain points is that full environment setup/teardown isn't straightforward. That's part of why I often reach for Serverless or Vercel instead of AWS directly (even though it's AWS lambdas behind the scenes).
CloudFormation exists, but it's complicated, frustrating, and slow as all heck.
It's a hard startup to launch. Do you think there is a consulting opportunity for devs trying out AWS?
I think it depends on what kind of applications you want to deploy. I guess one of the hardest things about deploying an app is automation.
We wrote a blog about one pain point https://dev.to/uclusionhq/deploying-aws-serverless-a-plague-o-both-your-houses-3cog
This comment was deleted 5 years ago
Omg yess