@shubhamsinha47 so for dev i'm on a mac using homebrew to set up my environment. i then use php artisan serve which uses php's web server. locally i have a develop branch. when i want to test, i merge my code onto a staging branch then deploy to a subdomain on the server - staging.awesome-app.com. once i complete my test, i merge to a production or master branch. then it gets deployed to the production server.
i use forge (https://forge.laravel.com/) to manage my staging and production server on AWS. it's not as automated as using digital ocean. but all you do is create a custom vps and change some configurations and forge will connect to do its "thing".
forge uses nginx and has a way to manage load balancing servers. it takes a lot off my plate such as creating new sites, configuration of web servers, even SSL installation. it leaves more time for me to focus on development rather than server management.