We use cookies to personalize content and ads, to offer features for social media and to analyze the access to our website. We also share information about your use of our website with our social media, weaving and analytics partners. Our partners may combine this information with other information that you have provided to them or that they have collected as part of your use of the Services. You accept our cookies when you click "Allow cookies" and continue to use this website.

Allow cookies Privacy Policy

Heroku Platform

Heroku is a cloud-based platform and works as a Platform-as-a-service. It helps developers and companies to build, deliver, monitor and to scale applications without acquiring a deeper knowledge of the server or system administration. Today (2017) the platform supports all apps which are written in Ruby, Java, Node.js, PHP, Go, Scala, Play or Clojure.

Coding

A short history

Heroku was founded by James Lindenbaum, Orion Henry and Adam Wiggins in 2007 and sold to Salesforce in 2010. Unsurprisingly, the headquarter is in San Francisco. At the very beginning Heroku only supported RubyOnRails applications. Therefore the RubyOnRails boom around 2010 also pushed Heroku’s popularity. According to the company it already helped millions of developers to deploy their apps into Amazon Web Services (AWS). Since the takeover of Salesforce it has integrated even more services, supported more developing languages and it has changed its pricing structure and user interface - not only once.

Bildschirmfoto-2017-09-17-um-12.41.59.jpg#asset:361

Screenshot Heroku.com

Overview of functionality

Heroku is app-orientated

The main target groups are programmers, developer teams and software development companies, who don’t want to focus on delivering and setting up server infrastructure, but want to focus on developing nice apps for their customers or their startup. The cloud based environment covers user management, development, testing, quality assurance and handling of staging and production systems.

Smart scaling of apps

A big advantage of Heroku is the possibility to add more resources (dyno) to your app with just a click. Auto-Scaling for dynes is possible as well and can save a lot of money for your clients.

heroku-scaling.jpg#asset:363Screenshot selection of dynos

User friendly environment

Meanwhile Heroku supports a lot coding languages and integrations. Developers can choose their preferred language, database and services for their apps. Outstanding to competitors is the documentation for functionality, the deployment of apps (e.g. RubyOnRails and Spring) or the setup and usage for databases like Postgres or MongoDB.

Secure and traceable deployment

Heroku used GIT version control for the deployment processes. With GIT you get a secure and traceable deployment process, which fits perfectly into modern development processes.

Staging and Production

Heroku simplifies the handling for staging and production systems. The staging system acts as the deployment server for developers and as a test environment for quality assurance. After the test phase, it only needs a click to transfer the current state of staging to production.

Continuous Integration

Another smart service is the continuous integration for your apps. Since we setup the process, we have saved a lot of time by decreasing the error rate tremendously. With the deployment pipeline (staging & production) of Heroku, you can connect and visualize GitHub Repository, Codeship or other CI-Services in a simple way.

Heroku Marketplace

By now, Heroku has become one of the largest marketplaces for software development services in the cloud. Many services can be installed with a click and a small script for your app. the services cover different databases, monitoring tools, log-in services, email/sms, caching, error handling, content management systems, search functionality, tools for metrics and analytics, network services, error alerts and notifications, user management, security, image and video processing ....

heroku-market.jpg#asset:364

Screenshot heroku Marketplace

Heroku Enterprise

Meanwhile Heroku has created an environment, which even larger companies feel comfortable with. Heroku Enterprise helps teams to develop applications collaboratively and provides a multi-level user management for company owners. Furthermore, you get a better support with Heroku Enterprise, which is other respects, because of the large number of developers.

Are there disadvantages?

For sure, many advantages always have some drawbacks: A big disadvantage is costs. Up to a certain level you can use hobby-dynos which costs around 7$/month. But if you want a full functional staging system, a larger database plus 1-2 services the costs can climb up to 50-80$/month. In Parallel you have a production system with similar costs per dyno and database per month.

Another disadvantage is the locked application environment. You will never get a SSH access to it. You have to trust the settings and installation scripts of Heroku. (But it might not be the worst approach, as otherwise developers without system administration skills will always crash their servers.) At least with the Heroku-CLI you have access to your app and you are allowed to access your database directly.

Is it worth for me, for my company, my start-up or my customers?

We think that Heroku is the ideal platform for all who cannot make a huge investment acquiring skills in server administration or pay external companies for that. But, if the monthly costs of your app are similar to the salary of a system administrator, you should think about building your own infrastructure.

If you already have system administrators in your team or company, you will end up using your own infrastructure. But you may show Heroku to your sys-admins and let them create and deploy an app. Eventually if you don’t use the platform, you can learn a lot from Heroku when it comes to usability and developer friendliness.

What are the alternatives to Heroku?

Not only Salesforce has seen the potential of cloud-based development environment. Since the launch of Heroku until today (2017) a lot of companies have been developing a Platform-as-a-Service for app deployment. Depending on the orientation of the community or company, they all try to provide a workflow for deployment, which is developer friendly. Most of them integrate a lot of external services. A short overview of competitors:

OpenShift - Open Source, Auto-scaling, cloud-based, git integration

DigitalOcean - SSD Cloud-Server, dedicated IP and root-access

Google App Engine - Deploy apps in google data center, in the past they focused on Java Apps

Microsoft Azure - Smart hosting and scaling with Microsoft Azure und SQL Azure

Nanobox - Strong competitor with lower costs and same functionality

Cloudfoundry - Open Source, Paas for Java, Ruby, Python und Node.js

CleverCloud - Secure infrastructure, auto-scaling, fair cost structure and integration of many services

DE