Rod Johnson led off with a Dilbert cartoon about the cloud/platform – the pointy haired boss says “it’s like you are a technologist and philosopher all in one” in response to “blah blah blah cloud”.
Benefits of cloud
- No reason to operate own data center because does not scale. Also noted the environmental impacts due to overprovisioning on small/medium data centers. Large companies will adopt onsite/internal clouds.
- Compared computing to a utility and noted factories used to operate their own electricity. Really good analogy!
Perceived weakness for Java in the cloud
- Perceived to be slow and startups look to Ruby and the like. This is a problem because these are the companies that are tomorrow’s leaders
- Universal hosting not available like PHP
Strengths of Java in the cloud
- Write once run anywhere
- Java already in the enterprise
- In actuality scales better than Ruby
- We think if the internet as free when we use it. However, there is a cost and the energy use is very high.
- Rod Johnson considers flexibility to be a more important driver than cost. That way pay when need and not guessing up front if a startup will succeed. Compared to the Zipcar model. It costs more per mile but cheaper if don’t drive a lot. Another great analogy.
- Simplicity, because large organizations have a lot of bureaucracy and provides a way to subvert that bureaucracy [some of that bureaucracy has a reason, accounting and security teams are not going to be happy with subverting things. However, an internal cloud provides benefits without subverting.]
- Need architectural trade offs for economies of scale
- If cloud is about business agility, need to be able apps fast which is why Rails shines. Notes the importance of being perceived as being able to start fast. [sounds like this is more valuable than maintenance]
- It is more important to have one good option than a lot of medium options. Thinks Java community needs a cultural change to pick a stack. Showed how having two IDES of eclipse and intelij means good products and not a lot of poor choices. Interesting NetBeans was left off the list. rails helps because gives you less choices and saves time by encouraging consistency
- The line between development and operations is blurring. No common tool chain organizational chaos. More self service in cloud because developers deploy
- IaaS (infrastructure as a service) – vmware vcloud
- PaaS (software as a service) – must abstract away OS, provide self service and be a productive programming model
- Frameworks are key to portability – gave example that Spring isolates you from the app server [in other words if you deploy your container in your application, you don’t have to worry about the external container as much]. I liked the Ruby example better because Rails is. Framework that doesn’t replace the container.
- Challenges: a lot more and complex data, adapt to RDBMS + NOSQL. Recognize what datastores need to be transactional. plugged Spring data project. Similarly for asynchronous data patterns
- Visual builders are usually horrible because build uneditable code. Wavemaker is different because Spring owns it. I think there as another reason he tried to state but i didn’t catch it. Maybe it builds on roo?
- -2005 : make java work
- 2005-2010: RIA, REST, higher productivity
- 2010-?: beyond RDBMS, mobile/tablet, cloud, even higher productivity required
the end was all blatant advertising of spring’s tools.