Before we start please note the below is my own opinion and is in no way endorsed by Qlik as a company. Follow at your own risk :).
The aim of this post is to explore the possibility of hosting a Qlik Sense mashup on the popular cloud web hosting provider Heroku.
What is Heroku?
Heroku (pronounced her-OH-koo) is a cloud application platform – a new way of building and deploying web apps.
Lets app developers spend their time on their application code, not managing servers, deployment, ongoing operations, or scaling.
Developer productivity is the battle cry, at the core of everything. Why require three steps when one will do? Why require any action at all when zero steps will do?
A deployment platform’s workflow and experience should be designed. Every decision – from what HTTP cache to use, to the order of command-line flags, to the color of the buttons – has been made with a maniacal focus on developer productivity.
Heroku is a “Platform as a Service” it sits on top of Amazon web servers which I would describe as “cloud hosting”.
Benefits vs Costs of Heroku
- Easy setup – as a PaaS you don’t need to know how to install and configure Apache, nginx, unicorn, passenger, MySQL, Postgres or whatever web technology your company uses.
- Easier to scale initially – spin up more dynos, size up DBs etc
- Great plugin support for third party apps
- Initial price – It has a free tier which makes it perfect for POCs.
- Great documentation and support.
- Heroku itself sits on top of Amazon Web Services which makes it incredibly supported.
- Heroku toolbelt works with GIT which means you can quickly deploy exactly the same way you would push changes to a Github repository.
- Heroku is consistantly rated as the best Platform as a Service http://cloud-hosting-review.toptenreviews.com/heroku-review.html
- Pricey – after the free tier the pricing is steep, you will pay literally 3x – 5x more than a comparable performing setup through an IaaS although this is likely to be offset by not needing expensive hardware, experience and maintenance of an equivalent web host.
- Lock-In – since you aren’t managing your infrastructure you can’t move it to take advantage of savings unless you plan carefully – but if you get to that stage your probably very successful already :).
What is the use case with Qlik Sense?
My initial thought in using Heroku is that its unlikely that you would want to host a web application on the same box as your Qlik Sense server for lots of reasons:
You want to maximise the hardware RAM usage for Qlik Sense
As a business Intelligence focused team – you might not have the skillset to maintain all the infrastructure for a single web application.
You can quickly throw up multiple mashups, scale them and take them down again extremely quickly. It’s easy to point different URLs at Heroku apps.
The ethos of a quick deployment and developer lead approach fits well with Qlik ethos of ease of use and developer lead approach.
It becomes easier to have some people in a team working on the layout and style (web design people), while the others can focus on the data and business analysis required to deliver the business value that the Qlik Sense objects can deliver.
Combining Heroku with Qlik means you can really focus on the app and delivering and turning self service visualisation very quickly into guided analytics.
It’s still very early days for Qlik mashups but my first baby steps into the space make me think that this could be a formula for seriously scalable Qlik Sense mashups:
Heroku supports many standard programming frameworks (Ruby on Rails, nodeJS, Scala and many more are supported and the documentation is outstanding in the industry). Check it out
Change control used to be a fair task when using Qlikview. The mashup approach means we can use development best practice to make it very easy for new developers to change control Qlik Sense mashups. Heroku provides a great way of doing this with the Heroku toolbelt.
Heroku toolbelt will automatically support GIT integration which makes managing version control and multiple environments much easier than other historical infrastructure approaches to Business Intelligence. It also takes much of the hastle away from maintaining extra infrastructure and allows you to scale from a small prototype use case to an enterprise solution very quickly thanks to the Dyno based billing. It is entirely possible you could go from POC 1 to 5 users to 10000 user install without any significant time investment in moving your mashup.