If you are a developer trying to deploy your app to the Cloud, you have a few choices. You could use something like Google App Engine, Heroku or DotCloud. But unless you have tried all of the options that are available out there—and actually had the time for such an endeavor—you would have to take the different PaaS providers at their word.
Though we are a little biased here at Jelastic, I am convinced that we have the best PaaS out there for the developer. We built it with the developer in mind and have made sure that all of the things that we wanted but could not find before Jelastic are present in it.
So, in this post I want to compare Jelastic with Heroku. A lot of people out there have/are using Jelastic, but a large number of developers have moved to Jelastic, and I want you to know why.
Jelastic vs Heroku
If you are building an app, your primary concern is your app—it’s functionality, usability and overall appeal. One of the biggest issues with Heroku is that you have to code your app with the platform in mind. This makes you have to plan longer term than you might want to, especially if you decide you don’t like your experience. With Heroku you are locked-in. That is, unless you want to recode your app for another platform. With Jelastic, there is no lock-in.
Another big differentiator, especially if you are based in the EU or somewhere else outside of the US, is that Jelastic is actually available locally, from a European hoster. This keeps you from running into issues of data privacy and things like the Patriot Act—things that are a stumbling block to you if you don’t live in the US but want a PaaS to host your applications in the Cloud.
Then there is the huge issue of compatibility: Heroku has its own custom app servers. These are not standard open-source servers like Jelastic has, but servers that severely decrease the level of app compatibility, generally forcing you to re-write your apps. With Jelastic, you have a wide array of standard app servers and databases. Your app will work with Jelastic just as well as it did before, using the same standard software stacks your already know and use.
Though there a lot more than I am listing below, I am only going to list 10 big issues that you might want to consider.
Location/Localization: if you are not in the US, you are pretty much out of luck.
Let’s say you live in Japan, Heroku is not, nor will it be, available there. If you are in Russia, you can’t get Heroku in Russian (something we are already working on).
As of now, Heroku seems to be stuck in the Amazon US East datacenter. All of their documentation is in English only and their support is English only.
Jelastic is expanding across the globe fast. As we do it, we are localizing it along the way—making sure that when we make it available in another country, that it is reflected in the documentation and support, language and otherwise.
Lock-in: with Heroku, you have to code for the platform.
App servers? Heroku only has a few limited versions of Tomcat and Jetty; if you want to use GlassFish or JBoss, well… you can’t. And databases? With Heroku you only have Postgres and Amazon storage as options: rather restricting.
Jelastic has a lot of app server and database options available to you, and the number continues to grow.
Dynamic-Scaling/Auto-Scaling: Heroku doesn’t offer vertical scaling.
Though you can use predefined amounts of resources (RAM and CPU), it is preset. You can’t count on it to ramp up when demand for your app grows.
With Jelastic, you have true vertical and horizontal, automatic scaling. No worrying about your server crashing due to traffic: Jelastic will scale your app for you.
Flexibility: if you wrote an app outside of Heroku, good luck trying to deploy it.
You have to build your app within Heroku to be able to deploy it.
Jelastic can deploy any WAR file and/or integrate with Ant and Maven tools and IDEs. Basically, you can use the Java tools that you know and love.
High-Availability: Heroku doesn’t have it.
Jelastic offers both sticky sessions and High-Availability. Deploy with confidence.
Time Constraints: if your app doesn’t boot within a minute or less, it won’t work. Heroku won’t host it.
Never an issue with Jelastic.
Isolation, Differentiation and Security: in Heroku, your apps share application servers and databases with other users. This kind of limited isolation can obviously lead to issues of data privacy and possible crashes and errors due to other user’s apps.
You won’t run into this problem with Jelastic. Your app’s servers and databases are isolated from those of other users.
Ease-of-Use: Heroku is still command-line.
Jelastic has an awesome UI. Easy? Done.
Limitation: Heroku only allows you to listen in on one network port. If you want more… well, you are stuck just wanting it.
Jelastic allows you to use multiple different ports.
Static IP Addresses: with Heroku, you don’t have the option for static IP’s. This is a serious damper, especially if your app is tied to a business or is going to be connected to a business.
Jelastic allows you to have static IP addresses. No worries.
Speed: if you use Heroku, your applications will be executed using OpenJDK 6 (super slow).
Jelastic provides you with JDK 7, and if you want to use JDK 6, we offer that too.
I hope that this run down has been helpful for you. If you are still trying to decide and need more info, feel free to hit us up on Twitter (@judahjohns or @jelastic) or Facebook. You can also email us at info@Jelastic.com.