Waza conference report
January 13th, 2012 · No Comments
Two days ago I attended Waza, Heroku’s first developer conference, “a free developer event for the study of technique” (Waza means technique in Judo and Aikido).
It was a very good event, held at Yoshi’s San Francisco, a wonderful jazz club/japanese restaurant. The choice of venue meant they kept the event small, I counted between 200-300 developers, but there were cameras everywhere, and all talks were taped, so I expect the videos from the talks to be published soon. Holding the event in a jazz club made it very convivial, there were tables, couches and seats everywhere, which favored small groups gatherings and conversations, and that part worked really well, I saw developers in conversations everywhere. They also had alcoves specialized by topic (Java, Ruby, Data) where you could come sit down and ask questions to Heroku staff. Heroku is now part of Salesforce.com, and you could feel the powerful Salesforce marketing machine behind the event organization: stylish decoration, with a purple theme, including purple lightning in the whole venue, Japanese theme, exquisite sushis and finger food, green tea and even drip coffee.
What worked a bit less well were the rooms: the large concert room holds 300 people comfortably, but the 3 rooms were other sessions were hosted held between 20-50 people maximum, it was hard to hear and you had to stand during the sessions.
Here are a few pictures I took at the conference, to give you an idea of the atmosphere.
The talks I found the most interesting were:
- Smashing Your App Into Pieces, by Josh Kalderimis (@joshkalderimis) from the Travis CI project. The gist of the talk is that a polyglot PaaS platform enables you to split your monolithic app coded in a single language, in several very focused services that focus on one concern and use the best tool and language to perform that service. He gave the example of the Travis CI open source project that he contributes to, where they refactored the initial ruby app in several more focused apps: they ditched Resque to use RabbitMQ for messaging, Travis Hub is deployed on JRuby 1.6.5 so that it can use the Java Rabbit drivers, and Travis Core runs on Ruby 1.9.2. Since Cloud Foundry is a great platform to deploy polyglot apps (with Java, Ruby and Rabbit support out of the box), this argument resonated very well with me.
- Build As A Service, by David Dollar from Heroku (@ddollar), about Heroku’s buildpacks and the vulcan build server that is at the base of their whole polyglot strategy. A cool aspect of buildpacks is that by specifying –buildpack git-repo-url-for-your-buidpack, you can configure your app to run on a custom version of whatever platform it runs on (ruby, node,…).
- Add-ons: Inception to Implementation, by Chris Continanza (@em_csquared) from Heroku. This one was my favorite after Rob’s. Chris explained how their add-on self service system works for add-on providers. They define a simple api with 4 calls that you have to implement: provision, deprovision, change plan, single sign on, and a gem, kensa, to help you develop and test the add-on. This is simple and seems easy to use. I wonder if it would work as a mechanism to add services to Cloud Foundry. I need to dig into this:-)
- Concurrency Is Not Parallelism, by Rob Pike (@rob_pike) from Google. Rob as usual a great speaker, with a lot of food for thought. The session was about the distinction between concurrency, which is about how to structure a program, and parallelism, which is about its execution, and the fact that the Go programming language has very natural constructs to structure concurrent programs, that may be parallelizable. One example he gave at the end that made sense to me is Sawzall, a programming language he created a few years ago, to make it easier to script MapReduce jobs, that is parallel but does not let you express concurrency. The main message of his talk was: go read C. A. R. Hoare’s 1978 paper “Communicating sequential processes” (context on wikipedia), which influenced the design of Go.
Overall this was a great event, very polished, with some solid and interesting talks, both specific to Heroku’s platform, and some more generally applicable to any application you are building using any cloud service. I will update this post when the videos and slides for the talks have been published.
On the Cloud Foundry side, our developer events so far have been a bit more grassroots, like Google developer events in the early days: no sushi, concert, sake or drip coffee: just engineers, source code, demos, presos and pizza:-) Next week, tuesday 1/17, the Silicon Valley Cloud Computing Group organizes a meetup about Cloud Foundry in Palo Alto. We were initially planning to host it at the VMware cafeteria, but 600 developers signed up, so we had to move it to the Crowne Plaza. I hope to see many of you there, it should be fun. If you are coming and don’t have a Cloud Foundry account yet, you can signup with this promo code to get your account right away.