Be your own Heroku

opinion
Jan 12, 20163 mins

Heroku is one of the oldest PaaS services on the market today, and feature-wise, it can stand toe to toe with the big three: Microsoft, Amazon, and Google

These days it might seem the cloud is owned by the big three: Microsoft, Amazon, and Google. If you stop looking there, though, you’ll miss out on some big offerings.

For example, take Heroku, a Platform-as-a-Service offering from Salesforce.com. While it may not have the marketing push behind it that other platforms do, Heroku can stand toe-to-toe with them feature-wise and deserves our attention.

Heroku is actually one of the oldest PaaS services on the market today, as it was originally developed in 2007 as a Web-based Ruby on Rails delivery platform. With a focus on ease of use and wide developer appeal, Heroku paved the way for much of what we consider standard features in a PaaS today. Once Heroku hit mainstream, it picked up a variety of programming languages and now supports Node.js, Python, PHP, and other popular languages alongside Ruby. Heroku’s early design goals of simplicity make the overall structure and interface extremely easy.

Instead of focusing on instances or apps, Heroku uses dynos, which are based on Linux containers. If you require more dynos to handle additional requests in your app, simply scale out the number of dynos at your disposal. If the dynos require more memory or processing power, individual Dynos can be scaled up. Dynos host your Web or background-processing code, and Heroku handles all of the rest of the interaction.

Developers don’t need to download or learn new complex tools for deploying code onto the Heroku platform, either. You can rely upon a widely-used tool that you are probably already familiar with: Git. By using a private Git server for code deployment, Heroku helps shorten the learning curve for the platform. You can even link an existing Dropbox account and deploy your code to Heroku from there!

When it comes to data storage, Heroku has many options as well. Heroku Postgres is an SQL Database-as-a-Service that connects seamlessly to your Heroku application. Postgres has database connectors for any of the languages used on Heroku App and can be accessed either from your dynos or from an external connection hosted on your local machine or other third party server. This means a flexible, hybrid-capable relational database is ready to go for your application deployment.

Alternative data sources also are available on the Heroku platform. Heroku integrates a Redis cache for your use which allows for fast, standardized in-memory caching to speed up your application. On top of that, a long list of add-ons known as Heroku Elements allows you to click-to-deploy a huge number of pre-built services for Heroku. Run MongoDB locally on your dyno or connect seamlessly to a MongoLab database cluster. Search APIs such as Yahoo BOSS and Searchify can be deployed with zero coding effort. Everything on the Heroku platform is designed from an application perspective to be as easy and quick to set up as possible.

Heroku offers the best of many worlds. It’s developer-friendly focus and commitment to ease of use means you can be up and running with a Heroku app in no time at all. With the backing of Salesforce.com, you know it will be reliable and supported by world-class engineers. It’s important to look outside the box when choosing technologies and Heroku is a outstanding effort in that space.

Ben Finkel has worked in software development for 18 years within a variety of industries, including banking/finance, insurance, and healthcare. Before joining CBT Nuggets, he was a software engineer at M&T Bank in Buffalo, New York. He is a Google Certified Trainer. When he’s not creating CBT Nuggets training videos, Ben enjoys skiing, snowboarding, reading, and homebrewing beer and cider. He also considers himself a hobbyist programmer and likes learning new development technologies.

Areas of Expertise: Google Certified Trainer, Microsoft ASP.NET (WebForms and MVC), Data Analysis and Design, Relational Database Architecture, MS SQL Server, Microsoft C#.NET, Javascript, jQuery, Microsoft Visual Basic .NET & 6.0, .NET Reporting Services, MS Access, Python

The opinions expressed in this blog are those of Ben Finkel and do not necessarily represent those of IDG Communications, Inc., its parent, subsidiary or affiliated companies.

More from this author

Garth Schulte began training on Office products about 20 years ago. His love of training led him to branch out to technical VB6 and SQL Server training. One of CBT Nuggets's longest-tenured trainers, he recently worked as a product manager, lead .NET windows programmer and SQL Server architect for one of the top back-end real estate software companies in the country. He is a Google Authorized Trainer.

He has the following certifications: Google Authorized Trainer, MCSD, MCSD.NET, MCDBA, MCSA. His areas of expertise are in Visual Studio 6, Visual Studio.NET Windows/Web Programming, SQL Server 6.5-2012, Google Cloud Platform.

The opinions expressed in this blog are those of Garth Schulte and do not necessarily represent those of IDG Communications, Inc., its parent, subsidiary or affiliated companies.