Enterprise Clouds
Cloud Computing is starting to mature, and evolve into something that brings tremendous value not only to companies but consumers. Amazon and Google have their offerings, then others like Cloud Foundry extending on Amazon’s cloud easing the deployment of Java, Spring, and Grails based applications.
Regardless of outsourced infrastructure or in-house organizations, Cloud Computing is the model to embrace. Setup, configuration, and deployments have to be compressed from months, weeks, days to hours and minutes. Configuration, utilization, as well as system and application monitoring has to be standardized instead of a one-off for every solution that is deployed. The technology designs that are deployed today are already complex, and making each one do the basics different every time, is just too costly in terms of setup, and ongoing support. So internal private clouds or outsourced private/public are where the world is evolving.
Now up through the infrastructure world, and into software applications. I have never embraced the Ruby, Rails, and now Grails models, as I felt the scripting languages loose typing and constrained development models could only work for a small set of applications, and fell apart on more complex applications. However, after working with Groovy and Grails for about a year now, I have to say I was wrong. Obviously, one can hack around in these dynamic tools and create a mess, but that can be said for just about any software technology. I like the ease of use in development, added capabilities like closures and GORM, and then having all of Java available anytime it’s desired or needed. Maven and Grails together is still a bit cumbersome, but its moving in the right direction.
Because of cloud computing and these new software tools, the complexity of solution development, deployment, and support is coming down significantly, this should give new ideas a quick path to availability. Getting new consumer services to market faster, and more importantly, on the downside, getting them to failure as quick as possible without significant capital expense. Finding out what does not work quickly, then being able to move on to what does at a much faster clip.
Take a good look at Grails and Cloud Foundry, it’s the future unfolding.
http://code.google.com/appengine/
Cheers!
Tom