tags:

views:

2298

answers:

11

I don't know about you, but i'm rather excited by the newly developing 'Cloud' computing platform. In the past I have been rather hoo hum about it all, thinking it is going to be a passing fad.

I'm developing a webservice at the moment, and I have had in the back of my mind the future scaling issues I will be facing. Being a small company (developers numbering 1 - me!) all hats need to fit my head; DBA, IT Support, Developer, Graphic Designer, Web designer, Tester, Customer Support, etc.

If Azure can take on my scaling issues I will be VERY Happy!

So... To Azure or Not to Azure? Is it too early to trust these new technologies? How easy is it to port code? Can Azure provide scheduled tasks? What about Backup? How safe is it to trust Azure with sensitive data?

Sorry, Lots of questions!

[UPDATE] So... anyone got any working experience in this space now? I haven't managed to get access to the service yet :(

+5  A: 

You may want to look at Amazon's EC2. Its been around longer, and is currently up and running, as opposed to Azure which is currently in "Techology Preview" (read: beta) mode.

There's also some questions on StackOverflow about Amazon's EC2.

ARKBAN
+1  A: 

I'm still not entirely convinced with Azure yet, the concept is somewhat sound but until we know how much it will cost, the reliability, service guarantees etc I wouldn't quite jump ship to it.

As ARKBAN said, its still a tech preview, so perhaps in a few months you'll be able to re-evaluate and decide then.

If your looking for something to host a .NET based 'service' you could keep a watch on EC2 because they're brining in a Windows Server option (http://aws.amazon.com/windows/) which might be a viable option to having 'scalable' services (however I imagine it would be somewhat more manual then Azure)

Matthew Savage
+2  A: 

"Technology preview" implies "too early to trust."

As the other answerers have suggested, look at Amazon's EC2. It has matured to the point where they can charge you monthly fees based on your usage, which is analogous to "eating solid food" for kittens and puppies. I don't know if it's completely weaned.

Thomas L Holaday
+2  A: 

http://gogrid.com/

I chose gogrid over Amazon because I was more comfortable with their approach towards windows technologies. I know you are asking particularly about Azure, but if you want to try your hand at windows development in the cloud I recommend gogrid. check it out.

Marcus Cicero
+3  A: 

I'm still in the "ho-hum"/sceptical camp. I'm failing to see why you, as a business, would trust all your files and applications to another business. What happens when Google, or Amazon, or GoGrid or whoever finally decide that they don't want to do "cloud" computing any more?

nickf
With amazon you're not in too bad a situation, because the virtual machine images are basically just Xen VM's. You could buy a rack of your own servers, and switch away from EC2 pretty easily... It'd cost you an arm and a leg though. Azure or the others though? not so much...
Orion Edwards
well I think there is also a trend towards "private" clouds. Similar architectures, but run in house, behind your firewall.
Brett McCann
A: 

Check out Appistry. Company was founded in 2001 and I've been there since 2005, so we are by no means new. We also have a community edition which is free to use in production. We allow you do deploy apps across any number of commodity based hardware running linux or windows.

Here's a link to some info on our product:

http://www.appistry.com/resource-library/index.html

and to download:

http://www.appistry.com/developers/

Hope this helps, Brett

Brett McCann
+11  A: 

I have played with the Azure beta and worked my way through the sdk examples they provide. It looks very promising and performance is good. Some of the web management console looks a bit ropey still.

Scalability - sure thats one of the driving reasons for cloud apps

Ease of writing code - Well its all .net but you will obviously need to modify it to use Azures capabilities. Azure projects have an extra description file that describes the project when you deploy it.

Reliablity Who knows until this is put to the test. A number of companies are already using it as announced in PDC. Microsoft obviously have the resources to ensure reliability and make this a successful platform. Additionally I would expect Azure to integrate better with .net and visual studio than the solutions from Amazon and Google.

Backup

I havent seen any specific backup facilities although part of the benefit in hosting it in the cloud is Microsoft are looking after it so this may be implicit.

Scheduled tasks

You can host workflow instances in the cloud which may take care of your scheduled tasks requirement. You could also create another component which called the service bus to initiate tasks.

The main problems with Azure at the moment for me are:

Microsoft have not announced pricing yet

As with any cloud platform legal issues with moving data about

I suggest you sign up for the beta and go through the examples as they will answer some of your questions.

