“So where do I as a developer go to learn more about cloud computing and the ecosystem of tools available to me?”
This is the question that kicked off this series of blogs. I was on a panel at CloudCamp St. Louis fielding various questions about converting applications to cloud architectures. Having helped many Appistry customers build cloud oriented solutions, I was happy to help the group get acquainted at these concepts. Unfortunately, I didn’t have a good answer for this person. With as much writing and talking as there is about cloud computing, I don’t know of any single one-stop resource to learn about the concepts and tools from a developers perspective. I’m going to try to fill that gap.
Continue reading →
In September I presented on the foundations of MapReduce and MapReduce applications at the St. Louis Lambda Lounge.
It always surprises me how simple the MapReduce algorithm is and how few people really understand it. After the talk I had multiple people approach me and say “I have had elements of MapReduce on my applications for a long time and didn’t know it.”
Continue reading →
The VMWare/SpringSource acquisition announcement took me by surprise. My first question was what is VMWare getting themselves into? I have always thought of VMWare as the “Switzerland” of infrastructure tools. Whether you are Windows or Linux, C++ or Java, packaged software or open source VMWare can help you build, test, and deploy your environment. Why are they giving up their independent status by picking a Java framework like Spring?
Continue reading →
In my last blog entry I discussed how Test Driven Development (TDD) lead me to a greater understanding of the Open-Closed Principle (OCP). The general feedback from the post was very positive. However, several readers asked a question that I would like to answer. They pointed out that although I was discussing OCP, my example really displayed the Dependency Inversion Principle (DIP). Was my blog post misleading?
Continue reading →
The open/closed principle (OCP) (a software concept whose definition I could recite, but whose meaning I hadn’t internalized until recently) simply states:
Software entities should be open for extension, but closed for modification.
Correct application of the open/closed principle results in classes with high reusability, as the classes are built with extension in mind. OCP also provides consistency because established classes do not change after completion. Any developer will agree that reusability is a noble goal, but how do we know when we have achieved it?
Continue reading →