Cloud Computing Overview

If you read the trade press, you know there has been a lot of hype over Cloud Computing. At first I ignored it. But Cloud Computing does not look like it is going away any time soon. So I figured I had better pay some more attention to it. My main interest is determining how it impacts me as a programmer.

I saw an interview with a manager who discussed her take on Cloud Computing. She defined it as a deployment model. She also called it a shared resource model. I guess the word model comes with the territory here. That is kind of like the word paradigm or capitulation. But I digress. The manager said some of Cloud Computing is like a hosting model. There goes the model word again. Cloud Computing comes with its own security risk due to the sharing of resources. There are scalability issues depending on the numbers of users and load.

But I am a Cloud Computing newbie. So let’s go back a bit. Cloud Computing promises virtually unlimited CPU, memory, storage and bandwidth. The only limit seems to be how much money you have to pay for it. That may seem like a bandit’s scheme. However you are supposed to only have to pay for what you consume. This is analogous to electricity usage.

Unfortunately there are no standards for Cloud Computing. Two large and popular implementations are Amazon Web Services (AWS) and Google Application Engine (GAE). Those are good buzzwords to know for your next cocktail party. There may not be a service level agreement available for users of these platforms.

Experts think that Cloud Computing is going to be a hit in the enterprise. The idea is still in its infancy. In addition to Amazon and Google, Microsoft has recently come out with its Azure platform for Cloud Computing. That however is a topic for a future blog post.

End of Online Class

I have been engaged in an online class on XML. Some time ago I received the last class via email. It might be time to start using my XML skills to use. Hands-on learning is the best way to really learn a subject. I thought I would share what I learned in my last online class. This last class was a review of some XML related topics not covered yet.

XHTML 1.0 is HTML 4. It is HTML rewritten to be valid XML. It is modularized (i.e. split into modules). Some of the cores modules in XHTML are structure, text, hypertext, and lists. Images are notably not part of the core modules.

XPath is a language to express a specific part of an XML document. It is used by both XSLT and XPointer. You can use XPath to navigate an XML document. The root element is specified by the slash character. The asterisk character selects every element in the path. The each sign (@) matches XML attributes. All of these parts are easier to understand with examples. Perhaps I will provide some XPath examples in the future.

Next year my project is going to start receiving all input data in XML file format. I believe they are using XML Schema to be exact. Now I do not directly work on the team that loads data into our system. I work on applications that use that data. However I might be involved with the changes to read the XML source files pretty soon. Practice makes perfect.