Posts Tagged ‘.NET’

Why Azure?

Tuesday, December 29th, 2009

Microsoft gets a lot of flak for its Windows operating system deficiencies, and until .NET came along, for its punishingly tough programming interface. Some of these criticizms are deserved, but I have a different take on Windows. If you were one of the fortunate ones programming in the late early 80’s, you would have been confronted with a dazzling array of computer platforms. Similarities ended at the the microprocessor. Z80-based machines ran CP/M, 6502 ran dozens of firmware-based ‘OS’s”, etc.

What Microsoft Windows provided was a common programming interface for developers, who could from their basement’s write applications that could reach a broad audience of users- each with an individually customized computer system. Each computer system, potentially sold by a different vendor. The screens could be monochrome, EGA, VGA, and printers could range from dot-matrix to laser printers and plotters. Microsoft’s NT futher extended the reach of independent software developers onto corporate desktops and later into datacenters.

Azure promises to extend the reach of developers once again- this time to a worldwide Internet audience. While it is a common marketing device by industry professionals to write about Azure providing developers with the tools to write the next FaceBook or MySpace, this is mostly true. It is not that Azure provides storage or application components that you would have access to in typical .NET, Ruby, Python or Java environments. While these new Azure services are open to developers of any language preference, its’promise lies availability in the ability to scale on demand- to meet demand.

Cloud Origins

Sunday, December 20th, 2009

Cloud Origins…

2010 will be the start of the cloud computing decade and the value proposition that cloud computing promises is too compelling for companies to ignore. Computing ‘in the cloud’ has a long and sordid history: remember Sun’s Network Computer (NC); where Sun stated, “The network is the computer”? Well, Sun wasn’t actually wrong- just a decade or so ahead of what was actually possible. I actually had the privilege of working with an NC. It was early ’96 and I was working with Reuters in a group that was working with Java to develop the next generation of business solutions. Java One had just concluded in the fall and if I remember correctly, JDK 1.0 was released at that gathering. Microsoft and Netscape were releasing browsers, seemingly weekly. Application user interfaces were programmed in AWT and it was a major challenge getting anything to run in both browsers.

Enter the NC.

Our team was making progress developing a research publication application and there were various other groups exploring the integration of C++ and COM technologies with sandboxed Java applications. Mark Andreessen and Jim Barksdale visited with our development group the night after doing a Charlie Rose interview. Because Java provided a managed runtime, our application development efforts seemed to be more effective at developing applications than those in groups developing in C++. At least that is what the Java evangelists purported and given a motivated team (late nights and weekends) some terrific demo’s were produced. It was early in the ’98 that we received our first NC’s from Sun. By this time we had gotten pretty good at developing for IE and Netscape, but were we ready to be developing on NT and UNIX as well? Our directive changed to include being OS agnostic as well as browser agnostic. I seem to remember Microsoft releasing versions of IE that ran on the NC as well as on its own OS. The NC seemed to be a non-started from the minute the power was switched on. It booted from the host and applications (even the simple ones we were creating) took forever to load and neither browser seemed to be stable. I remember a few frustrating weeks working with the team to stay on top of the onslaught of patches and updates, but ultimately the machines sat in the lab unused.

Web Services

Sun was as ahead of its time with the NC as most vendors (include Microsoft) were with concepts such as Web-TV. Sure the concepts are sound, but the technology and infrastructure hadn’t matured to make it practical (or in some cases) even possible. Processor and network speeds, as well as VM maturity doomed the NC from the start. These same constraints- especially the ‘last mile’ problem has confounded web-based media delivery- until only recently.

Web services and/or service-based architectures have proven to be one of the most successful aspects of the Internet revolution. Properly designed, deployed and consumed, web-services are RPC for a new generation. They are platform agnostic, easily routed and can be secured (although not always successfully) using standards-based protocols.

Next Stop: The Cloud.