Why do people use Heroku when AWS is present? What distinguishes Heroku from AWS ?
Externally much customization of the architecture choose Heroku. you can focus on the architecture to use different web servers, then choose AWS. AWS is more time-consuming based on what service and products.
- Platform as a Service (PAAS)
- Good documentation
- Has built-in tools and architecture
- Limited control over architecture while designing app
- Deployment is taken care of automatic via GitHub or manual via git commands or CLI.
- Not time consuming
- Infrastructure as a Service (IAAS)
- Versatile products such as EC2, EMR, etc
- The architecture, such as choosing the OS, software version, etc. There’s more than one backend layers.
- Elastic Beanstalk is a feature similar to Heroku’s PAAS
- You Can use the automated deployment, or roll your own
Here is the answers:
AWS offer Infrastructure as a Service (IaaS) and Heroku offer a Platform as a Service (PaaS). IaaS gives you components you need in order to build .PaaS gives you an environment where you just push code and configuration get a running application.
The no more insignificant amount of work to set up and maintain. With Heroku, the effort required to get to that sort of few lines of application code and a git push. web-worker instances will automatically pool between the system. Or you heroku scale web:+5.
Speed: Presently Heroku only runs on AWS instances in us-east and eu-west.
Security: Heroku have someone else managing that sort of thing, which is either a blessing or a curse depending ways.
Scaling: Approximately application has a Procfile, which has lines of the form dyno_type: command_to_run .
web: bundle exec rails server worker: bundle exec rake jobs:work
heroku scale web:2 worker:10
We having 2 web dynos and 10 worker dynos running simple, . Note that web is a special dyno type, web traffic multiplexer probably some sort of Varnish that will route traffic .Location URL in the environment.
They is no comparison between IaaS (AWS) and PaaS. PaaS basically helps developers to speed the development of application. Other features getting PaaS is the application deployment process such as agility, High Availability, Monitoring, Scale / Descale, limited etc.
- Less Control over Server and databases
- Costs will be very high if not governed properly
- Premature and dubious in current day and age
- Hardware acquisition
- Operating System
- Server Software
- Server Side Scripting Environment
- Web server
- Database Management System(Mysql, Redis etc)
- Configure production server
- Tool for testing and deployment
- Monitoring App
- High Availability
- Load Blancing/ Http Routing
- Service Backup Policies
- Team Collaboration
- Rebuild Production
PaaS best :
- Pay as you Go
- Low start up cost
- Leave the plumbing to expert
- PaaS handles auto scaling/descaling,
- PaaS manages all security requirements
- PaaS manages reliability, High Availability
- Paas manages many third party add-ons for you