Sunday 16 February 2014

What is Microsoft Azure?

I was talking to a tech buddy during a play date this weekend. He's currently updating his Microsoft accreditation and is really impressed with what he's learning. He's telling me how he can write one application and publish it to multiple devices, phone, tablet desktop in a snap.

Backend cloud processing for Unity

Yep, we've heard it all before, it's called html 5 these days, but this guy isn't a newbie, for example he's already using phone gap and loves it. We're talking here about solutions for serious backend cloud processing that are maintainable and scalable. Essentially something to rival Amazon Web Services (AWS) and Google Web Toolkit (GWT).

I was interested because Unity has introduced me to the power of .NET. I already know other Microsoft products like Visual Studio from when I used it years ago and I've been supporting and developing on Microsoft software for so long I'm pretty familiar with their quality. It's not perfect but I was wondering if this could be a useful solution, particularly something to work with Unity.

I've been searching for Unity backend services including Photon and Smartfox Server and both have the strengths and weaknesses. I was wondering if Azure would be a good fit given it's microsoft and so I assume .Net pedigree.

Quick Comparison

Talking to another colleague I learned that AWS and Azure are pretty similar services but key differences were

  • Pricing: 
    • AWS billed per hour. Fire up your machine and you are charged for an hour even if you just use 10 minutes
    • Azure billed on time machine is running: You only pay for when your machine is actually running
  • Builds and publishing
    • With AWS being unix based it's easy to build your server locally and publish to AWS. A very quick process. Same as building your applications
    • Azure: Longer more difficult process for building your server and then publishing code and software builds
This is an on going explorative article. Helping me decide if Windows Azure is fit for my purpose. So if you have anything to add please do. Particularly if details are wrong. The comparison of services is more hear say at the moment. Something I need to clarify. 

Concerns

My concern with Microsoft is always lock in. They are in my view a walled garden because I learnt to support and work on Microsoft first and from then on I've been struggling to get out. Over time I have learnt that this comes directly from their business model and hence their way of doing business. 

Their systems and products are always sufficiently different to anything else they ensure you must buy their next product. Here's a quick list of MS products I've used along with competitors that I found I prefer:
  • I ran IIS servers for years and then I found apache. 
  • I ran windows for years, recently I found Apples OS X. So far it's hands down better.
  • MS Office v Google Docs, I don't need the power of Office. I need the presence and accessibility of Gdocs
  • Exchange and Outlook v GMail, With GMail I often search for details 7 years old and find them in seconds. 
  • Visual Studio v Dreamweaver or eclipse. Dreamweaver does better HTML, eclipse does more than just MS code for free
The big lesson of course has been Internet Explorer v Firefox and Chrome as a web developer with passion for the front end I have always designed for firefox and chrome first and then made things work in IE. This is probably the simplest way of describing Microsofts solutions in my experience. 
Develop for the solid quality products first. Then make it work on Microsoft

So why consider a Microsoft development pipeline at all? 

I like to keep my ears and eyes open. Not be prejudiced. Mainly it's because Unity uses .Net. I assume this is because of Xbox. So I don't want to dismiss MS out of hand because there could be some part of the process that's useful or other benefits I don't yet realise. 

Related Articles




No comments: