Thursday, May 14, 2009

TechEd 2009 - Day 3

Day 3 was a bit of a lighter day for me. I spent most of my time "in the clouds" attending sessions and having some good conversations at the .Net Services booth...thanks Clemens.

In the Architecting Solutions for the Cloud session, Clemens provided an introduction to the .Net Service bus. For those not familiar with the .Net Service Bus it is essentially an Internet Service bus that allows you to exchange information with other parties using the Cloud as an intermediary. Another way of thinking about it is building a bridge between two islands, only the islands in this case are applications. The real power of the .Net Service bus are the WCF based relay bindings. These bindings allow endpoints to make outbound connections to the Bus and then listen for messages. This makes punching holes in your Firewall a task of the past. Very Cool!!! As mentioned on my Day 1 blog there are a couple new features as part of the March CTP that allow for more capabilities in the bus including Routers and Queues. Look for more information on this in my upcoming Day 4 blog.

When prompted for a comment about private clouds, the response was a very clear in that it is not going to happen anytime soon. The reason for this is that to build up your own "private" cloud would be too cost prohibitive. People shouldn't underestimate the complexity involved in building such an elastic, dynamic platform like Azure.

The second half of the session dealt more with deploying your Web Applications to the cloud. People have been hosting their web applications with Application Server Providers for years, what is the difference with Azure? Having the ability to efficiently scale would be an answer that I would have. If you had a viral marketing project underway and you were not sure just how much bandwidth, or processing power, that you are going to need then having an environment like Azure that can scale your app in minutes is a great option. The other thing to consider is that you can scale you application tiers independently. By establishing Web and Worker roles you can allocate resources to serving pages versus doing the back ground work. So if you were doing a lot of number crunching in the back end and the Web Requests were lightweight you can configure your application to suite your needs. I doubt that there are very many ASPs that can provide you this type of granularity.

In the demos they showed how easy it was to work with the local Azure Dev Fabric and then how easy it was to deploy to the cloud. I would expect to see some more tooling around this experience that allows for scripted deployments plus some delegated administration in the cloud. Currently, the developer working on the cloud application is the only one who can deploy the project to the cloud. Obviously this methodology would not fly in many corporate environments, but this is something that they are aware of and have on their task list to work on.

When working with ASP.Net web apps, be sure to use ASP.Net Web projects instead of ASP.Net Web Sites if you have plans of deploying them to the cloud. The Cloud does not support the "Web Site" flavour.

Here are some upcoming dates to look for albeit they are not "solid" at this point:
  • Pricing - August 2009
  • Reliability/SLA - shooting for August 2009, but may slide
  • Launch - targeting PDC time frame release (November 17th - 20th 2009)

Wednesday, May 13, 2009

TechEd 2009 - Day 2

On Day 2 I spent some more time looking into BizTalk 2009 and System Center(SCOM).

The ESB Guidance 2.0 presentation from Brian Loesgen provided some excellent insight into the latest version of the ESB Guidance 2.0 CTP. I am going highlight some of the interesting bits of info that I picked up. For more details regarding ESB Guidance check out the codeplex site. You may not want to bookmark that site because it won't be living there very long. You will have to read the rest of the blog to get the punchline.

What is ESB Guidance 2.0?
It is an initiative of the Microsoft Patterns and Practices team that provides architectural guidance, patterns and practices. The building blocks that are in the package are reusable blocks of code that compliment BizTalk Server. They do not replace BizTalk servers but they allow you to use BizTalk in a "BUS" mode instead of the more traditional Hub and Spoke Model.

Why 2.0?
There was a previous version called 1.0 that left some people wanting more. The initial stab of the kit was known for a tedious installation, pushed some of the itinerary decisions onto the client and lacked some of the tooling that developers were asking for. I am happy to say that these issues have been resolved. Brian indicated that his install only took around 15 minutes instead of hours or even days with the old version. They have done a great job on this version.

Features
The itinerary designer was pretty slick. When you install ESB Guidance, an additional toolbox will be included in Visual Studio which allows you to drag these ESB related shapes onto your orchestration designer. You then are able to configure these shapes within Visual studio. I tend to look at this as if you are configuring a workflow for a message. You have a particular series of events and you want to configure it to encounter. The sum of all of these events are essentially your itinerary. So for example you may receive a message and as part of this message's interaction, you need it to be transformed to a new message format, have it passed to an orchestration for additional processing only to be transformed to an additional format on its way out the door. Instead of tightly coupling this solution within a series of maps and orchestration(s) you essentially are configuring the itinerary which will instruct BizTalk what to do with the file. BizTalk will use .Net components, that are included in the Guidance kit, to perform all of the map and orchestration resolutions at run time.


Additional info:

  • Only available for BizTalk Server 2009
  • Provides extensibility points so you can customize to meet your needs
  • More prescriptive guidance is available in this version
  • Samples of popular scenarios in SDK
  • Itineraries can now be published to an XML file or SQL Server repository. This worked very well. From within Visual Studio you can push the itinerary to SQL Server with a click of a mouse. You can use deploy multiple versions of the itinerary to the repository and by default the newest version will get executed.

