Thursday, April 10, 2008

What's going on in the web after all?

I don't usually post lists of links, but I've been reading all that has been coming out following the Google's AppEngine announcement, and thought it would be a good idea to systematize these.

Bungee Labs - Next Generation Web Development Platform
an ambitious new on-demand, web-based development environment that enables developers to build and deploy web apps that utilize the large variety of APIs and web services out on the Internet

BungeeConnect
The Bungee Connect Platform-as-a-Service is a single environment for the development, testing, deployment and hosting of amazing web applications. Bungee Connect powers highly interactive user web applications built 80% faster and at a cost tied only to end user adoption

Google App Engine: Cloud Control to Major Tom
Google App Engine is similar to the Amazon Web Services stack, which rolled out at the end of 2006 and has since gone on to be utilised by many startups for their infrastructure needs. But it is not a set of standalone services like Amazon's - which includes S3 for storage, EC2 for hosting and the SimpleDB database. Google App Engine is an end-to-end service and bundles everything into one package.

Red Dog: Microsoft's Answer to App Engine and AWS?
Kip Kniskern over at the LiveSide blog spotted a Microsoft job advert that appears to give some insight into a cloud computing platform under development at Redmond that could compete with Google's just released App Engine or Amazon's suite of web services. The utility computing platform, codenamed "Red Dog" according to the job ad, is under development at Microsoft's Cloud Infrastructure Services (CIS) team and aims to see a version one release within the "coming year." What little info is provided by the job posting is rather obscure, but there are a few juicy tidbits to be had.

Google's App Engine: Aiming At Facebook, Not Amazon
If the Silicon Valley echo chamber wants to make up a competitor for AppEngine, its proper correlate (by a whisker) is Facebook’s F8 platform. If you must cram this new service into a pigeon hole, think of App Engine as the Facebook Platform for the grown-up web.

App Engine: Host Your Apps with Google
It's about time that developers get access to Google's platform! We've been hearing about Google's server farms and development tools for years. After Amazon Web Services started doing so well we all knew it was just a matter of time (next will be Microsoft we can can safely assume). Though the obvious comparison is to AWS, they aren't really the same beast. Amazon has released a set a disparate services that can be used to created a general computing platform. The services, though they work together, do not come bundled.

Linxter Internet Service Bus (ISB)
Linxter is an in-the-cloud, customizable communications infrastructure for distributed applications providing hyperconnective, secure, assured information delivery.

Google AppEngine
Google App Engine enables you to build web applications on the same scalable systems that power Google applications.

Red Dog: Yet another unannounced Microsoft cloud service
I believe Microsoft is working on a hosted app platform for developers, with BizTalk Services and SQL Server Data Services (SSDS) at its heart. In fact, I‘ve heard the codename “Zurich” attached to this Google-App-Engine competitor. But are Red Dog and Zurich one and the same? I think they are different, and all part of the big Microsoft services plan in the sky.

Google unlocks its data centers
Where's Microsoft?

Food for thought.

GASp - Journey to the center of the cloud

Last night I delivered a presentation in a GASP meeting on cloud computing, social networking, impacts on architecture, development, and even society. A conceptual and high-level session, destined to dissect today's trendy tendencies.

The information about the meeting is here (in Portuguese), and the slides are up at my skydrive.

Friday, April 4, 2008

BizTalk Server 2006 (and R2): Set Failed Message Routing

While developing BizTalk projects I frequently end up developing mini-tools to automate small and/or repetitive administration tasks. One of these, which I recently generalized, I use to turn on or off multiple "Enable Failed Message Routing" options.

Here's how you can use it:

TurnFailedMessageRouting * on DbServer - turns on the option in all the send ports and receive locations in all the applications in the configuration database in server DbServer.

TurnFailedMessageRouting MyApp off DbServer - turns off the options in all the send ports/receive locations of application MyApp in the configuration database in server DbServer.

So:

  • The first parameter is mandatory, and can have as value "*" (meaning all the applications) or a single application name
  • The second parameter is mandatory, and can have values "on" or "off"
  • The third parameter is optional, and it is used to specify the name of the server containing BizTalk's configuration database. If this value is omitted, "localhost" is used.

The source code is in the attachment, it's pretty simple, use and change it freely. Most of it uses the BtsCatalogExplorer functionality.

