Beginner to moderate, it will be your Hero-ku ;D
- It makes deployment, environment configuration, and simple manageability extraordinarily simple and easy to do, and getting up and going is a wonderfully simple process.
- The metrics included are excellent as a first resource for diagnosing high level issues.
- For beginners, Heroku is an excellent tool, making initial deployment and environment configuration wonderfully easy and fast.
- Heroku is absolutely fantastic on the mobile break point (mobile responsiveness). As a startup, things still happen on weekends while out at the park or driving out of town, and it has been wonderful to be able to troubleshoot or restart servers from the phone.
- The Heroku CLI provides a wonderful interface for interacting with the cloud environment.
Cons
- Heroku does not provide static IP addresses. For most applications this is not a concern, but in particular cases, especially around explicitly sensitive data, this makes Heroku prohibitive.
- For a more senior engineer seeking to SSH onto a server and monitor the machine's performance, or extract log files for extensive research, Heroku does not provide a great way to do this.
- Heroku permissions controls could be more granular. For instance, allowing some users to view environment variables while others can not view these.
- Heroku has allowed our developers to work on application development, application defect resolution, keeping feature momentum very high. It has, at the very least, postponed the need for a full time dev ops engineer creating deployment packages and managing servers. It lets a small development team get up and going, and keep going, with little upkeep.
- Heroku's ability to dynamically scale at a single click has provided for quick recovery time from unforeseen excessive traffic.
- Heroku's quick configuration of web servers and background process servers lets each developer manage the load of their development more effectively.
- Heroku's documentation is top notch, allowing for any developer to find the answers they need quickly.
- AWS Elastic Beanstalk and Rackspace
AWS provides extensive configuration options, providing a more mature infrastructure, with dedicated resources toward infrastructure, much more control of traffic and components.
- Host our applications
- Provide sandboxes for engineers to quickly develop with business owners through review apps
- Provide metrics on key functionality
- Review apps have been great for rapidly iterating on new features and functionality
- Connecting to the logs for a more real time analysis of operations
- Product Features
- Product Usability
- Product Reputation
- Prior Experience with the Product
- Implemented in-house
- Configuration of databases on review apps.
- Heroku CLI allows you to easily interact with the Heroku Dynos as if you were SSH'ed onto a self managed server.
- The activity monitor easily allows you to detect change and watch deploys and even rollback to previous deploys.
- Pipelines and review apps are the best way to get a working prototype into a user's hands without having to commit it into a trunk branch of code.
- The load time to get to environment variables or resources can be long.