Meet Windows Azure Sweden & SWAG Sommeravslutning

The Meet Windows Azure event last week saw some great announcements about the current and future developments on the Windows Azure platform. Microsoft Sweden will be hosting an event at their offices that will run through these releases and demo some of the new technologies.

It will be a great chance to see the new capabilities in action, and chat to Microsoft Evangelists, MVPs and other developers about the future of the platform. This will also be the last Sweden Windows Azure Group (SWAG) meeting before the summer break, so there will be food, drinks, and the chance of some “SWAG”. We will be back in force after the summer, and have a number of great events planned for the rest of the year. We will have a big announcement to make regarding one of these, so be there and get the chance to register!

Registration is here.

Identify Performance Bottlenecks in BizTalk

I found a series of blogs on how to identify Performance bottlenecks in BizTalk Environments.
Also look at this article on finding and eliminating bottlenecks

Here’s an short overview of all the steps, including a link to the more detailed explanation:

Step 1: Monitoring BizTalk Host Instances via Windows Performance Counters

 The first place to measure the BizTalk performance can be done using Performance Counters. These counters let you monitor all components like the message box, orchestrations, adapters, etc .

Step 2: Analyzing BizTalk Adapters

A deeper look at the adapter performances, again using some performance counters.

Step 3: Analyze Pipelines

It is important to understand the impact of Pipeplines that are used. Because each of the pipelines have a significant impact on the overall BizTalk performance as they perform actions on every single message that gets through BizTalk
One way to analyze what is really going on in pipelines is using an Application Performance Management Solution with Transactional Tracing capabilities, like dynaTrace for example.

Step 4: Analyzing Orchestration

Orchestration can get quite complex sometimes, but how to analyze the performance of these orchestrations?

The actual logic behind the Orchestration Definition is compiled into an assembly, loaded into BizTalk, and gets executed when messages are processed by that Orchestration Definition. A more detailed overview of the execution of such an orchestration can be generated with PurePath for example.

Another way to analyze the orchestration performance can again be done using performance counters.  BizTalk provides a set of counters for the Orchestration Engine as well as for the MessageBox.

Step 5: Analyzing external service calls (SendPorts)

Often BizTalk Orchestration makes a call to an external web service. PurePath can also give you an idea of the time consumed for this external web service call.

FINAL NOTE

As a final note I would like to point out to use the MessageBox Viewer Tool. The tool gives an overview of what might be wrong in your installation.
This tool runs a set of tests and queries against the MessageBox database an creates a nice report. The result can be viewed using the tool or it can generate an HTML report.

Microsoft TechEd North America-Day 2

Microsoft TechEd North America-Day 2

 

Day 2 Keynote

Day 2 opened with another Keynote this time led by Antoine Leblond.  It did address some of my concerns with Day 1’s keynote.  This time the focus was on Windows 8 and they did demonstrate the OS running on a few different devices.  The demos were nice and relevant, however they did not demonstrate it on new hardware.  They used the Samsung Series 7 slate with the Samsung Series 9 laptop.  They also demonstrated Windows 8 on a Lenovo laptop(sorry nothing cool about a Lenovo).  If they wanted to generate some excitement, and didn’t want to pull out a shiny new beta Samsung,  they should have just bought a new MacBook Pro and run Windows 8 on it.  I think Microsoft missed another big opportunity but I digress.

Line of Business Apps

They did demonstrate some good looking Metro applications on the devices.  They did provide a quick overview of the Beer Ranger app that I mentioned in a previous post.  They also demonstrated a native SAP application that is part of their Sales Automation Pipeline lineup.  The application was a nice looking app, but much like many other SAP applications, I had no idea what it was suppose to do (opps did I say that out loud).

Trackpad

My primary personal (non-work) machine is a MacBook Air that runs Windows 7.  Many people ask why I do this and how I am missing out on all of these touch gestures.  For me I love my Microsoft Arc Touch mouse and quite frankly could care less about the gestures that you can use on a trackpad.  But for those of you who like using gestures on a trackpad there is some good news for you.  Windows 8 will support “Apple like” gestures including Semantic zoom and access to the new “App bar” to name a few.

 

Developing for Windows 8

