Passing semi-technical certification exams like the Salesforce Pardot Developers Certification exam (hurray) makes me a digital marketing consultant. But not a programmer. So, when asked ‘what is Heroku used for’, I felt the need to write a simple answer for business managers to understand.
If your company has been evaluating Salesforce as a potential solution for moving its business to the cloud, then your IT team might have dropped the term Heroku.
What is Heroku ?
Heroku has nothing to do with Haiku. It may sound Japanese, but it’s not. Instead, it is a company with important LEADING EDGE internet technology that you should get your mind wrapped around.
Heroku is Salesforce.com’s cloud platform as a service (PaaS). Heroku’s founding mission is making the deployment and management of next-generation cloud apps as easy as developing them. This allows developers to focus on writing their code, while Heroku takes care of the rest — from deployment to scaling and quality of service. Developed by developers for developers, it hits the mark. It’s powerful.
What is Heroku used for, exactly?
By the looks of it, Heroku is a dashboard for developers that lets them build, config and run/manage apps. This dashboard provides an overview of all their apps, resources these apps are using, their recent activity, and collaborators. Its support several programming languages which means that your developers can use the languages they already know to build and deploy apps on Heroku.
When acquired by Salesforce end 2010, Heroku was the leading Ruby platform-as-a-service. It was built from the ground up to work in an open environment and take advantage of the Ruby language. Ruby had become the leading development language used to write next-generation social and mobile applications. Think… Groupon. Or Twitter. Those apps.
Today, Heroku supports several other programming languages beyond Ruby: Node.js, Python, Java, and PHP as well as others via its Heroku Elements.
Heroku Elements
About 10 days ago, the company announced Heroku Elements. This is a marketplace for contemporary app builders. These days, apps are more composed than built. Rather than building apps from scratch, today’s app developers tend borrow from previous projects, and adapt templates as a good foundation. Heroku Elements offers a simpler way to discover and select the best components to build apps fast.
Heroku Elements consists of open source scripts for compiling apps, called Buildpacks; fully-managed services, called Add-ons; and Heroku Buttons, which let you one-click provision, configure and deploy third party components, libraries and pattern apps.
Two other aspects of Heroku worth noting:
Heroku Node.js
In particular, you may have seen Heroku Node.js mentioned in the documentation of your IT department or in the press. Heroku Node.js is a platform that fills a particular need. It is to be is used for real-time web applications employing push technology. Node.js is built on Chrome’s JavaScript runtime and it is event-driven. Developers use it to easily build fast and scalable network applications as it’s lightweight and efficient.
In business language, this means that Heroku Node.js is perfect for data-intensive real-time applications that run across distributed devices. Examples of where Heroku Node.js is to be used is when you want to offer chat, a typical real-time, multi-user application; when you want to queue inputs of large amounts of concurrent data into your database; or when you want your website to do data streaming.
Heroku Postgres
Heroku Postgres is its SQL database service for developers. It offers a wide spectrum of plans appropriate for everything from personal blogs all the way to large-dataset and high-transaction applications. Choosing the right plan depends on the unique usage characteristics of your app as well as your organization’s availability and uptime expectations.
Heroku Pricing
Heroku pricing: it’s a pay-as-you-grow model: flexible and scalable from beta to launch to growth and adoption. You can choose from several options of Dynos (i.e. unit of computing power on Heroku, providing lightweight, isolated containers that run your app); Databases; Support levels; and nearly unlimited Add-ons, which are now offered via Heroku’s new Heroku Elements. For more info: https://www.heroku.com/pricing
Heroku Competition
Developed in 2007, Heroku was one of the first cloud platforms out there. And even today, it has just a few competitors most notably:
- Distelli develops a software as a service (SAAS) that is also basically a dashboard for software developers to keep track of who is working on what part of the software deployment process. Every server, like AWS, Google Cloud, and Microsoft Azure, requires a slightly different deployment process and Distelli works with any type of server (on-premise, public cloud, virtual machines, or containers) and can quickly deploy apps in a single click. Distelli was founded in 2013 by one of the first engineers of Amazon Web Services. Late 2014, it received funding by the VC firm of Marc Andreessen, the founder of the Internet. May we deduct that Heroku and Distelli have HOT technologies that are fundamental for the future of your web presence.
A few other competitors worth mentioning:
- Nodejitsu Inc, a cloud platform as a service (PaaS) based on Node.js, serving Node.js applications on their platform. Based in in New York, with datacenters in other parts of the US and in Europe. But, February 2015, Nodejitsu was acquired by GoDaddy and will be exiting the PaaS business.
- Rightscale, a SaaS-based cloud computing management solution for managing cloud infrastructure across multiple IaaS providers. RightScale enables organizations to easily deploy and manage applications in the cloud. Rightscale was funded in 2008.
References
- http://www.heroku.com
- http://www.toptal.com/nodejs/why-the-hell-would-i-use-node-js
- http://uk.businessinsider.com/distelli-andreessen-horowitz-funds-former-aws-engineers-startup-2015
If you have other titbits of information, or other suggestions to add to this article, feel free to leave us a comment.