# Wednesday, November 18, 2009

Local access infeasible so you can’t get access to any of the event logs or other tracing that you would normally do on a single server

SDK supports distributed monitoring & data collection for cloud apps.
Support Standard Diagnostics APIs
Built on top of Windows Azure Storage
The same infrastructure is used by Microsoft for their monitoring so they know it scales.
Developers are in control of what gets collected and when to collect it.

MonAgentHost.exe is the diagnostic monitoring piece that is doing the monitoring and is started by the fabric UI on the developer fabric

Used Cloud Storage Studio from Cerebrata Software to show off storage information.

WADDirectoriesTable and WADLogsTable store log information. The data in the directories data is the standard IIS log files that are in put into development blob storage.

The diagnostic monitor is a separate process and can do things like crash dumps and Windows Data Sources like event logs. Data goes into the local storage directory and is then uploaded to Azure storage.

The oldest data will age out.

System.Diagnostics.Trace to write information out to the logs. Reference Microsoft.WindowsAzure.Diagnostics and import the namespace.

DiagnosticMonitorConfiguration lets you set up the configuration information. Everything is buffered locally by default and not uploaded to the storage. You have to provide the storage configuration when you call the Start() method.

TraceListener added iinto the web.config by Visual Studio to allow the monitor to listen to the events and store them.

Microsoft.WindowsAzure.Diagnostics.Manager namespace used to write an application that will let him do on-demand uploads of data to storage.

If you are trying to catch crash dumps in a web role ASP.NET will most likely capture the data so you won’t be able to examine the dump. If you fail in the startup or in a worker role you will be able to get the crash dump information.

Turning on IIS tracing incurs a performance overhead and can not be turned on or off dynamically so you will need to upgrade your application to change the setting.

There is no automatic deletion of logging data from the Azure storage. You need to clean it up so you don’t pay for log entries you don’t need.

Data partitioned by the high order bits of the tick count so you can query on just that partition.

WMI is not supported natively but your role can reference WMI and log the information into an “arbitrary log”.

The role runs in the “Performance Log Users Group”. Soon IIS logs will be generated in the role’s local data directory.

Azure | PDC
Wednesday, November 18, 2009 7:56:00 PM (Mountain Standard Time, UTC-07:00)  #    Disclaimer  |  Comments [0]  | 
# Tuesday, November 17, 2009

Azure contains 5 main pieces:

1. Windows Azure Application Platform
2. SQL Azure
3. Windows Azure platform AppFabric
4. Azure “Dallas”
5. Pinpoint marketplace? (I came in late and only saw the screen for a second so I am guessing this was the 5th element)

Different roles on architecture slide:
Web Role
Dynamic Worker
Distributed Cache Worker
Partitioned Worker

Fundamentals:
Security
Performance and reliability
High availability
Scale out
Multi-tenancy

Service healing is available because the data is copied to multiple servers and if one goes down that can be detected, that instance shut down, a new instance spun up, and a message sent to the load balancer to start sending load to the new server.

New will be drives so you can map to Azure storage and use standard APIs to manage the data.

Coming soon:
1. Programming model – administrator privileges in the VM
2. Storage – user-selectable geo-locations for replicas
3. Service management – remote terminal server access to VMs

Note: These are my raw notes from some of the sessions I attend. Items in italics are my comments. Others are notes from the slides (or at least what I heard).

Azure | PDC
Tuesday, November 17, 2009 7:14:00 PM (Mountain Standard Time, UTC-07:00)  #    Disclaimer  |  Comments [0]  | 
# Tuesday, July 07, 2009

There is an announcement posted at http://blogs.msdn.com/netservicesannounce/archive/2009/07/07/microsoft-net-services-july-2009-ctp-release-announcement.aspx that a new version of the .NET Services SDK has been released. From what I have seen there have been some changes that might require recompiling code. I will have to take more time to look over the release notes and update my samples.

This seems like a refinement of the previous CTP, as it should, as we are nearing the release of the entire Azure platform.

Tuesday, July 07, 2009 8:41:00 PM (Mountain Standard Time, UTC-07:00)  #    Disclaimer  |  Comments [0]  | 
# Tuesday, March 31, 2009

I have been reading about the Cloud Computing Interoperability Forum (CCIF) and its “Open Cloud Manifesto”. I went to their web site to read the manifesto but couldn’t figure out where it was hiding.

From what I saw on the site and the web discussions it seems that they would like to have a common API on top of the different cloud offerings so you can move from one cloud provider to another. On the surface this sounds like a good idea. It would reduce the risk of going with a particular cloud platform and make the different offerings available to a wider group of developers.

