Beginner to moderate, it will be your Hero-ku ;D
Overall Satisfaction with Heroku
Heroku is used to host and run our web application and background processes. Mainly our software team and data science team use Heroku. The software team uses Heroku and various plugins to deploy and monitor the performance of the web applications and background tasks. It is the hosting services that runs our SaaS product.
Pros
- 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
Rackspace can provide dedicated hardware, where Heroku can not. When dealing with particular clients or different fields, this can be a deciding factor if this is a requirement.
AWS provides extensive configuration options, providing a more mature infrastructure, with dedicated resources toward infrastructure, much more control of traffic and components.
AWS provides extensive configuration options, providing a more mature infrastructure, with dedicated resources toward infrastructure, much more control of traffic and components.
Heroku Platform Feature Ratings
Using Heroku
6 - Software engineering, dev ops, and SRE
3 - Software engineers, engineering managers, devops engineers
- 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
Evaluating Heroku and Competitors
- Product Features
- Product Usability
- Product Reputation
- Prior Experience with the Product
Ease of use. Heroku wins because it is easy to deploy your application, monitor and manage your application, and connect other services like CI/CD and databases.
I might more thoroughly evaluate the competition. My best experience with any PaaS has been with Heroku. More robust providers like AWS and GCP are complicated to say the least. Familiarity with Heroku gave it a significant leg up.
Heroku Implementation
- Implemented in-house
Change management was minimal
- Configuration of databases on review apps.
Heroku Support
Pros | Cons |
---|---|
Quick Resolution Good followup Knowledgeable team Problems get solved Kept well informed Immediate help available Support understands my problem Quick Initial Response | None |
When running a hobby size database, I accidentally wiped a very important table. Although they could not recover the data, as I had not paid for the tier which provided data backups, they were able to suggest ways to recreate the data based on other services I had. It was work on my part but did get me back to a good state.
Using Heroku
Pros | Cons |
---|---|
Like to use Relatively simple Easy to use Technical support not required Well integrated Consistent Quick to learn Convenient Feel confident using Familiar | None |
- 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.
Comments
Please log in to join the conversation