(note: this can be done using script, I just prefer coding in C#).

Download at my SkyDrive: BizTalk2006.TurnFailedMessageRouting.zip

Thursday, April 3, 2008

«Does IT Matter», and Waves of Innovation

A few years back I read Francis Fukuyama's "The End of History and the Last Man", a book that presented and defended the theory that the current political and economical status quo/zeitgeist is as good as it gets. There's supposedly no better system, hence the title of the book. This was a book I profoundly disagreed with, but had to admit it had strong and extremely intelligent and well built arguments.

A few days back I finally ended reading Nicholas Carr's polemic "Does IT matter - Information Technology and the Corrosion of Competitive Advantage". Being in a company that has "IT" in its name, the contents of these book are very relevant. The author spells a message similar to Fukuyama's, but applied to IT, stating that IT cannot be seen as giving a real competitive advantage in today's markets: whatever lead the use of Information Technology gives to a given organization, will be quickly replicated by its competitors. Additionally, the author defends that IT is becoming infrastructure, much like electricity or the railway (or other means of fast transportation). This analogy with electricity actually is used throughout most of the book to sustain the main thesis: no organization strategy today is based on the fact that the company has access to "state-of-the-art" electricity. And, consequently, no organization can base their strategies/market leads in investments in information technology.

This book had a lot of impact a few years back, and like Fukuyama's, has strong, extremely intelligent and well built arguments. It's a book I profoundly disagree with, as well, one that made me scribble lots of notes on its margins. XXX wrote a book dedicated to contradict Carr, and there is information all over the net about this, so I doubt I can add much to this argument, so I'll just leave some notes: there are a lot of anecdotes in the book that justify some positions. While stories and specific cases are interesting to know, they are hardly proof of anything: there are probably as many examples pointing in the opposite direction. The last part of the book I found especially dishonest, when the author compares the impact of IT with that of basic living conditions stuff, such as clean water to drink, or sanitation. My answer to this is: can't the same be said of BOOKS (=recorded human history) and that same water/sanitation? We wouldn't have this world without it. This is the stuff of journalist rhetoric, and not honest discussion.

ANYWAY, changing gears, I do think several of the arguments in the book make perfect sense. The emerging trend of moving into cloud-based, hosted, software, is clearly a step that brings more truth the analogy of electricity and IT (software is just... there, somewhere, I don't really care). Having the software is no longer the advantage. At least, not for long periods of time, as it will be replicated by competitors sooner or later. So it all comes back to good, ol', business strategy and practices.

The question I now pose myself is: how can I, aware of this line of reasoning, "sell" a project to a customer based on its technology merits? I happened to have a conversation with a long-time client and business partner about the book, which he had also read, and 5 minutes later the topic changed to a possible new project we are doing with them, where I am proposing brand new technology, one month old. I couldn't help feeling something was wrong. I am going forward with it, especially because it's a very sound architectural approach to the specific business problem, but I feels uncomfortable anyway.

Changing to the second, related, topic of this post: in college, quite a few years back, I remember studying Amdahl's Law. It basically states (if I remember correctly) that the impact of a given change/optimization on a component of a system has an impact on the full system that is proportional to the relative importance of that component in the full system. Simple proportionality rules. An example. Like I said above, I have this situation where I am considering using this new technology that just came out. In the typical projects we do at |create|it|, 40-60% of the effort of a given project is spent in development/programming tasks, so let's consider 50% as the average. Let's suppose this technology is applies to 10% of the project, and that it allows me to cut in half (50%) the development time. This means, summit it up, that if the project had 100 days of development, we'd be saving the customer 0.5 * 0.1 * 0.5 * 100 = 2.5 days, or about 2.5% of the total cost of the project. And this is discounting the learning curve, obviously.

This whole rant is related to constant flux of innovations and new technology being made available almost everyday by Microsoft and other vendors ("can't they just stop for a few months?" - sentence I heard recently), and it serves as a kind of reality check. It's important to measure the impact of the technology we choose for our projects, especially if it's new technology. I'm just bundling here for the sake of example, but make sure you have an answer, when a customer asks you what's in it for him when you decide to use Linq, the Entity Framework Asp.Net MVC stuff, WCF/WPF/WF, Windows or Sql 2008, etc.

That said, and since I personally thrive on innovation and breathe new technology :-), I'll make sure I have that answer. It's a different world, out there in "Does IT matter"-land.

By the way: the new technology I mentioned is the BizTalk Adapter Pack.

Wednesday, April 2, 2008

INT05 and INT06 @ TechDays 2008 - SlideDecks

A few days back I delivered a presentation on Microsoft's ESB Guidance Package at TechDays 2008 in Lisbon. The session included demos of the ESB and BizTalk 2006 R2. The slide decks (mostly in portuguese) are avaliable at my skydrive: INT05 and INT06.