I wrote a little post about my experiences with it: http://www.simpleisbest.co.uk/Blog/BlogEntryDetail/Azurefirstlook?id=60

alexmac
best answer in my view +1
Booji Boy
As for "As with any cloud platform legal issues with moving data about"... They just announced today that you will be in control where your data is stored. So geolocation is part of the package now. Pricing is still a big question mark though, but they have to compete with Amazon, so who knows?
Jeroen Landheer
and this answer gives more reasons to go with the more mature system: http://stackoverflow.com/questions/804495/mapreduce-on-azure/805737#805737
gbjbaanb
A: 

Actually, I'm not so sceptical about Azure. If you're developing something from scratch and are aiming for global visitors and looking for high scalability and availability, I think Azure is really the way to go. High-availability is pricy, especially if you need to buy SQL Server EE processor SPLA licenses and set that in a clustered box at an ISP using dedicated servers... (That's pain in the wallet.)

Azure offers data storage and High Availability out of the box and charges only for usage (that's at least the plan) it might be a good idea.

Jeroen Landheer
A: 

I am excited about trying an azure app soon, I'm in the same boat as the OP with an app underdevelopment, but really need better information on the pricing before committing.

How does the "charging for usage" work? The quick read I saw implied you'd be charged when you app is running, but isn't a website "always running". I don't see how it can't always be running...same thing with the DB, if the front-end is running, the back-end is running too - at least in my app.

EJB
+2  A: 

I would wholeheartedly recommend Azure. We've been doing lots of development on it and it works flawlessly.

A couple of people have recommended EC2 on here. It's important to realise whilst they are both "cloud" platforms they are very different. With EC2 you host virtual machines in the cloud. You still "own" your servers, ie you are responsible for patching them, setting them up, setting up IP addresses, load balancing, scaling your application layer, providing application resilience between your VMs, fault zones, redundancy etc etc etc. Ie you still have to "worry" about operating systems, scaling and infrastructure. Azure is very different. Azure is a software virtualisation platform. You upload a package of code and Azure does everything for you. Provisions machines, sets them up, patches them, calculates possible hardware and networking failures on the basis of fault zones and magically sets everything up so it is somewhere close to zero chance of anything taking out your service. It's way, way more than you get with EC2, which is very similar to goGrid. Google is much closer to Azure but that's heavily targetted around delivering websites and gives you little flexibility over languages / frameworks your apps can be built it. Azure supports any .NET language, python, PHP and is absolutely the way forward.

+2  A: 

I'd have to consider the advantages to developing an application for Windows Azure. Windows Azure is a cloud platform that basically offers storage and the ability to host applications/services. Think of it as Microsoft's Platform as a service... A Windows OS in the cloud.

If, for example, I'm starting a Micro-ISV (independent software vendor - one man shop) who offers a web service, I would think that it offers me a few advantages. For starters, I would want my time and money, in terms of priorities, to go towards the web service I'm developing. So... I could utilize the Windows Azure platform, which essentially takes care of my IT needs, and concentrate on the development of the application. Windows Azure offers a 'pay as you grow' or 'pay what you use' model, so I don't have to worry about planning (storage, processing, scalability). I simply publish my web application to the Azure 'cloud' and it's available to the public. As the web application grows or shrinks, I pay for what I use and I can scale up or down as needed - it minimizes my IT management.

A couple of disadvantages that I'd have to consider...

You have to conform to the Windows Azure platform when developing. This can be both restrictive and requires a bit of a learning curve. If, for example, I'm creating a ASP.NET application, I would first have to download the Azure SDK and Visual Studio templates. Development can still be done in Visual Studio using C#/VB.NET, but let's just say the project setup is different, not necessarily hard, but some learning is required. Now, let's say my ASP.NET application requires a SQL Server database. Windows Azure offers Windows SQL Azure which is a relational database built off of SQL Server that supports T-SQL. For most routine applications, the difference between SQL Server and Azure SQL probably won't be a problem, but it'd have to be considered. Furthermore, you may lose some, perhaps all, SQL Server functionality with regards to SSRS, SSIS, jobs, etc (off the cuff, I do not know what it'd all be, but the functionality is a sub-set).

Bottom Line: If I've accepted the disadvantages and I know that they won't be a problem than the upsides to me are that I may have a cost effective approach to have a faster way to get out to the public, pay for what I use, minimize IT, but most importantly the ability to concentrate on the heart of the business (i.e. web service).

Jeremiah