Options for running Server Side/Web Applications/Web API on AWS
- Virtual Machines => EC2 (Elastic Compute Cloud)
- Launch EC2 instance
- Install the technical stack (python, java, .net etc)
- Install the necessary libraries
- Run the application
- Manage the OS updates & technical stack updates
- Manage the application versions
- Manage the scaling
- pricing is usually done per hour but can be done in seconds, but to make our application work we need to run this all the time
- Elastic Beanstalk
- Launch an environment with pre-installed tech stack (python, java, ruby, .net etc)
- Deploy your application version
- AWS will manage
- OS updates & technical stack updates
- Scaling
- pricing is usually done per hour but can be done in seconds, but to make our application work we need to run this all the time
- Serverless Computing using AWS Lambda
- Write the code and deploy the code (rest is AWS doing the stuff)
- you will be charged per millisecond when your code is executed.
Scenarios
- I have an application which is support page for the company where user creates support tickets
- How many users are logged in to your application in the last few months (need hourly stats)?
- If the users that are logged are always greater than 10-100 at any point of time choose => Elastic BeanStalk or EC2
- If the users that are logged in are less that 10-100 at any given point and we have many cases where the number of users is zero in a month go with lambda
- On my website i would like to randomly take surveys from some users. What do you prefer for running surveys
- Create a AWS lambda function for survey and expose it on your application.
Our Approach towards Web Applications
- I will be showing the different approaches using python as a primary language
- If you are developer
- Java => Have a spring boot/ Spring MVC sample application ready
- .net => Have an asp.net sample application
- JavaScript => node js (using express js) => Sample Application
- Python => Have an flask/django based application ready.
Software Setup For AWS on your System
- Refer Here to install necessary softwares for AWS
- For windows 10+ users install windows terminal Refer Here
- Mac users:
- Install Homebrew Refer Here
- Install Git:
brew install git
- Install visual studio code
brew install --cask visual-studio-code