| Subscribe via RSS

Microsoft Azure Vs Google App Engine

November 3rd, 2008 | 14 Comments | Posted in ASP.NET, Cloud

cloud 
As you all know by now, Windows Azure is Microsoft’s brand new platform as a service offering and I thought it would be an interesting exercise to compare it side by side with the Google’s popular PAAS product – Google App Engine.

Language Support:
Straight out of the gate Azure allows you to leverage the power of C# and VB, and there is no reason why the other .Net savvy languages can’t join the party too. Look forward to IronPython, F# and Iron Ruby being a consideration in the not too distant future. Meanwhile GAE only gives Python as an option and further language support is not on the roadmap. .Net services is being designed from the ground up as language agnostic with Java & Ruby SDKs being readily available http://jdotnetservices.com/ http://www.dotnetservicesruby.com/
Result: SUPER BODY SLAM BY AZURE!!

Application Types
Azure offers two different kinds of application model; Web Roles and Worker Roles. Both can be utilised in your Azure applications. Web roles are your typical request/response HTTP paradigm similar to GAE’s request based model. More interesting is the Worker role that adds processing and logic that does not need to be triggered via a web request. Think Windows Service and you are on the right track. This gives you the ability to run background tasks and opens up a whole raft of application possibilities that GAE just cant offer right now. Looking at the roadmap, it’s not going to arrive any time soon either. There’s no chance of chron-like capability or long running processes with GAE.
Result: CHOKE HOLD BY AZURE!

Scalability
Microsoft Azure is as yet unproven in this area but there are plenty of indicators around the web that GAE would not hold up against traffic of a serious or sustained nature. Concerns with CPU and storage limitations, caching, database immutability plus one way in and out ( via the Google API ). App Engine’s 1MB file limit would seriously hinder the kind of audio-heavy enterprise applications we write at Qire. Of course we will have to wait and see how Azure stacks up in this regard, so it’s pretty impossible to compare both technologies at this time.
Result: Break!

Storage
Azure offers a few different storage options including Table Storage that leverages the killer ADO.NET Data Services Framework to get the job done. Add to this the more familiar SQL Data Services platform and you have more than enough flexibility to achieve all you need. GAE follows the ‘one big table’ approach and there is nothing wrong with that but the range of storage options provided by Azure gives it more of an edge.
Result: Knockout!

It’s plain to me that the Microsoft offering is way more advanced than anything else out there, an opinion that is echoed on many GAE forums and messageboards too.

PDC2008 Keynote Live Stream

October 27th, 2008 | Comments Off | Posted in ASP.NET, Cloud, Webcast

9guy_blogbling_240X320

Via Steve Clayton:

Monday, October 27 3:30pm – 5:30pm
Click here to watch the 300k stream live

Tuesday, October 28 3:30pm – 5:30pm
 Click here to watch the 300k stream live

Silverlight 2 in the wild

August 22nd, 2008 | Comments Off | Posted in ASP.NET, Cloud, Silverlight2, Telecommunications

We have just completed the first release of our enterprise level cloud telecom solution called Qore here at Qire in Liverpool. It is the worlds most advanced multi-channel communications platform and we are really proud of what we have all achieved. My colleague Paul has especially worked magic on what is has been a really ambitious project.

Now that the main objectives have been met, we have a little time to add a few nice bells and whistles to add that little sprinkling of fairy dust that makes good software better. So what could be nicer than cracking open Silverlight 2 and knocking together some cool data visualisation tools.