Antoine provided us with a rundown of what is involved in building applications for Windows 8.  Here are some of the highlights.

  • Windows Runtime (WinRT)
    • New API set that allows you to build apps and games
    • Supports touch, keyboard and mouse
    • Support for “contracts” so that apps can leverage OS functions like “share”.  Much like you can Share “data’  on a Windows Phone 7, you will be able to perform a similar function with your own application but hooking into these contracts.
  • Tool Support
    • new release of Visual Studio (2012)
    • C++, C#, JavaScript, css, html are all supported technologies
  • Language and platform support for inline async calls. 
    • I really like this feature.  I was never a big fan of all of the delegate spaghetti code a person previously had to write to support async methods.  In a previous post, I had to write async REST methods to support calling REST based services from a Windows Phone 7 app.  I expect it to get much  simpler now.
  • Visual Studio Simulators
    • Can simulate different types of hardware(slates, desktops, large displays, small displays etc)
    • Rotate screen
    • Higher/lower resolutions
    • Touch gestures

ARM Support

This was interesting to see as I have heard a little bit about ARM support but just have not seen it in action. 

Some of the benefits of leveraging ARM based devices include:

  • Low power consumption
  • Long Battery life
  • Trusted boot
    • Validate all code in boot path before it runs
    • Device encryption is always on
  • App model
    • Geared at making apps that don’t alter the state of the machine (Security benefit)
  • Can use same Management infrastructure to manage devices
  • Metro apps work on WinRT as well
    • An RDP client does exist so that you can log into other Windows PCs/Servers
    • Apps must be signed by known trusted authority or have appropriate cert
    • Apps must must have been run through “WAC” approval application
      • used to honor design principals about not altering the state of the machine
  • Key office applications are available

Essential Tips for the Windows Azure Startup

This was a really interesting session.  Michele Leroux Bustamante is well known in the WCF and MVP community as a person with deep technical skills.  I have seen her speak before at a previous TechEd so I thought this would be a good session to attend.  Something that I appreciate about Michele’s presentation style is that she remains composed through out the entire presentation.  Even when she runs into some issues, such as a demo not quite working out, she is able to recover with a tremendous amount of poise. I believe she is Canadian, maybe this has something to do with it.  Smile

This time around she was giving guidance on developing a Startup based upon Windows Azure.  It was a very enlightening session and it was quite evident that she “gets it”.  She has acted as a consultant to many start-ups and provided the following tips when building applications for Start up companies.  Something to keep in mind is that these principles, while applicable to Startups, also just good practices to follow even if you are a well established brick and mortar company.

  • Startups need to show some traction early on
  • Go fast, maintain quality
  • Monitor status, analytics and adjust accordingly
  • watch for conversion rates
    • do visitors create accounts

10 Essential Tips

Here they are as they were presented to the audience:

1. Design for Role Scale out

    • Needs to happen up front.  By the time you need to scale it will probably be too late or more difficult to
    • Need to design for scale, may want to segregate or isolate controllers to allow to further scale out functions that may be more popular or have more access patterns (Mobile, API)
    • Domain Mapping
      • Create a CNAME or A Record for the IP address of your production deployment

2. Use an SMTP relay service

    • Most applications require some form of email communication
      • Can use System.Net.Mail.SMTPClient
    • Write email “messages” to a queue and then dequeue and send
    • Need to use a relay service so that your “From Email” address does not get blocked/spam
    • smtp4Dev is a great tool for use in Development
    • authsmtp is a production ready email relay service that may be beneficial

3. Configuration Profiles

    • Avoid web.config for
      • settings that vary between staging, production
      • settings that require experimentation for performance
      • settings that support diagnostics and test
    • Use the Azure Service config files instead
      • ServiceConfig.Local.cscfg
      • ServiceConfig.Cloud.cscfg

4. Don’t forget to Cache

    • You don’t realize how much latency that accessing frequent data creates
      • Co-locate Cache with across roles
      • Together produce distributed cache total
      • Any role can access
    • Be careful, Cache is not durable, may not live forever
    • Use for optimization
    • Performance increases are phenomenal

5. Watch your Queuing costs

    • Costs may escalate due to the amount of polling
    • If you are polling, you are paying
    • Understand the differences between Service Bus and Azure Storage Queues 
      • Message lifetime
      • Max message size
      • Max total storage
      • Duplicate detection
      • Order guarantees
      • Dead letter queue
      • Storage metrics
      • Purge capability
      • Long polling/manual back-off polling
    • Initial decisions are about cost and agility
      • consider Storage Queues due to back-off polling

6. Collect Diagnostics

    • When writing new project, there is a lot of hacking going on because you are trying to be fast
    • Difference between getting it done and getting it done properly
    • Create a diagnostic helper and establish patterns

7. Monitor from outside

    • Azure Ping free monitoring tools
      • Sends SMS or email when monitoring
        • Storage
        • SQL
        • Queues
        • Is site running?
    • Azure Watch
      • Monitoring and alerts

