These days, everything is running on the cloud and there are plenty of options for cloud computing and cloud services. Heroku is one of the first Platform as a Service (PaaS) cloud computing platforms that started in 2007. The company was sold to Salesforce in 2010. Doprax is a new player in PaaS and was founded in 2020. In this document, we will compare the services and features of these two cloud providers.
To organize the content of this article, we divide the areas of comparison into 6 main categories.
- Proprietary vs open source
- performance and reliability
- developer experience
- customer focus
Proprietary vs open source
Heroku requires buildpacks, which can be hard to understand and customize. Buildpacks are proprietary and only work on Heroku. Heroku uses these buildpacks to create Dynos, yet another proprietary technology that is specific to Heroku. Users need to understand and work with these Heroku-specific concepts that are useless outside the Heroku platform. On contrary, Doprax uses Docker containers that are industry standard and every major tech company is using them. Containers were initially created by Google and quickly became adopted by the industry. Using a standard technology stack ensures that the application will be maintained and there will be no vendor lock-in.
Doprax has built-in private networking and service discovery, you can create Redis, Elasticsearch, MySQL, Postgres, and many other service instances that are inaccessible over the Internet. Heroku only provides this feature in Private Spaces, an enterprise offering that costs several thousand dollars more per month compared to Doprax.
Databases and other services
Doprax comes with out-of-the-box, native support for Elasticsearch and tens of other world-class services. For example, you can run an instance of Elasticsearh or Redis with a few clicks. Heroku does not offer Elasticsearch directly. They are using an add-on that is operated by a third party and needs configuration and separate payment that starts at 67 $/month (whereas on Doprax the same thing costs around 11 $/month! More on the pricing later)
Content Delivery Networks (CDN)
Heroku uses paid addons to add CND capability to the application through third-party service. It needs customization and a lot of settings. It costs from $5 to $500 depending on the amount of traffic. Doprax is compatible with Cloudflare and all other major CDNs that could be used with Doprax free of charge and with just clicking on the button in Cloudflare and it does not limit you to the number of requests or the amount of traffic. Just free.
Shell access (SSH)
Heroku does not support an in-browser SSH connection to your applications. You need to use their CLI to have an SSH connection. Also, they do not officially support SSH connection if you are using Docker. Doprax SSH connectionⓇ is the best! You can get a super-secure ssh connection to your apps and services with a push of a button inside your browser, or even on your smartphone! Our patent-pending technology doesn’t add any extra stuff into your app to make the SSH connection work. The Connection is proxied, and it doesn’t expose anything to the outside world. You can connect SSH to all of your containers, including services!
Manage files (static, media, download, upload)
In Doprax, managing the files of your application is very easy. Doprax provides the File browser, a powerful tool with a Graphical User Interface (GUI) to manage your files in volumes just like they are on your computer: download, upload, copy, so you can organize your files easily. You can directly manipulate the files that are accessible to your app on block storage, which is the fastest way of accessing files from your app. Heroku provides the Filestack addon for file handling. It uses third-party file storage (like s3 buckets) you need t integrate the file manager with your application through SDK, whereas in Doprax it takes one click to open the file browser tool to manage all files.
Database management tools
Doprax provides database management tools like PhpMyadmin, RedisMyadmin, and PGadmin to facilitate the management and operations of popular databases. Heroku does not provide that.
Performance and Reliability
Doprax offers one-click vertical scaling for your applications. You can customize the size of RAM and the number of CPU cores that your application can use. For example, you can set the amount of ram by 1MB increments! You can specify exactly how much you want to give RAM to your application or service. In Heroku, you need to upgrade to another plan to increase the resource size. You can only select from one of the plans that are available. For example, if your current RAM is 1024 MB and you want to increase the RAM, you have to jump to 2.5GB of RAM. So your increment is more than 1500 MB! And you have to pay the difference. But in Doprax you can increase the RAM to any amount in between. So you have complete flexibility in scaling.
Disk performance and Block storage
Doprax provides convenient block storage which is the fastest possible type of storage. You can create volumes and connect them to the main container or services. Your application can directly access all the files in the fastest way possible. Heroku file system is temporary which means that you can not save files on Heroku and you need to use third-party remote storage which is much slower and the files are accessed over the network.
Heroku serves all content over HTTP/1.1. However, major browsers have supported HTTP/2 since 2015. Doprax supports both HTTP/1.1 and HTTP/2 which will result in better performance and lower latency in the request/response cycle.
In Heroku, applications are restarted every 24 hours forcefully. Your app will lose all in-memory states (e.g. caches) and disrupt web socket connections. Heroku’s application restarts can also create downtime, and avoiding them requires signing up for more expensive plans. In contrast, Doprax does not have scheduled (or unscheduled) restarts, and every Doprax application comes with zero downtime deploys.
Heroku pricing is high. Too high tbh! The cost dramatically increases when you want to scale your application. Here is a summary of the pricing comparison of Heroku and Doprax. For bigger applications, Heroku is 20 times more expensive that Doprax
|INSTANCE RAM||HEROKU||DOPRAX||MONTHLY SAVINGS (%)|
Ease of use
Generally, Platform as a Service (PaaS) is easier to use compared to managing servers in Infrastructure as a Service. It’s fair to say that using Heroku is easier than AWS. Our customers tell us Doprax is even easier. Simply connect your GitHub or GitLab repository to your Doprax Dashboard and click the play button.
In Doprax’s application-centric architecture, all components of an app live inside the app, making it much easier and faster to manage all the dependencies. The components of an app are all connected to the same internal, private network. Each service that is added to an app is automatically discoverable by others using their service name as the hostname. In Heroku, the elements are organized in add-ons and they are managed separately.
Doprax offers native support for Docker with multi-stage layer caching; all you need is a Dockerfile in your Git repository; Doprax automatically builds the Docker image and deploys it with zero downtime.
Doprax offers fully automated and completely free TLS certificates for custom domains. In Heroku, you need to manually configure and upload your certificates. There is no certificate renewal mechanism, and the developer needs to take care of it manually.
Doprax offers all its customers community and email, phone, and chat support staffed by the same world-class engineers who build the platform. Heroku directs users to community support channels like Stack Overflow multiple times before they can file a ticket; they also need to pay an additional $1,000/month to chat with a Heroku support engineer.
Doprax listens to the needs of the user. Doprax’s product roadmap is public! You can submit feature requests and get notified as soon as we start working on them. This keeps us accountable and helps us understand your needs better. Heroku’s public roadmap was last updated over ten years ago!