Bringing the best software speakers to the East of England
The Heroku Platform as a Service (PaaS) enables developers to deploy web applications to a cloud-based host. This small book (it is a mere 83 pages long), explains the concepts behind Heroku and how to get the most from it.
The book does a good job at covering Heroku and its related concepts. It turns out that Heroku is quite a small and simple system, so the book is padded with related knowledge like scaling and monitoring.
It starts by discussing the evolution of web deployments, and the motivation behind the creation of Heroku. Next is how to get up and running – the example the authors use allows you to deploy your first web app in seconds. Next, we get to the main part of the book. The focus is on deploying your application, and then scaling it to support more throughput. Finally, there are some details on how to monitor your application, and customize your deployments using buildpacks.
Early on the book introduces the authors, and it turns out both work for Heroku, so you know you are in expert hands.
Despite being a small book, I was surprised that it lacked an index, so it wasn’t easy to look up specific terms. However, the book is well organised and I felt it was in a logical order as I worked through it.
The layout as you would expect in an O’Reilly book is very clear, and easy to read.
The text does very well to explain new concepts in a simple way, and each chapter builds on the knowledge laid down before it.
The books seems slightly confused over its target audience: Early on it states that it is “…aimed at anyone who is already using Heroku” and in the next paragraph “The book assumes no previous knowledge of Heroku itself…”
In my opinion, the book would suit complete Heroku novices – even those that have never used it before.
It was good that the book wasn’t language-specific in any way. Despite Ruby being an obvious choice – both authors are Ruby enthusiasts – the book is generic enough to apply to any application language that Heroku supports (currently, Ruby, Java, Python, Clojure, Scale, Node.js and Play).
The example used for getting up and running was nice and simple. It was a good feeling to be able to get hands-on so early on in the book.
At times, I found the language of the book somewhat patronizing, for example “Heroku supports open source and so should you”, but in general the tone was friendly and concise.
I was a little surprised to see no mention of building applications on the Facebook Platform. As the first hosting provider Facebook partnered with, Heroku is likely to become a popular choice for hosting apps.
Some concepts are given an overview, and then surprisingly not taken further. For example, the book discusses scaling out your application by spitting it into smaller services. A real world example with actual source code may have been useful here. For example, if I have an existing Ruby on Rails application that I want to scale up – what architectural changes would I need to make?
Despite those minor reservations , I would still recommend this book. If you are a web application developer and are interested in learning about cloud-based deployments, then the book is a good introduction to the Heroku way of doing things.
The book would be of most interest to Ruby on Rails web application developers looking for a simple hosting platform that can scale on demand.
Add a Comment