I finally Deployed on AWS

Published: (January 8, 2026 at 11:40 AM EST)
2 min read
Source: Dev.to

Source: Dev.to

First Attempt and Billing Issues

My first experience with AWS was in 2023 when the free tier offered 12 months of usage. I set up a free server to host a hobby project, but soon after I was charged. I had assumed I was still within the free tier, so I contacted AWS support. They told me that I was using resources outside the free tier, though I didn’t understand which ones.

Support promised to stop the charges, but I was billed again the following month. After several more rounds of complaints, I discovered that an obscure service was still running and incurring costs. This back‑and‑forth continued for about six months until I finally closed the account. The experience left me wary of AWS, and I turned to platforms like Heroku and Render for future hobby apps.

Returning to AWS

Despite my earlier frustrations, I noticed that many job descriptions list AWS experience as a requirement. Determined to give it another try, I searched for tutorials. Most were long, certification‑focused videos, which didn’t suit my goal of just getting a simple deployment up and running.

I eventually found a concise three‑hour tutorial that gave me enough confidence to dive back in.

Elastic Beanstalk Experience

During the tutorial I learned about AWS Elastic Beanstalk, which promised a “push‑your‑code‑and‑let‑AWS‑handle‑everything” experience. The promotional video was impressive, showing smooth animations and the promise of easy deployments.

In practice, however, I ran into repeated errors. Accessing logs required manual requests through the console, which were slow and often incomplete. Eventually I could not view logs at all, even after trying the EB CLI, restarting the environment, and terminating the underlying EC2 instance. After three days of frustration, I abandoned Elastic Beanstalk entirely.

Back to Basics with EC2

I reverted to a more hands‑on approach by launching an EC2 instance, setting up a systemd service, and configuring Nginx. Within half a day I had a functional environment:

  • Backend: AI chatbot running on EC2
  • Frontend: Hosted for free on Vercel (you can try it yourself)

Conclusion

The moral of the story isn’t a single lesson, but rather a collection of technical takeaways:

  • Free‑tier limits can be easy to exceed without clear visibility.
  • Managed services like Elastic Beanstalk may sound simple but can hide complexity.
  • Sometimes the most reliable solution is to roll your own infrastructure with familiar tools.

Going back to the basics proved to be the most effective path for my hobby project.

Back to Blog

Related posts

Read more »