# Friday, October 29, 2010

View this session at: http://bit.ly/aWRwQX

When moving to the cloud a good decomposition and a rationalized approach is very important. There are issues with the cloud (data, latency, dependencies, etc.) that you need to be aware of and plan for.

4 layers when moving to the cloud

  1. Secure Network Connectivity
  2. Security
  3. Application-layer Connectivity & Messaging
  4. Data Synchronization

Secure Network Connectivity

Windows Azure Connect

Integrated with Windows Azure Service model

Remote admin of WA apps

Policy managed by me through the Windows Azure portal

Requires agent on machines (may be a blocker for some scenarios). I wonder how this works if you are on a VPN or other IPSec connection and need to set up a second IPSec connection. I haven’t had any luck at all with this so far.

Future release wlil have connectivity using existing VPN devices

Security

CS07: Identtiy & Access Control in the Cloud has a lot more details

Use WIF, ADFS2, or Access Control service

Application-layer Connectivity and Messaging

Service Bus – “Turning the crank” on this and adding new features

Connectivity and messaging

Service bus is integrated with Access Server

Data Synchronization

SQL Azure Data Sync Service

Need to be aware of compliance and storage scenarios when synching or moving data

Interesting that I didn’t catch any mention of the cost for moving data into/out of the data center when doing synch to a local server or other data center.

 

Microsoft believes that the cloud will evolve into a set of hybrid clouds that will need secure federation between public cloud and private/semi-private clouds. This is the start of the vision and now it can evolve as the industry starts working and thinking about these issues

You can mix and match the different technologies where they make sense.

PDC | PDC10
Friday, October 29, 2010 7:42:00 PM (Mountain Standard Time, UTC-07:00)  #    Disclaimer  |  Comments [1]  | 

View this PDC session at http://bit.ly/9h1jcy

Development scenario

Do a full deploy on the initial deployment ~ 10 minutes
For subsequent changes during development just web deploy your application changes
When you are done with development re-deploy the application

Setting up a VM Role

Windows Server 2008 R2 Enterprise edition
Add software
Sysprep the image
Use differencing disks for applying patches or updates to software
Declare the VM as a new role
Run the integration components installer for the VM in Azure
csupload to add a VM image to Azure

VM role does get some restrictions of the web/worker role.

At least 2 identical/similar insteances
Not durable on hardware failure
Only 1 public IP

VM role will be priced the same as web/worker role

Licensing of Windows Server included in CPU-hour price. Applications will have to be licensed per the terms of the application.

I can see where there are certain scenarios such as when you need to run a service (can anyone say ASP.NET Session State or SSIS) in the cloud. The VM role also allows you to have complete control over your server so if you have some software that you want to put in the cloud but that doesn’t play well with the current Azure model this might be a solution. I haven’t really thought the scenario through but I was thinking of something like video rendering where you might be able to divide up a large chunk of work and spread it across several VMs to get the job done in parallel but you maybe couldn’t use a normal worker role because you need a thick client application and not a web application to do the work. I look forward to thinking about the different things that I can do with the new VM role.

PDC | PDC10
Friday, October 29, 2010 1:48:00 AM (Mountain Standard Time, UTC-07:00)  #    Disclaimer  |  Comments [0]  | 
# Thursday, October 28, 2010

I had to leave part way through the keynote but I was impressed with what I saw.

It was a typical keynote address with Steve Balmer talking about how Microsoft is committed to the cloud. There was a lot of high level information about the technologies.

I liked the demonstration of the phone. I really wanted to try to call Brandon when he was showing his personal phone but I thought he might not think it was so funny. I really liked the ability to monitor you WP7 applications and look for bottlenecks. This will come in handy when I start writing new Silverlight code and find out I don’t know as much as I thought I did. Smile

I got my WP7 phone at lunch time but it wasn’t charged so I will have to wait until tonight to find out how cool it is. It is a developer phone. Based on the fingerprints on the phone and the Microsoft property tag in the battery compartment I am sure this was one of the models that was passed around earlier to developers. I was told that I got a “special” phone so I am not sure if that is the case for everyone or not. I haven’t found a model number on the phone so I can’t post a link or specs on the phone but if I find them out I will edit this post.

PDC | PDC10
Thursday, October 28, 2010 8:35:00 PM (Mountain Standard Time, UTC-07:00)  #    Disclaimer  |  Comments [0]  | 
# Friday, November 20, 2009

The PDC is over and I am home. I am taking a few minutes to be a little reflective and put down some thoughts.

1. The Acer PC was great. I heard people complaining about it not having more software (Visual Studio 2010 being the most common) or RAM but I have to say I was looking for a second machine for demos and this is better than what I was looking for. It makes up for no breakfast or attendee party. Of course now Microsoft has set an expectation and it will be interesting to see if they give out other goodies like a mobile phone at MIX (hint, hint…).

2. The roadmaps were shorter. In previous PDCs the roadmap slides seemed to go out to 3 or 5 years. Almost all of the roadmaps this year only went out 18 months. This felt more like a TechEd with the shorter timelines. Of course with how little in the 5 year time frame actually got delivered it is possible that Microsoft just realized that the information wasn’t as useful as they would hope.

3. Sessions were generally good quality. I went to more sessions than I blogged and for the most part the speakers were good and interesting. In the past it seemed they just grabbed some random employee to get up there and talk but maybe they screened the speakers or gave them some training.

4. Networking was even better than the sessions. I think the real reason to go to any conference is the learning. Some occurs from the sessions but more occurs from the conversations at lunch or in the hall ways. I have come to appreciate the need for this more as I work from home and don’t often get a chance to discuss things with my peers as often as I would like.

5. Focus on some general themes. In the past PDC seemed to be about anything that any product group wanted to announce. I didn’t see the breadth of topics represented this time. I think that was a feature of the shorter timeframe but it was nice to have focus on themes like SharePoint, Azure, Windows, and Visual Studio. It meant there were a lot of relevant sessions. The down side was that there were many times when I wanted to see 2 or 3 sessions in a given time slot.

I am looking forward to the next PDC and to see how things like Azure, “Dallas”, and Silverlight 4 evolve.

PDC
Friday, November 20, 2009 8:32:00 PM (Mountain Standard Time, UTC-07:00)  #    Disclaimer  |  Comments [0]  | 
# 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]  |