The first is a big client network monitor display that is going to deployed on a enormous plasma screen stuck to the wall to give the whole company visibility of any issues that our A-List clients have while using the application. We can pre-empt any problems and offer a greater level of service by offering clients help before they even ask for it. Pretty snazzy. Check the video below ( starring Katy, who is captured here between moments of moaning about the cold and making a brew. Plus you get a quick tour of my desktop art gallery.


Silverlight 2 Client Network Monitor from jon on Vimeo.

The second little control is a call visualisation control that will be embedded in Qore to show call details and narrative in a much more interactive fashion. I’ll edit and post the video later as Vimeo is playing up right now.

So that’s it, a little demonstration of what we are making in Silverlight 2; controls to help our clients and improve business processes, hopefully giving you the idea is useful for more than just trivial applications.

ADO.NET Entity Framework Quickstart Tutorial

June 3rd, 2008 | 3 Comments | Posted in ASP.NET, C#, EntityFramework, LINQ

The ADO.NET Entity framework received another update last week as part of the Visual Studio 2008 and .NET Framework 3.5 Service Pack 1 Beta, so to coincide with this I give you a quick run through to get you started. Being honest, if you have used an OR mapper in the past this will be familiar territory. If not, this new implementation is a good place to start.

screenshot1 So to begin, create a new ASP.NET website, Add New item, and then choose ADO.NET Entity Data Model. Name it EntityModel.edmx and click Add to create a new model.

The Entity Data Model Wizard will pop up and give you a chance to configure your new model. For the purposes of this walk through, choose Generate from database and click Next.

screenshot4 Set up your data connection, I won’t go into this as it’s simple enough to figure out if you’ve never done it before. Click the checkbox to save entity connection settings into your web.config and name it MyEntities.

screenshot6The wizard will then tootle off and retrieve the names of all the tables, views and stored procedures in your database. Choose a table ( I’ve chosen a table from my DB called ‘Log’ ) and name the Model Namespace MyModel.

Click Finish and the designer for your model will open. As a side note have a look at the Model Browser on the right hand side – it looks a bit ‘rendered’ for want of a better description, as though it’s drawn via GDI+ compared to the Solution Explorer….strange!

Now add a new web page and go into the code behind to start the real work. It’s just a simple bit of code to CRUD the Log entities in my database.


// instantiate a new Log entity
MyModel.Log log = new MyModel.Log();

// populate it’s properties
log.Date = DateTime.Now;
log.Exception = “Test Exception”;
log.Level = “Test Level”;
log.Logger = “Test Logger”;
log.Message = “Test Message”;
log.Thread = “Test Thread”;

//instantiate the entity ‘context’ – the object used
//as a ‘gateway’ to the DB
MyModel.MyEntities entities = new MyModel.MyEntities();

// Save the new log entity to the DB
entities.AddToLog(log);
entities.SaveChanges();

// Load it back via a little LINQ query
// ( funny how you must use .First instead of .Single )
MyModel.Log loadedLog = entities.Log .Where(ent => ent.Level == “Test Level”).First();

// make a change and save it back to the DB
loadedLog.Message = “Message has changed!”;
entities.SaveChanges();

// Finally delete the object from the DB
entities.DeleteObject(loadedLog);
entities.SaveChanges();

Notice how you have to call .SaveChanges() to persist back to the DB. That’s it! A super fast run through of CRUD with the ADO.NET Entity Framework! Enjoy!

kick it on DotNetKicks.com

Come and work for Qire in Liverpool

June 3rd, 2008 | Comments Off | Posted in ASP.NET, C#

Qire LogoFancy coming to work in Liverpool – European Capitol of Culture 2008 – to build the next generation of voice driven applications?
Qire is the acknowledged leader in intelligent voice messaging systems with many top notch public and private sector clients.
We create applications that manage security, business process and call centre automation via the power of ASP.NET and C# ( plus some other exciting technologies that you can learn on the job ). We are looking for a permanent mid/high level developer to join our small team of happy coders to help shape the future of telephony. You will be adept at asp.net c# sql, have good soft skills and want to work in a friendly and creative coding environment. If you are interested, send me note ( or even better a link to your CV) via the contact form on this site.

EXTJS Functionality in ASP.NET

February 22nd, 2008 | Comments Off | Posted in ASP.NET

Be sure to check out the new Coolite library that brings the awesome EXT javascript UI framework to the ASP.NET platform.
Go Here

Microsoft Exam 70-528 : Passed!

January 15th, 2008 | Comments Off | Posted in ASP.NET

Today I finished my last exam – 70-528 Microsoft .NET Framework 2.0 – Web-based Client Development, and passed with a score of 985. That means I am a Microsoft Certified Professional Developer : Web Applications and Microsoft Certified Technology Specialist in ASP.NET.
The exam I took today was pretty easy to be honest and would not present much of a challenge to developers who make a living coding in ASP.NET. I didn’t revise much at all for this one…maybe about 10 hours total brushing up on a few minor points, and finished the test in about 25 minutes.
If you want a decent measure of your coverage of the framework you could do worse than go for the MCPD and MCTS. I enjoyed the journey very much.

Developer Highway Code – Microsoft Security Best Practice eBook

January 9th, 2008 | Comments Off | Posted in ASP.NET, Framework

  highwaycodeMicrosoft have put together a nice little manual that sets out best practice for developer driven security. It’s choc full of techniques you can integrate into your development pursuits to build better, more secure applications.

From the official Microsoft blurb: To build software that meets your security objectives, you must integrate security activities into your software development lifecycle. This handbook captures and summarises the key security engineering activities that should be an integral part of your software development processes.
Download full book as a .pdf by clicking here

Liverpool ASP.Net Bloggers – A Reading List

January 8th, 2008 | 2 Comments | Posted in ASP.NET

This is a list of Liverpool based blogs that write about ASP.Net every now and then that I read. Nothing more than that!

Steve Clayton: Geek In Disguise
Jonswain’s Weblog
paulpierce.co.uk
ts0
MJJames – Web Developer
Reflective Perspective
Paul Kinlan

If you want to be added or removed from this list for any reason, just drop me a line and I’ll attend to it.

Microsoft Exam 70-536 : Passed!

January 7th, 2008 | 4 Comments | Posted in ASP.NET

I took my second Microsoft cert today, the 70-536 Microsoft .NET Framework 2.0 – Application Development Foundation, and passed with a score of 1000. I’m pretty chuffed again. This exam was much more difficult and more  than the 70-547 I passed before Christmas. There were lots of questions that you either knew the answer to, or you didn’t. I had spent a lot of time revising constructors and overloaded constructors to common .Net classes and it certainly paid off. I revised quite a bit of the holiday period using the Microsoft training kit mentioned in my previous exam post.

So only one exam to go until I am MCPD and it seems to be the easiest exam of the set, so I am not going to revise at all and just take my chances on the day. I am planning to take it this time next week and will update here on my progress.

  • Cloud

    Ajax AmpliFeeder ASP.NET Blabnote C# Cloud Design EntityFramework Framework JavaScript JQuery LINQ Live Mesh MicroBlog Mix07 Mobile Productivity Rails Remix08 SDS Silverlight2 SQL SSDS TDD Telecommunications Uncategorized VOIP WCF Web 2.0 Webcast


  • @jonpauldavies