Big News
It was announced at TechEd 2009 that the ESB Guidance will be making its way into the product offering. Starting in June, it will be known as the BizTalk Server ESB Toolkit. It will be signed code from Microsoft and available via MSDN Download centre. Private fixes will be available via MS Connect site and support will be available via Microsoft Premiere Services. There will be no additional charges for the toolkit when you have a BizTalk license.

SCOM (System Center Operations Manager)
I decided to attend a session that was a little outside my comfort zone. I have had exposure to both MOM (Microsoft Operations Manager) and its successor SCOM through my involvement with BizTalk. We have used both of these technologies to inform our team of any issues that are occurring on the BizTalk Servers. I can't imagine running BizTalk without them.

The session itself was dedicated to Cross Platform Management packs. More specifically, using SCOM to monitor your Unix/Linux operating systems and the applications that run on these platforms.

I was impressed with the experience inside of SCOM. The experience of managing and monitoring these platforms is the same as it is for Windows platform. Under the hood SCOM is issuing commands through SSH that is able to retrieve information from the platform or is able to execute a command on those systems.

In the Windows world an agent is pushed to the server that SCOM is going to be monitoring. The process is very similar for Unix/Linux however the terminology is a little different. In Unix the equivalent of a Windows service is a daemon. So you will find that daemon bits are deployed to these servers much like windows.

Out of the box you will find that SCOM has the addressed the core set of functionality that you would expect. This includes:

  • File Systems (both physical and logical)
  • Memory usage
  • Processor Usage
  • Network interfaces
  • Daemon availability

I wasn't able to catch the entire list of supported flavours of Unix/Linux so the following list is not comprehensive:

  • IBM AIX 5.3, 6.1
  • HP - 11.2, 11.3
  • Red Hat ?,?
  • Solaris 8, 9, 10
  • SUSE

If you need more visibility than this you can look to some 3rd party packages like Novell's SUSE Linux management pack. For more application specific management packs that run on Unix/Linux you can look to Bridgeways' Management Pack. With the Bridgeways' management pack you can find support for:

  • Apache Web Servers
  • PostGres Database
  • Oracle Database
  • DB2 Database
  • MySQL
  • Apache Application Server
  • JBOSS Application Server
  • WebSphere Application Server
  • Oracle Application Server
  • BlackBerry Enterprise Server
  • VM Ware ESX
  • and more

It was an interesting session. What I found was that Microsoft is very serious in this area. Customers have demanded a composite monitoring solution that allows them to watch their entire enterprise, not just their Windows Servers. Microsoft has stepped up by providing the functionality themselves or by leveraging a 3rd party management pack. Microsoft has also stepped up their game in the support area. They have increased their support capabilities so that when you do have an issue with their Unix/Linux management packs that they will have someone that can speak intelligently about the issue from a Unix/Linux perspective.

Expect SCOM 2007 R2 and these third party management packs to ship June 2009.

Tuesday, May 12, 2009

TechEd 2009 - Day 1

Key Note:
Besides re-iterating the theme of "Do more with less" several times throughout the presentation, the big news was that Windows 7 and Windows 2008 R2 will be available for Christmas, at least that is what the current intentions are.

We saw some very interesting demos that displayed some of the synergies between these two products:
  • MEDV (aka Microsoft Enterprise Desktop Virtualization) provides you the ability to run applications on a new platform that otherwise would not be able to run. For example lets take an application that was built for Windows XP that cannot run on Windows 7 (or Windows Vista for that matter). This type of scenario may kill, or delay, your desktop refresh project until you can either figure out how to run it on Win 7 or rebuild the application. Enter MEDV. Using MEDV allows you to run two Operating systems on one device simultaneously. In the demonstration, they had an application that would not natively run on Win7 but it would run on Windows XP. With a double click of the mouse the application launches before your eyes. I was expecting some significant lag in this application loading due to the fact that it is really running on Windows XP. However it was extremely snappy. Within a second the application was launched and there was no real indication that XP was even running. The differentiator was that the application had a Red outline around it. Pretty cool stuff...I was blown away. For more info on MEDV check out the following link.
  • APPV (aka Microsoft Application Virtualization ) provides you the ability to stream portions of applications on demand to the end client. In demo they simulated a user logging on to a brand new machine that they had never logged into and opening an Excel spreadsheet. So what's the big deal? Excel was not installed. Once the presenter double clicked on the Excel spreadsheet, Excel bits were brought down to the laptop and the spread sheet opened. This all occurred within a couple minutes. Last time I checked, the installation of Excel took quite a bit longer than that and no reboot was required. For more info on APPV check out the following link.
  • Branch Cache - Do you have any local branches that may be in remote areas where the bandwidth just isn't there? If so then this may a feature of Windows 7 + Windows 2008 R2 that is for you. When a user downloads a file, or Web page, from say your corporate intranet, this artifact will be cached locally within the branch. So when the next person comes looking for that same resource, it can be downloaded from the branch cache instead of the Intranet. This seems like a good way to increase productivity, reduce user frustrations and save on data communication costs. Check out the following video for more details.

