In Evans Data Corp.'s first 2009 North American Development Trends Report, Joe McKendrick reports that Ruby usage has increased 40% during the past year. Darryl Taft of eWeek writes about the report:
According to Evans Data's biannual North American Development Survey, 14 percent of North American developers use Ruby some part of the time, up from 10 percent in 2008.
Moreover, the survey showed that 20 percent of developers expect to use Ruby in the coming year.
This trend is somewhat corroborated by the Framework Web Trends report from Built With.
To cloud computing there is a special significance in the increased adoption of Ruby, because Ruby developers are the cloud generation.
Back in early May I attended Oreilly Media's RailsConf 2009, the largest annual event for the Ruby-on-Rails community. It was an enlightening experience for me as for the past 10 years or so I had been deeply involved in the enterprise Java world.
For those of you unfamiliar with the story of Ruby, it is a dynamic programming language that has been around for more than 15 years but became "hot" circa 2006, particularly among the Web 2.0 crowd. It really took off when David Heinemeier Hansson developed the Rails web application framework as part of his work on 37Signal's Basecamp software-as-a-Service in 2005. It became especially famous by the fact that companies such as Twitter were using it and Ruby enjoyed an adoption explosion in 2006-07.
So essentially RoR is a programming language that is only now coming of age. And what struck me at Railsconf was that as a community they are taking cloud computing as a given. This is how you deploy apps. Period.
Before I explain further, an analogy I use for this is the telephone infrastructure in under-developed countries. Many countries in Africa and regions of China, for example, jumped straight to cell phone infrastructure. They simply skipped landlines for the most part.
In a similar fashion, the Ruby community is essentially skipping traditionally on-premise installed software. The dominant model for RoR application deployment is cloud, with platforms such as Slicehost (now part of Rackspace Cloud), Engine Yard and Heroku. Cloud services such as New Relic, FiveRuns and Scout provide the de facto standard monitoring and management frameworks, and cloud-based GitHub is the standard code version and developer collaboration tool for the RoR generation.
Moreover, training courses and educational books, such as Oreilly's Learning Rails , use cloud platform Heroku as their standard learning environment. Meaning that a new generation of developers, for whom Ruby is their first or early programming language, are growing up with cloud platforms as a natural part of life, just as my kids are growing up with Google Docs, Wikipedia and smartphones as a natural part of life. Imagine that.
What's also interesting about Ruby-land is that unlike Java, a programming language that made its big entrance a little over a decade ago, there are no dominant software vendors for Ruby infrastructure/framework/middleware/platform space. Instead -- and this is perhaps another area in which Ruby skipped a generation -- all of the application software components are pure open source plays, including Ruby and Rails themselves (and also including a long list of components such as Sinatra, Rack, Mongrel and Thin).
And the same goes for the various Virtual Machine implementations of Ruby, such as MRI (the original), JRuby (a JVM-based implementation) and IronRuby (an implementation for the Microsoft .Net Framework).
If you had gone to a Java conference in 1997, the vendors dominating the show would have been WebLogic and NetDynamics (and Sun, of course) -- the three leading app servers. At the 1999 JavaOne show, they would have been the vendors that acquired them - BEA and Sun.
In the 2009 RailsConf, the two dominant vendors were Heroku and Engine Yard. Unlike some perceive these companies, they are not merely Rails hosting services -- they are the application platforms for Ruby, and they are on the cloud.
Heroku has demonstrated a particularly deep understanding of this role. They have "curated" a complete tightly integrated platform out of the various components and deliver an extremely easy to use platform that takes care of all things infrastructure (scalability, reliability, configuration, database connections, etc.) and lets the developers focus on their unique logic -- not the plumbing. They are, in essence, the WebLogic of the cloud generation.
Full disclosure: I am advising Heroku on strategy and marketing.
Recent Comments