October 7, 2011 1 Comment
In a session with a large Telco company yesterday we stated that Azure is a great companion to mobile device development only to be presented almost immediately with the, quite reasonable, question – WHY?
And so – here’s my version of the answer –
Most practical mobile applications are not stand-alone, they have a backend, be it server storage, some business service or some combination of the two.
This adds some concerns to the application developer, for example –
- Needing a place to host the backend logic/storage in a way that is both secure and accessible from the internet, without incurring big costs or have to go through lengthy processes to re-configure networks etc.
- Needing to start small to minimise risk (the application market is somewhat unpredictable) but knowing that it is possible to scale if and when the demand for my application grows. (Fail Fast or Scale Fast)
Windows Azure compute and storage capabilities provides a platform that answers both of these concerns (and others) – the cloud based storage is fully accessible from the internet, using standard open protocols and with published SDKs for all major platforms.
Similarly – web services (over work roles) and worker roles can be deployed to Azure to provide any backend processing cheaply and be made available to the device using web services or REST technologies
With the cloud there is no upfront investment in infrastructure, and one can add or remove instances as needed and so Fail Fast or Scale Fast is easily achieved in a risk free fashion.
To add to this – Windows Azure also includes the Service Bus with it’s relay service which can be used to securely relay requests from the device into a service inside a private network (for example – the enterprise’s corporate network) without needing to make any network or firewall changes (more advanced scenarios can take advantage of queues and topics in the cloud, that enable a publish/subscribe type patterns as well, but in most cases this is not necessary)
And so – I hope you would agree that there there are quite a few reasons why the Windows Azure Platform is a great companion to mobile application development!