Apache Maven is an open source build automation tool.
N/A
Heroku Platform
Score 9.2 out of 10
N/A
The Heroku Platform, now from Salesforce, is a platform-as-a-service based on
a managed container system, with integrated data services and ecosystem for deploying modern apps. It takes an app-centric
approach for software delivery, integrated with developer tools and
workflows. It’s three main tool are: Heroku Developer Experience (DX), Heroku
Operational Experience (OpEx), and Heroku Runtime.
Heroku Developer Experience (DX)
Developers deploy directly from tools like…
$25
per month
Pricing
Apache Maven
Heroku Platform
Editions & Modules
No answers on this topic
Production
$25.00
per month
Advanced
$250.00
per month
Offerings
Pricing Offerings
Apache Maven
Heroku Platform
Free Trial
No
No
Free/Freemium Version
No
No
Premium Consulting/Integration Services
No
No
Entry-level Setup Fee
No setup fee
No setup fee
Additional Details
—
—
More Pricing Information
Community Pulse
Apache Maven
Heroku Platform
Features
Apache Maven
Heroku Platform
Platform-as-a-Service
Comparison of Platform-as-a-Service features of Product A and Product B
Building and automating packaging of software can be a challenging task. As the complexity of the project grows so do the dependencies on third-party artifacts. Using Maven we can define and manage the project structure centrally and it helps improve overall build times.
Heroku is very well-suited to early stage and/or rapidly changing projects. It is great for getting moving quickly or changing direction quickly. In scenarios where there is already scale or well-defined requirements, it may be preferable to set things up directly on AWS or another cloud provider to avoid the additional costs of Heroku as the middleman.
One of the issues with building software using Apache Maven is that its cache resolution is not optimal. It pulls down all the artifacts onto the developer's local machine and can sometimes result in conflicts.
The build process can vary in time and gets progressively longer as the project's complexity increases.
Could be less expensive, although you get what you pay for
Sleeping apps can be an annoyance: Heroku automatically puts your apps in sleep mode and they have to spin back up after periods of inactivity. Much of this can be solved but it requires working around the built-in functionality. I understand why they do it but it's an area that could be improved.
Restrictions to server access means you can't customize as much as you could if you owned the server. But again, this is also a benefit because it's about convention over configuration. So you can't configure as much, but then, you typically don't have to.
Heroku is a critical and core part of our infrastructure that is serving our customers well. We are very satisfied with the cost of our solution. While it would be difficult to move away from Heroku, we have no plans to do so. We have had no major issues with it and it is a pleasure to use. Other products on the market might offer comparable functionality, but until we expose a need that Heroku cannot satisfy, we'll stay the course.
The overall usability of Apache Maven is very good to us. We were able to incorporate it into our company's build process pretty quickly. We deployed it to multiple teams throughout the entire enterprise. We got good feedback from our developers stating that Apache Maven has simplified their build process. It also allowed to to standardize the build process for the entire enterprise, thus ensure that each development team is using the same, consistent process to build code.
If you have basic backend and Git knowledge, deploying to Heroku is a breeze. It now supports many types of backends, including hybrid backends (ex: nginx + application server) through its build pack system. The dashboard is easy to use, and the CLI tools are well designed. Accessing the add-ons is also easy. It uses an SSO-type system so you don't have to re-sign in to view the add-on dashboards.
Heroku availability correlates pretty strongly to AWS US EAST availability. We had a couple of times where there was a Heroku-specific issue but not for the last 7-8 months.
I can't speak to the support, as I've never had issues. Apache Maven "just works," and errors were user errors or local nexus errors. Apache Maven is a great build/dependency management tool. I give it a 9/10 because occasionally the error message don't immediately indicate a solution...but again, those errors were always user or configuration errors, and the Maven documentation is extensive, so I don't find fault in Maven, but in its users.
I've used it for many years without facing any major problem. It's not hard at all to get used to it, it's documentation is outstanding and simple. We are close to 2020 and I don't think most of the existing companies or startups should still face old problems such as wasting time deploying code and calculate computing resources.
Be ready to pay a bit more than expected in the beginning if you're migrating from a big server. The application is probably not ready for the change and you have to keep improving it with time.
It's also important to consider that you can't save anything to the disc as it will be lost when your application restarts, so you have to think about using something like S3.
Ant is useful if your build is heavily based on customs scripts running in the right order. Maven greatly simplifies the process to keep track of and download build dependencies compared with Apache Ant. If your build is based on multiple custom scripts running in a specific order there is a lot of overhead in Maven compared to Apache Ant.
Heroku has advantages over Docker, Google App Engine and AWS products, but it depends largely on your use case. If you are already in AWS, it's probably in your best interest to stay with AWS products. However, other "Cloud Formation/Orchestration" products like Docker are typically lacking the ease-of-use factor that allows you to get up and running with Heroku quickly.