8. Don’t drink the no-SQL Kool-Aid

    • VCs love “NoSQL”
      • Can be pressure from VCs to use it
      • VCs think it is cheaper to manage because you don’t need a DBA
        • Asking for trouble if you don’t understand your relational data model
    • Need people who understand SQL to look into NOSQL and report back to the group on what the pitfalls are
    • Go to NoSQL for obvious stuff
      • search indexes
      • GEO data
      • profile data (coming from social media)
    • Keep core competencies in RDBMS
    • Then reach out to NoSQL  experts to help bridge the two worlds

9. Enable Social Logins and Simplify Sign Up

    • You want conversion rates – make it dead simple then!
      • ACS facilitates this – simple to use
        • Dirt cheap per transaction
    • The more you ask from a user to register, the less likely they are to sign up
    • Keep it simple you will get conversions
      • Pinterest – only email address to sign up?

10. Estimate your costs

    • Layers of cost
      • Storage
      • Storage Transactions
      • Bandwidth (# 1 thing if you have  a lot of media)
      • Cache
      • ServiceBus
      • SQL Azure
      • Bandwidth
    • Need to run estimates
      • scenario based
    • BizSpark may offer some cost savings for new startups

Service Bus Overview – Clemens Vasters and Abhishek Lal

As usual Clemens put on a good show. This time Abhishek joined him in this presentation and provided some solid demos.  The first half of the presentation was largely a review for me as Service Bus is an area that I try to stay up to speed on.  The second half of the presentation introduced some new tooling and features as part of the June 2012 release.  Selfishly, I don’t want to go into too many details here as I would like to actually play with some of these features and then provide a more complete blog post(s) in order to provide these subjects with some additional context.   Stay tuned!

Azure: Azure 1.7 SDK tid bits

Hi folks, you’ve probably heard a fair bit about the make over of Azure into ‘Azure
2.0’ (the SDK is still 1.7)

There’s some great new tools within VS.NET to manage your environment better, even
a Service Bus ‘explorer’ which was much needed.

I’ve collected a few links to start with for you guys to read up on when you’ve got
a moment:

Azure 2.0 Details on:

  • Virtual Machines – FAQs etc – http://msdn.microsoft.com/en-us/library/windowsazure/jj156003

  • Windows Azure Virtual Network – http://msdn.microsoft.com/en-us/library/windowsazure/jj156007

    • Get slides from my previous presentation here – Azure
      Virtual Network 2.0
  • Windows Azure Media Services – http://msdn.microsoft.com/en-us/library/windowsazure/hh973629

  • Create and Deploying WebSite walk through – https://www.windowsazure.com/en-us/manage/services/web-sites/how-to-create-websites/

    • (like we need this one – seriously takes 3 minutes! – well done MS!)
  • Azure Chalk Talk Videos – http://www.meetwindowsazure.com/DigitalChalkTalks

    • Azure Virtual Machines – Part
      I & Part
      II

    • Web
      Sites with ASP.NET (NB: SSL
      is not supported, but it will arrive when Win Server 2012)

    • Web
      Sites with node.js

    • Web
      Sites with OSS Apps & Web Matrix

    • Azure
      Cross Platform Command Line Tools

    • Cloud
      Services (aka perviously web+worker roles)

    • Apache
      Hadoop Based Services On Windows Azure

    • TFS
      Service Preview Intro

    • Azure
      Websites – Continuous Integration with TFS.

    • Azure
      SQL Databases Intro

    • Azure
      Storage Introduction

Blog Post by: Mick Badran

BizTalk Scheduled Task Adapter 4.0: Introduction and Installation process

BizTalk Scheduled Task Adapter 4.0: Introduction and Installation process

Introduction The BizTalk Scheduled Task Adapter is an in-process receive adapter that executes a prescribed task on a daily, weekly or monthly schedule. The adapter is configured entirely within BizTalk, all configurations is stored within the SSODB and can be exported and imported via binding files. The schedule capabilities are similar to those available with […]
Blog Post by: Sandro Pereira

Capturing Image of Windows Azure Virtual Machine and creating an new Virtual Machine with the Image

Capturing Image of Windows Azure Virtual Machine and creating an new Virtual Machine with the Image

In my previous post I showed how to provision a Virtual Machine in Windows Azure. The Virtual Machine was used to create a BizTalk 2010 Development environment. Now in this post I would like to go into creating an image of this Virtual Machine and then use it to create a new Virtual Machine.
An image is a virtual hard disk (VHD) file that is used as a template for creating a virtual machine. This can be useful when you want to create multiple virtual machines that are set up the same way. Another reason can be to capture the image as you do not want to use it for a while and prevent incurring costs.

Capturing a Virtual Machine

To capture a Virtual Machine you need to perform a few steps. One is to sysprep the virtual machine. For Window Server 2008 R2, like my BizTalk Development environment, I followed instructions from article “How to Capture an Image of a Virtual Machine Running Windows Server 2008 R2“. After sysprepping your machine you need to capture it. Sysprepping the machine according to the article will shutdown the virtual machine and changes the status of the machine in the Management Portal to Stopped. Capturing the VM means selecting it. You will then fill some details in dialog box.
21. Capture Image
Now notice the name I gave to the image. This name was deemed invalid after I clicked check mark. The error was:

Failed to capture image BizTalk_Development of virtual machine BTS2010.
The image name is invalid.

I renamed it to BizTalkDev. It went trough and took a while before image was captured.

22. Capturing Image

That is basically it. Image is created and Virtual Machine is deleted and you’ll not be billed.

Creating a virtual machine from the Image

If you want to create a new virtual machine you can select your image from the Gallery. Steps below a similar if you create a Windows 2008 R2 machine from scratch. From My Images you will see images you have created. In my case only BizTalkDev is available.

image

Next step (2) is filling in details for the VM Configuration.

image

Following step (3) is filling in details for VM mode.

image

Last step (4) is selecting the availability set in case you require a group a virtual machine in case of outages (i.e. higher availability).

image

Click the check mark and Virtual Machine is being provisioned. This may take a while before it is up and running. When it is up and running I can connect to machine again through remote desktop. Machine will need a few minutes to warm up again, before I could fire up BizTalk administration, SQL Server and Visual Studio.

image

This way I can spin up a Virtual Machine with BizTalk when I want it and remove it when I done. I can use it to spin up a few machines in case I want to work with a team or for training purposes at a client. There can be many more useful scenario’s than the ones I mention here.

If you are experiencing problems with Virtual Machines you can ask questions in the Windows Azure Virtual Machines for Windows forum or study the online documentation.

My experience so far with Virtual Machines and the Windows Azure Portal are positive. I am seeing more and more its potential. The User Experience (UX) with Portal is very satisfactory to me personally. I must say Microsoft Windows Azure team have done a good job.

Finally I also like to thank Thiago Almeida (Microsoft New Zealand) for giving me some tips that lead to this post.

Cheers,

– Steef-Jan

Best practices on Biztalk Tracking

I announced in a previus post that I joined the blogging team on biztalkadminsblogging.com.
However it took untill today before my first blog post was created.

I gave it a long thought what my first blog post should cover. the result is a post on some best practices for the usage of tracking in BizTalk… hope you like it!

The actual post can be found here http://www.biztalkadminsblogging.com/index.php/item/83-best-practices-for-tracking

Can you use BizTalk in Azure Virtual machine for production use?

Original article from blog.biztalk360.com

In the previous post we explained how easy it’s to setup BizTalk servers in Windows Azure  using the new durable virtual machine support.

In the article we mainly focused on some of the common low risk use cases like, setting up the environment for

  • Development,
  • QA,
  • May be for support, training etc.

But, how about running your production BizTalk environment in the cloud. Is it a supported configuration?

Technically the virtual machines in windows azure are regular VHD files fully compatible with  Hyper-V. One of the key offering from Microsoft in this space is, customer can freely move their VM’s between Azure and on-premise. One step ahead, during Scott Guthrie http://meetwindowsazure.com talk he demonstrated customers will be able to move the VHD files between cloud providers like Amazon freely.

Given the complete support of BizTalk running in Hyper-V (http://support.microsoft.com/kb/842301) as shown below

Production BizTalk environment in Windows Azure virtual machine should also be supported. But you need to be fully aware, the support will be within the SLA boundaries of Windows Azure for IaaS (Infrastructure as Service) offering, which currently is 99.95% monthly SLA.

If your application can coupe with the occasional downtime (it may not happen, but still there is .05% possible downtime), then you should be able to run your BizTalk production environment in Windows Azure virtual machine.

NOTE: There is no endorsement from Microsoft on this subject at this point, things will get much clearer when BizTalk 2010 R2 is released. However with one of the recent unofficial conversation I had with senior Microsoft executive, this is the statement I heard. I’m just giving you a head start, sure we will hear more official news in the future.

Nandri!
Saravana Kumar

Hyper-V in Windows Server 2012

If you are interested in how Microsoft has changed Hyper-V in Windows Server 2012, you need to watch todays TechEd US sessions from Jeff Woolsey.

http://channel9.msdn.com/Events/TechEd/NorthAmerica/2012/VIR308

http://channel9.msdn.com/Events/TechEd/NorthAmerica/2012/VIR309

I think these change are a real game changer in the Virtualization Landscape, lookout VMware.

More …