Introduction to BizTalk Server 2009
I only caught the tail end of this presentation but wished that I had seen it all. There were two demos that included connecting BizTalk to the cloud. In Ofer Ashkenazi and Danny Garber's session they demonstrated two cloud scenarios: the first one connected to the Microsoft Live Mesh service and the second connected to the .Net Service Bus by participating in a relay . These adapters are currently not publicly available but I have been told that at some point they should surface.

So why is this important? I can envision several scenarios where BizTalk can be used in conjunction with the cloud. Today if you want to expose BizTalk hosted services outside your organization, you need to get your hands dirty in the DMZ. For many organizations the the risks are significant and can slow down or even stop a project. For some organizations, they will rely upon ISA servers to forward the traffic onto the BizTalk servers, others may install BizTalk App Servers in the DMZ and then poke a hole in the firewall so that BizTalk can speak with SQL Server. Others may implement their own custom proxy( like a Web Service) that will just act as a router. As you can see none of these solutions are that great. By using the .Net Service bus, BizTalk can establish an outbound connection to the bus and subscribe to messages moving through the bus. This way you do not need to open firewalls or introduce new infrastructure components into your DMZ. The other benefit is that you can continue to use the all of the tooling that BizTalk provides out of the box. Yes I could create a WCF endpoint to listen to the .Net Service bus, but then I lose out on many of the benefits that BizTalk already provides.

Programming Microsoft .Net Services
The first part of this session was primarily a review, but the second half more than made up for it. I have read Aaron Skonnard's blog several times but never had the opportunity to hear him speak. He is an excellent presenter and I highly recommend seeing any of his sessions or taking training from him.

The 2 new features in the .Net Service bus are Routers and Queues. Routers provide you the ability to multi cast messages onto multiple subscribers or it provides you the ability to send a message to 1, of many, subscribers. The Queues have been added to provide some durability around messages moving through the bus. If you have a consumer who is not always connected, pushing a message to a queue until they can make a connection provides the sender some additional assurances that their message is safe until a connection can be made. Here is a link to the recently published white papers. I know what I will be doing on the plane ride home.

Saturday, May 9, 2009

Ignite Your Career: IT Architecture Career Webcast Series

UPDATE:
You can now download this discussion from here.


I will be participating in a panel discussion for the IT Architecture Career Webcast Series - Honing Your Experience And Skills For Uncertain Times (SESSION #2 OF 4) on Tuesday, May 12th.

IGNITE YOUR CAREER: IT Architecture Career Webcast Series Overview
With the economy experiencing challenges it is more important than ever for IT architects to manage their career growth and skills – and one excellent way of doing this is to learn and discuss with our peers as well as mentors. The purpose of the Architect Webcast series is to share with architects and other technical decision makers experiences and insights from a panel of leading architects in the IT industry across Canada.

If you are interested in listening on the discussion, you can register here:
https://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?EventID=1032403865&EventCategory=4&culture=en-CA&CountryCode=CA

Saturday, May 2, 2009

WebSphere Best on Windows

I don't think that Steve Martin is bored these days. In March he was caught up in the "Cloud Manifesto" fiasco and now he is right in the middle of a new battle with IBM. No I am not referring to Steve Martin the actor, but rather the senior director of developer platform marketing at Microsoft.

His latest battle involves WebSphere running better on Windows Server 2008 than a high priced IBM AIX system. Martin's claim is that you can get more transactions per second (11000 vs 8000) at about a third of the price. ($87161 vs $260128).

I have no idea whether the claims are true or false, but I do know that Microsoft generally puts a lot of effort into backing their claims. Obviously Steve is pretty comfortable with the claims that have been made, otherwise I am sure he wouldn't be willing to fund a third party bake off as he has mentioned in his blog.

Check out http://www.websphereloveswindows.com/ for more details on how you can effectively run WebSphere on Windows!

Should be interesting to see where this ends up.

Tuesday, April 21, 2009

New BizTalk HotRod: Issue 6 Q2 2009

The latest edition of the BizTalk HotRod can be downloaded here. In this edition you can find some good info on BRE, AS2, XSLT Mapping, Static code analysis using BizTalkCop and a preview into what looks to be an interesting Admin tool called "Terminator".

Sunday, April 19, 2009

BizTalk Server 2009 Hyper-V Guide

Microsoft has recently posted the BizTalk Server 2009 Hyper-V Guide. You can find it here.

Here is a short description of Guide:

"The purpose of this guide is to provide practical guidance for using Microsoft BizTalk Server 2009 with Microsoft Windows Server 2008 Hyper-V. The emphasis is on BizTalk Server, but the performance evaluation methods and performance testing scenarios are useful for analyzing the performance of virtualized server applications in general. This guidance will be of interest to both the IT Pro and Developer communities."