So one of my domains in development is Hubtree and its due expire on hosting at the end of the month and its just a basic shared package from GoDaddy. I've used it for misc projects with WordPress in the past but as soon as I finish development I would like to put it into production asap but with a new host and with a quick Googling, AWS popped up for the search results.
Unfortunately for me I've just realised, well if you want python applications such as Django to be running in a few months time then this clearly isn't the best option for me as GoDaddy supports Python at a rumoured cost..
Does anyone have experience in deploying multiple python web application projects or frameworks to this specific package of AWS?
Whats your take on it?
It depends on your goal. If you want to focus on development and just need a hosting provider that is a step up from Godaddy than Heroku is a good place to start.
If you have a growing app on your hands, you'll discover Heroku becomes unreasonably expensive very fast but for the free and hobby tier, it is reasonable up until that point in time.
Elastic Beanstalk was specifically designed to compete with Heroku to be as easy to use and you will immediately notice similarities with Elastic Beanstalk CLI vs the Heroku CLI.
Elastic Beanstalk under the hood is a CloudFormation template which provisions multiple AWS services for you. I think of Elastic Beanstalk as "training wheels" for devops. Once you get comfortable with all the AWS services you can then set up these services on your own.
Elastic Beanstalk is not recommended for "production use", even by AWS funny enough. But what does that mean? I know multiple startups running on Elastic Beanstalk for years so when you hear it's not for production use AWS and others are talking about large or enterprise clients.
Elastic Beanstalk is good until it's not. There are some limitations on how you can perform Blue/Green deployment and after 40-50 deploys sometimes it gets stuck and the only way to get it unstuck is to contact technical support, which means paying for AWS Developer Support for $20 USD / mo.
What I always say to juniors is "Heroku is not enough" so if this is a project to showcase your full-stack skills, you'll get points for running on Elastic Beanstalk and huge points if you can set up all your devops on AWS with Application Load Balancer, Auto Scaling Group, CodePipeline and CodeDeploy.
So here is my advice:
I know that you're on DEV.to Sarah so you may have missed last week that I was giving away for free how to deploy on AWS. Its no longer free but here it is in case you're interested.
The Fast Track To Deploying A Web App On AWS The Right Way
The only caveat is that it's for provisioning a Rails app. 80% of it is still applicable to any framework since its teach VPC, ALB, ASG, CodePipeline and CodeDeploy but you'd have to figure out the Python part.
I am considering adding new sections for Django, ExpressJs and Laravel.
I am also working on an Elastic Beanstalk course though I do encourage people to just skip Beanstalk and learn the AWS services because it's going to do you more good in the long run.