Maybe I have been around for too long but this sounds like a lot of similar efforts. There have been a lot of examples of vendors coming together on standards like TCP, HTML, HTTP, WS-*, REST, etc. but these have all come after the market has settled down a little bit. I can remember when everyone was talking about making sure that C compilers were compliant with the ANSI standard. Of course to make sure that there was a differentiator for their product every vendor added their own proprietary extensions. The same thing has happened with databases, languages, and even HTML as they were developed.

We already have interoperable standards like HTTP, WS-*, REST, and the work that has been done to make POX interoperable so I am not sure what they are proposing that would provide anything more than that unless they want to have a “least common denominator” approach to developing code in which case I can see this initiative slowing cloud development as the different vendors will have to agree what the least common denominator is and how each can implement it.

Until I can read the actual manifesto on their web site and not just reports of it I will withhold judgment on whether this is a good idea that hasn’t learned from history of if I am misinterpreting the news reports. In any case I think I will need to be convinced of this idea before I jump on the bandwagon.

A followup on this story. According to the cNet article at http://news.cnet.com/8301-13505_3-10206927-16.html, IBM was behind the drafting and promotion of the Open Cloud Manifesto. I guess that will doom the effort in politics and PR. I didn't bother to read the manifesto after I heard that it was a PR tool.

Tuesday, March 31, 2009 2:10:00 AM (Mountain Standard Time, UTC-07:00)  #    Disclaimer  |  Comments [0]  | 
# Friday, February 06, 2009

I have been looking into Windows Azure lately getting ready for the technology and for the talks I am planning on giving in the near future. When I was telling one of my friends (who loves everything Apple and loves to bash Microsoft) about Azure he was laughing about how the “cloud” sounds very abstract and hard to understand. In the end he was equating the “cloud” to vaporware. I hope I set him straight about how the cloud is more like the Internet where he has data on content delivery networks.

Today I read this article about someone who’s credentials were stolen through a phishing scam and his information and community on Orkut were changed by the phishers. He tried to contact Google about the issue but couldn’t find anyone to help him fix the problem. That has had me thinking about what happens when data or applications have problems in the Azure.

Microsoft has been very clear that the current implementation is pre-release and before it becomes a “real product” they will have a SLA in place. I don’t know what that SLA will entail but I suspect it might be something like Hotmail. Right now I am paying a small yearly fee for Hotmail so I can send and receive larger files and I don’t have to worry about my account being disabled due to inactivity. At one time I had a real need for these services and the price is so low that I keep paying it. What really got me hooked on paying was that I could use Outlook to retrieve my e-mail. This is so much faster and more convenient than the web interface since I have Outlook open anyway. I also found that it got me some enhanced support options (which is really more relevant to the purpose of this post). When I was having problems there was a dedicated support alias that I could use and I got a reasonable response from a live person. I haven’t tried the support on a free account but I would suspect that it would be more automated and point me to the FAQ. I can live with this since I really shouldn’t expect Microsoft to pay for bandwidth, storage, and tech support for a free account. I see trading good tech support for free e-mail. It is a risk/reward equation where I either feel I can fix it myself, ask the community for support, or just drop the e-mail account and start a new one.

If the Azure SLA follows the Hotmail model (and I hope it does) there will be different levels of support depending on how much you are willing to pay. As your applications and data in the cloud become more important you will be willing to pay more and expect more from Microsoft like better response times, a knowledgeable human being to help answer questions, and higher levels of redundancy and safety on your applications to avoid problems in the first place. I don’t know if there will be a free service but I hope there is for things like small applications that hardly use any resources. At that level I don’t expect Microsoft to do anything if I tell them I lost data from blob or table storage. If I am paying a modest fee I would expect them to look at the problem and help me recover to some state in time. If I am paying a lot then I would expect “up to the minute” data recovery. I could live with a model where I pay for the protection I want.

Friday, February 06, 2009 5:28:00 AM (Mountain Standard Time, UTC-07:00)  #    Disclaimer  |  Comments [0]  | 
# Friday, January 16, 2009

I had a good time at the “Best of PDC” event in Salt Lake City today. Rob Bagby is a good speaker and he brought out some features of the REST Starter Kit that I hadn’t picked up on.

On one of the breaks I was talking with Rob and Craig Berntson and Craig mentioned a new release of the Azure SDK. I hadn’t heard anything about it. When I got home I had the following message in my e-mail.

