Monthly Archives: April 2012

Easy Testing Of Your Web.Config Transformations

One of the powerful features of ASP.Net 4.0 was the introduction of web.config transformations that meant you could now do with ASP.Net out-of-the-box what you would have previously done with some form of custom XSLT transform in your build process. One thing that is not that easy is to test the outputs from the transformations.

One option is the simple online web.config tester from the guys over at AppHarbor.  While that’s great, personally I don’t want to round-trip my web.config files over the Net just to test something I should be able to do locally. The result was that after some playing I found a way to test locally utilising msbuild with the right parameters.

The one proviso to this simple test working is that you have successfully compiled the code for you web application (either via msbuild command-line or inside Visual Studio).  This test will fail if the binaries or other inputs for your package aren’t available.

All you need to do is issue this command line:


MSBuild.exe YourProject.csproj /T:Package /P:DeployOnBuild=True;Configuration=YourConfiguration

You will now find in the ‘obj’ folder of the project you targetted a set of folders – if you dig through them you will find a “TransformsWebConfig” sub-folder that will contain the output result of your transform.

Happy Days!

Updated!

New in Visual Studio 2012 is the ability to “Preview Transform” on configuration files that utilise the above technique.  Open your solution in Visual Studio, expand the transformation node of your config file, select the transform to review and choose “Preview Transform” from the menu.  Grab a look at screenshots either at Hanselman’s blog or here.

Tagged , , ,

Bouquets and Brickbats for Amazon’s AWS

This week on April 3 we were lucky enough to have the AWS Lean Cloud bandwagon roll into town in Sydney.  We’re a heavy user and believer in Cloud (from any vendor) at TheFARM so our tech team physically went along to the event (yeah, I know, old hat right – should have watched it streamed online).

Amazon’s CTO Werner Vogels got up in his Chaos Monkey t-shirt and talked at length about AWS as a platform and how over the last three years there has been an explosion in its usage.  While recycling content from earlier presentations in 2011 Werner showed real passion about the mission he and his team are on.  He said he welcomed feedback of any type – especially from those who aren’t using the AWS platform – he wanted to know why, what was missing, what made those people choose not to venture into AWS.

Now this doesn’t apply to us – we’re already there as are some of our customers.  But, as Werner asked for it here’s some constructive feedback based on our experiences.

Documentation Accuracy

As the slides showed, through 2009, 2010 and 2011 Amazon added a lot of features to AWS.  That’s neat.  However, we often struggle to find the authoritative piece of information about a service or feature.  There’s always those forum posts that rank higher in search results than the actual documentation.  And the posts often provide accurate and insightful information that doesn’t always align with the documentation.  I think some of this is due to the rate of change – new or changed stuff comes online so often that the documentation updates lag behind.  I’d say that slowing down new service introduction to ensure that each new offering is properly supported at a documentation level would be an idea.  More-so given the volume of new(ish) AWS consumers versus (what I assume) is a relatively small support team.

No Public Roadmap

Will they, won’t they?  Yes, I know it’s commercially sensitive but how can I plan properly if I don’t know what’s coming?  And what’s with the “it’s just around the corner” posts that occur from time-to-time in response to questions in the forums?  I can’t plan with “just around the corner”.  I know being an SI partner would open up some of this information but if I’m not (or my customer isn’t) a partner how do we find that out?  Werner talked about how the platform is a great leveller and enabler for smaller businesses and start-ups but it does seem that only partners or larger customers are privy to important forward-looking information.  It shouldn’t be that way.

BTW, when will there be RDS for SQL Server?  Will there ever be a Region in Australia?

No Cookie Cutter

I know we have the AppHarbors and the Herokus of the world that make it easier for me to host than to go to raw AWS or Azure, but if Amazon wants to hit a sweet spot for the smaller end of the market then having a model that is similar what those guys are offering would be cool.  I understand the differences and the reasons why they don’t offer it but I think they should.  Most people don’t want to care about AMIs, EBS volumes, S3 storage buckets, etc.  They want to host their website in the cheapest configuration they can so it is highly available.  Sure, I can publish my static website directly from S3, but I still need to know what S3 is!  As an example I might want to migrate my small business website to AWS.  I know what technology it is built on and I have the source code – I should be able to check a few boxes on a web form that align with my knowledge and Amazon should provision the least cost option to host it (I can choose high availability if I want as an extra cost).

Updates:

So I had a couple of more items I thought should feed in here too.

Usage Reconciliation

If you’ve ever used the Amazon AWS portal to retrieve usage stats you’ll quickly come to discover how hard it is to use the data that it provides (at time of writing).  You quickly discover that trying to work out what cost you actually incurred per usage item is nigh on impossible.  You almost have to take the bill you receive at face value.  I particularly found this annoying whenyou consider the excellent monthly usage calculator that is provided to work out costs in advance!

Delegated Authorisation

Man, this area needs some work!  One of our customers granted us access to various items within their account.  Think it meant we could do anything useful? Nope.  401 Denied. We are locked out of so much functionality it’s not funny.  Now this might be due to lack of understanding of how IAM and the permission system work, but I’d argue if it’s that hard for experienced IT professionals to get right then there is something fundamentally wrong in the design.

So that’s some thoughts and feedback for Werner!  The event was good and really showed the passion Amazon has for its offering (and how much local interest there is!)  The ability to hear from some “thought leaders” in the Lean space such as Eric Ries was also excellent.

Ultimately I think the clear message is that if you haven’t started a journey to the Cloud (whatever flavour) it’s time you should.

Tagged , , ,