The events in the news yesterday underscored how dangerous it can be out there in the real world. Oh, I'm not talking about the middle east or urban high-crime neighborhoods or other traditional hotbeds of violence. The new ground zero is the American department store during the Christmas shopping season. Yesterday I read in horror how shoppers at WalMart trampled and killed an employee. While my mind was still reeling from this, I was further shocked to hear two men had shot and killed each other at a Toys-R-Us. To take someone's life is tragic, but to do so in the name of competitive shopping takes us to a new low. I find myself suddenly motivated to do all my shopping online where I can steer clear of the animals.
Worker Trampled to Death in Wal-Mart Sales Stampede
Two armed men shoot and kill each other at a Toys-R-Us
Saturday, November 29, 2008
Wednesday, November 26, 2008
Channel 9 video - Impact of Cloud Computing
There's a new Channel 9 video out on ARCast.tv where Mickey Williams and I are talking about the impact of Azure Cloud Computing on developers.
ARCast.TV - Mickey Williams and David Pallmann of Neudesic on the Impact of Cloud Computing
ARCast.TV - Mickey Williams and David Pallmann of Neudesic on the Impact of Cloud Computing
Friday, November 21, 2008
Xbox Live Avatars
XBox Live underwent a major uggrade this week. One of the most captivating features is the addition of avatars. Forget the games, my family and I had a ball designing our own personal avatars. The avatar designer is slickly done, fun to use, and has oodles and oodles of choices for everything from hair style to the shape of your ears. Once you create and save your avatar on your XBox, it's also available for download from xbox.com as an image file. Here's my entire family as XBox avatars:

The Sin of Verbosity and the Art of Brevity
I have much to say, but I'm going to make myself say it in less than 500 words. You'll see why.
One of the greatest gifts you can give yourself is self-improvement. Our shortcomings may be obvious to all around us but we can be blind to them. If you can recognize your shortcomings you can do something about them, and if you really work at it you can make some amazing and lasting changes in yourself.
One of my shortcomings is the sin of verbosity: taking too many words to say something. That is, using a much larger number of words to express something that really could be said in a much shorter and clearer way. Coupled with this is repetition, needlessly repeating what has already been said which is unnecessary because it has already been said. Do you see what I mean?
What's so bad about being verbose? It's just a few extra words after all. In fact, the driving force behind verbosity (at least in my case) is the desire to be precisely understood. To me it's always seemed downright dangerous to just say a few words: they might be understood incorrectly or incompletely. I now know that notion is completely backwards. Verbosity does not aid clarity, it impairs it.
Some people just downright hate verbosity. When my book Programming Indigo came out, one of the first reviews rather unnecessarily went to great lengths to trash the book. While I think the attack was way overblown (many have told me they appreciated this book), it was clear the reviewer was mostly offended by verbosity and repetition. And to that I plead guilty.
When I worked at Microsoft, my superiors had little tolerance for verbosity, or for me. :) While there I learned a great deal about how to take raw information and distill it into its essence and communicate it in a concise way with clarity. This takes work. Whoever said "if I had more time, I would have written a shorter letter" knew what they were talking about: brevity with clarity requires effort and refinement. It may come naturally to a precious few, but the rest of us have to work at it. Especially the great unwashed, verbozos like me. Brevity of course is right in line with the larger concept of Less is More.
Am I over my verbosity? No way, I'll need to consciously work at it for the rest of my life. But as an ongoing student of brevity, I'm getting better at it. I sometimes take 30 minutes to compose an email, not to make it long but to make it short--and clear. And I was able to reduce this blog posting from its original 1000 words down to 460. That says a lot.
One of the greatest gifts you can give yourself is self-improvement. Our shortcomings may be obvious to all around us but we can be blind to them. If you can recognize your shortcomings you can do something about them, and if you really work at it you can make some amazing and lasting changes in yourself.
One of my shortcomings is the sin of verbosity: taking too many words to say something. That is, using a much larger number of words to express something that really could be said in a much shorter and clearer way. Coupled with this is repetition, needlessly repeating what has already been said which is unnecessary because it has already been said. Do you see what I mean?
What's so bad about being verbose? It's just a few extra words after all. In fact, the driving force behind verbosity (at least in my case) is the desire to be precisely understood. To me it's always seemed downright dangerous to just say a few words: they might be understood incorrectly or incompletely. I now know that notion is completely backwards. Verbosity does not aid clarity, it impairs it.
Some people just downright hate verbosity. When my book Programming Indigo came out, one of the first reviews rather unnecessarily went to great lengths to trash the book. While I think the attack was way overblown (many have told me they appreciated this book), it was clear the reviewer was mostly offended by verbosity and repetition. And to that I plead guilty.
When I worked at Microsoft, my superiors had little tolerance for verbosity, or for me. :) While there I learned a great deal about how to take raw information and distill it into its essence and communicate it in a concise way with clarity. This takes work. Whoever said "if I had more time, I would have written a shorter letter" knew what they were talking about: brevity with clarity requires effort and refinement. It may come naturally to a precious few, but the rest of us have to work at it. Especially the great unwashed, verbozos like me. Brevity of course is right in line with the larger concept of Less is More.
Am I over my verbosity? No way, I'll need to consciously work at it for the rest of my life. But as an ongoing student of brevity, I'm getting better at it. I sometimes take 30 minutes to compose an email, not to make it long but to make it short--and clear. And I was able to reduce this blog posting from its original 1000 words down to 460. That says a lot.
Wednesday, November 19, 2008
Debugging Azure Cloud Applications
At some point you will need to debug your Azure cloud applications. Here is some guidance on what the options are.
Local Debugging. First off, the general hope is that you'll catch and fix problems on your local box long before you place anything into the cloud. Locally you can use familiar tools such as the Visual Studio debugger and event logs and other tools to get to the root of problems.
Application Logs. However, it's possible to have an app that works locally that doesn't work when deployed to the cloud. What do you do then? You look at the logs for your application, that's what you do. Unfortunately this is something of an involved process today:
Local Debugging. First off, the general hope is that you'll catch and fix problems on your local box long before you place anything into the cloud. Locally you can use familiar tools such as the Visual Studio debugger and event logs and other tools to get to the root of problems.
Application Logs. However, it's possible to have an app that works locally that doesn't work when deployed to the cloud. What do you do then? You look at the logs for your application, that's what you do. Unfortunately this is something of an involved process today:
- You have to first find the Copy Logs button, which is lurking under your Configure button on the Azure portal. This hasn't been obvious to everybody.
- Clicking Copy Logs will copy your logs to your storage account.
- Lastly you need to run a program to read your logs out of cloud storage so you can view them. There is a sample in the Azure SDK called CloudDrive that does this. It is an exension to PowerShell. There is some work involved to configure, build it, and get it going the first time around.
No doubt this will become more streamlined over time, but it's what we have to work with today. Benjamin Day has written an excellent post that gives a blow-by-blow account of exactly what you need to do, including screen captures. You can also instrument your application to write to those logs using the RoleManager.WriteToLog method.
MSDN Forums. MSDN has a very good set of forums set up with several Azure categories. I've mostly been interacting with the Windows Azure forum, and I've found it to be a great place to go to get answers or help others. Moreover, Microsoft personnel have been fantastically responsive and helpful. So if the above methods don't help, post your problem to the appropriate forum. Between Microsoft and the community you'll likely get some help.Tuesday, November 18, 2008
Is Cloud Computing Just Hosting?
I recently had a chance to chat with some I.T. people who had been noticing all this cloud computing buzz but didn't see what all the excitement was. Cloud computing seemed like a new word for an old thing: hosting. They knew all about hosting and had been using it for years.
Is cloud computing just hosting, re-branded? The answer is no. And yes. Really, it's hosting++. Let's dig in and see how cloud computing is like and unlike hosting.
- Automatic Provisioning and Deployment. Like standard hosting, cloud computing gives you a place to run your applications and store your data in a managed data center. Unlike standard hosting, you aren't required to remotely connect to a specific set of machines and configure them yourself. Instead, you provide the data center with your code and metadata about what its needs are. The data center takes care of virtualization, provisioning, deployment, and load balancing for you--completely automatically. You never get involved in installing software or configuring servers. In Windows Azure, this is all controlled through a well-designed portal at Azure.com.
- On-Demand Scaling. Like standard hosting, your cloud computing code and data is maintained on servers and storage devices. Unlike standard hosting, the scale-out of your code and data happens automatically, on-demand. If traffic levels increase, so does the instancing. If traffic levels drop, the number of active instances goes down. You can grow anytime, without having to requisition new hardware. Azure never wastes your money or the data center's hardware.
- No Long Term Commitments. Like standard hosting, cloud computing costs something. In the case of Azure at least, you aren't required to make a long term commitment or sign a contract for a specified period of time such as one or more years. You pay for what you use, and you can stop anytime without penalty. It's computing done right.
- Pay as You Go. Standard hosting often charges you for keeping machines and storage available regardless of the extent to which they are actually used. In Windows Azure cloud computing, you only pay for what you use. If you use more, you pay more. If you use less, you pay less. Just like how your electric or water bill works.
- Additional Services. Standard hosting doesn't generally provide any new software capabilities, it's just an alternative place to run code and store data. Windows Azure does provide new software capabilities, and they are both numerous and compelling. Live Services allows you to tap into the Windows Live identity and contacts services. Geneva technology allows you to support enterprise customers and let them use their native security system; and you can even federate a mix of enterprises and security mechanisms simultaneously. SQL Services provides database services with new scalability options not available in the enterprise. .NET Services gives you a service bus, which allows for business-to-business publish/subscribe communication that is firewall friendly. .NET Services also lets you run workflow in the cloud. Windows Azure really is an operating system for the cloud, and Azure Services really provide applications with a fresh set of capabilities that are also easy to get at and combine.
- Available, Scalable, Reliable. In the enterprise, some of the hardest things to do well are high availability, dynamic scalability, and high reliability. These things come "for free" with the cloud any time you use it.
Hosting is to cloud computing like radio is to color TV. There's nothing wrong with hosting, but the next generation is upon us.
Saturday, November 15, 2008
Overcoming Fear of Cloud Storage
Dr. McCloud here once again with another installment of Overcoming Fear of the Cloud. This time we're looking at the fear of cloud storage.
Concern about storing data in the cloud is one of the first objections to cloud computing that is raised by some who work in the enterprise. Usually the expression of concern is followed by a gentle but firm explanation of how vital, proprietary, and utterly irreplaceable this information is. The message is clear: the data is critical to the operation of the business; the data must be protected; and maintaining its integrity and availability is paramount. The enterprise goes to great lengths to ensure this.
The first thing I will say about this is, you may be right in some cases. Some data does belong in the enterprise, depending on the nature of the data and the organization and the regulations it is subject to. But that's a far cry from saying no enterprise data should ever go into the cloud. That's why I think Microsoft's vision, called Software + Services, makes a great deal of sense for the enterprise. S + S is all about recognizing that some software and data is best kept local, while other software and data is best placed in the cloud. Rather than dictating what the split should be, S + S says you are in the best spot to make that determination. Dr. McCloud likes to call this writing your own prescription.
We can use the existence of the hosting industry to demonstrate the idea of putting your data "out there" can work for businesses. The idea is neither new or unproven and is used successfully today by businesses of all sizes. For sure, you need to have a strong comfort level about the vendor, the storage practices, the fail-safes, the data protection policies, the service level commitment, the security arrangements, and the degree of control you have. Dr. McCloud prefers sound methods of treatment and so do his patients.
Learning more about how the cloud infrastructure handles storage should also encourage you. Let's look at Windows Azure specifically. When you store something in the cloud, it gets simultaneously written to several different places, each in a different fault domain. SQL Services and cloud blob/queue/table storage are designed to scale supremely and automatically. Many things that are commonly needed in the enterprise are also very difficult, expensive, and time-consuming to get right, such as high availability, sufficient scalability, disaster recovery, and dynamic adjustments to changes in traffic levels. These things come "for free" with the cloud platform every time you use it.
One last point, putting data in the cloud does not necessarily mean it vanishes from the enterprise. We'll likely be seeing some interesting patterns develop for synchronizing and safeguarding data that lives in more than one place.
Cloud storage is a good thing, and you don't have to feel like you're taking some tremendous risk to try it out as long as you exercise a little common sense. Dr. McCloud thinks this makes for an excellent prognosis.
Concern about storing data in the cloud is one of the first objections to cloud computing that is raised by some who work in the enterprise. Usually the expression of concern is followed by a gentle but firm explanation of how vital, proprietary, and utterly irreplaceable this information is. The message is clear: the data is critical to the operation of the business; the data must be protected; and maintaining its integrity and availability is paramount. The enterprise goes to great lengths to ensure this.
The first thing I will say about this is, you may be right in some cases. Some data does belong in the enterprise, depending on the nature of the data and the organization and the regulations it is subject to. But that's a far cry from saying no enterprise data should ever go into the cloud. That's why I think Microsoft's vision, called Software + Services, makes a great deal of sense for the enterprise. S + S is all about recognizing that some software and data is best kept local, while other software and data is best placed in the cloud. Rather than dictating what the split should be, S + S says you are in the best spot to make that determination. Dr. McCloud likes to call this writing your own prescription.
We can use the existence of the hosting industry to demonstrate the idea of putting your data "out there" can work for businesses. The idea is neither new or unproven and is used successfully today by businesses of all sizes. For sure, you need to have a strong comfort level about the vendor, the storage practices, the fail-safes, the data protection policies, the service level commitment, the security arrangements, and the degree of control you have. Dr. McCloud prefers sound methods of treatment and so do his patients.
Learning more about how the cloud infrastructure handles storage should also encourage you. Let's look at Windows Azure specifically. When you store something in the cloud, it gets simultaneously written to several different places, each in a different fault domain. SQL Services and cloud blob/queue/table storage are designed to scale supremely and automatically. Many things that are commonly needed in the enterprise are also very difficult, expensive, and time-consuming to get right, such as high availability, sufficient scalability, disaster recovery, and dynamic adjustments to changes in traffic levels. These things come "for free" with the cloud platform every time you use it.
One last point, putting data in the cloud does not necessarily mean it vanishes from the enterprise. We'll likely be seeing some interesting patterns develop for synchronizing and safeguarding data that lives in more than one place.
Cloud storage is a good thing, and you don't have to feel like you're taking some tremendous risk to try it out as long as you exercise a little common sense. Dr. McCloud thinks this makes for an excellent prognosis.
Subscribe to:
Posts (Atom)