Greetings from the Azure Services Platform Team!
We are excited to announce that we have released an update to the Windows® Azure™ SDK and Visual Studio Tools. These latest releases are available here:

These newly released SDK and Tools include:
  • Bug and performance fixes
  • Improved integration with Visual Studio
  • Performance improvements with execution and debugging scenarios
  • Improvements to Storage Client and ASP.Net provider samples
  • Added support to debug Silverlight in a web role
We will continue to release updates to Windows Azure and its tools based on your feedback. Please visit http://go.microsoft.com/fwlink/?LinkID=130231 to share your Windows Azure experiences.
Thank you for your continued interest.
Sincerely,
Azure Services Platform Team

The really nice thing is that even if you don’t have a key to run the Azure developer fabric on your own machine so you can still play with it even if you can’t release your creation on the world.

Friday, January 16, 2009 3:07:00 AM (Mountain Standard Time, UTC-07:00)  #    Disclaimer  |  Comments [0]  | 
# Tuesday, January 13, 2009

Salt Lake City January 2009 Windows Azure Cloud Computing User Group

Join the community...

Don't miss the opportunity to be at the first local meeting of the Windows Azure Cloud Computing User Group in Salt Lake City. Windows Azure is Microsoft's cloud computing platform. At this meeting, you'll hear about Microsoft's vision of Software + Services and what it can mean for you. As part of this presentation, you’ll see a demo of how a cloud application is developed and deployed.

Who Should Attend?

Cloud computing has huge implications for both developers and business people. This is your chance to get in on the ground floor and be part of the community that helps pioneer this exciting new area.

When: Tuesday, 1/20/09, 6:00 - 8:00 pm
Where: Microsoft, 123 Wright Brothers Drive, Ste. 100, Salt Lake City, Utah 84116
Registration link:

Please take a moment to register so we can plan properly. Registration is necessary for building access. Pizza will be served before the presentation starts.

Does cloud computing offer anything compelling for you, your business or your customers?

  • Cloud computing with Windows Azure provides technologists with new options for where applications reside, how applications behave, and the business models that drive them.
  • Cloud computing eliminates the need to predict traffic levels, purchase hardware or hosting capacity in advance, and keep os’s patched. Applications are given the capacity they need on demand. You only pay for computing and storage you use.
  • Some of the most difficult and costly things to achieve in I.T. such as high availability and ensuring scalability are no longer headaches the enterprise has to deal with. Scalability, reliability, and high availability come with the platform automatically.

Developers no longer have to make a choice between the benefits of what can be delivered to users via the web versus traditional on-premises software. Microsoft offers the opportunity for developers to offer both with a software-plus-services approach. It is an industry shift that combines services on the Web with client and server software to deliver the best of both worlds.

Please contact Mike Erickson at mike.erickson@neudesic.com or phone at 303-248-8321 with any questions about this community user group event.

Tuesday, January 13, 2009 4:45:00 PM (Mountain Standard Time, UTC-07:00)  #    Disclaimer  |  Comments [0]  | 
# Tuesday, October 28, 2008

You can see screencasts and get news from PDC from a variety of sources including microsoftpdc.com so I won't try to capture every detail but instead put down my thoughts on what I learned/saw.

Today has been an Azure day. In the morning keynote Microsoft announced Microsoft Azure, their new operating system for the cloud. I have spent most of the rest of the day in sessions learning more about the cloud and what all it can do now and what it will do in the future. I have some small ideas for the SQL Services storage and how to use it. I just registered for my Azure account so I can test out the CTP.

One of the useful and impressive demos I saw was of a workflow that started out as a local WF workflow and then sent messages into the cloud where the workflow continued and finally messages were sent back to the originating workflow. I can envision scenarios where certain things like payroll or invoicing could be made part of the workflow and companies could reduce costs for commodity items that are not really part of their core business.

In other news the WCF REST starter kit was released on CodePlex. You can access it at http://www.codeplex.com/aspnet/Wiki/View.aspx?title=WCF%20REST. There is also documentation and other information at the WCF Developer Center REST site.

Also LiveID will become an OpenID provider. It is in CTP now but if it works and gains wide spread adoption it will enable a lot more "single sign on" scenarios. This looks like the first concrete step to come out of Microsoft agreeing to support OpenID.

finally, while not PDC related, TJay Belt had an article on duties for on-call DBAs featured at SQLServerCentral.com.

Tuesday, October 28, 2008 3:24:13 AM (Mountain Standard Time, UTC-07:00)  #    Disclaimer  |  Comments [0]  |