Windows

10 reasons to use Azure for your cloud apps

Cloud platforms are available from various vendors, including Amazon, IBM, and Google. But Deb Shinder thinks Microsoft Azure might be the best choice.

Many technology experts believe that 2010 will usher in a new era in computing. In the beginning of PC computing, all applications were run from (and data was stored on) each individual system's local hard drive. As time went on, companies recognized the benefits of centralized management and control and moved to a model where data is stored on, and many apps are run from, servers on the local network. The next step will move apps and data storage even farther away from the end user, into the "cloud," with everything residing on remote servers accessed via the Internet. This will allow users to access those programs and data anywhere, from any Internet-connected machine, including low-powered (and low-cost) netbooks.

Cloud computing requires that a computing platform exist "out there" in the cloud, on which these remote apps can run. A number of cloud platforms are available from different vendors, including Amazon, IBM, and Google, among others.

Windows Azure is Microsoft's cloud-based application platform for developing, managing, and hosting applications off-site. Azure consists of several components: the cloud operating system itself; SQL Azure, which provides database services in the cloud; and .NET services. Azure runs on computers that are physically located in Microsoft data centers. In this article, we'll look at 10 reasons to consider using Windows Azure as your cloud computing platform.

Note: This article is also available as a PDF download.

1: Familiarity of Windows

Azure is based on Windows, so you can write applications in the same programming languages you've used for Windows apps: Visual Basic, C++, C#, etc. You can also use familiar tools such as Visual Studio, along with ASP.NET and other familiar Windows technologies. This makes it easy for organizations to find developers who already have the skills to create applications for the Azure platform. And because the Azure environment is much like the standard Windows environment, it's easier to create a cloud version of an existing Windows application.

2: 64-bit Windows VMs

Applications running on Azure run in virtual machines, with each instance of the app running in its own VM on the 64-bit Windows Server 2008 operating system. The hypervisor on which they run is designed specifically for the cloud. You don't have to supply your own VMs or deal with managing and maintaining the OS because apps are developed using Web role instances or worker role instances that run in their own VMs. The apps interoperate with other Azure components through a Windows Azure agent that runs in each VM. With Azure, you can focus on the code and don't have to worry about the hardware.

3: Azure SDK

Microsoft provides the Windows Azure software development kit (SDK), which includes a version of the Azure environment you can run on your own computer. It's called the Windows Azure Development Fabric, and it includes the Azure agent and storage. You can work locally when developing and debugging an application and then move it to the cloud. You can download the tools for Vista Studio 2008 and 2010, along with the SDK, from Microsoft.

4: Scalability and flexibility

Using Azure, you can easily create applications that run reliably and scale from 10 to 10 thousand or even 10 million users -- without any additional coding. Azure Storage provides scalable, secure, performance-efficient storage services in the cloud.

After you create a Web app, you can specify the number of processors for the application to use. If the application needs to scale up to meet growing demand, it's easy to change the settings to use more processors. The "pay as you go/pay as you grow" approach lets you bring your new apps to market sooner and respond more quickly to changes in your customers' needs.

5: Cost benefits and pricing model

Taking advantage of resources in the cloud allows you to decrease your costs for building and expanding your on-premises resources. You can also reduce the cost of IT administration because the hardware is being taken care of for you, off-premises. The cost of creating, testing, debugging, and distributing Web-based applications goes down because you have to pay only for the computer processing time and storage space you need at a given time.

Windows Azure pricing will be based on consumption, with a per-hour fee that's dependent on the size of the instance for Azure computing services and per-month or per-transaction fees for Azure storage services based on data size. For pricing details, see the Microsoft Web site.

6: Data center in the cloud

SQL Azure provides organizations with all the benefits of an enterprise-class data center without the hassle, headaches, and cost of maintaining such an entity. You get high availability and reliability with redundant copies of your data and automatic failover. No more worries about backing up data yourself.

It's a relational database model that stores data in the same manner as SQL Server (tables, indexes, views) and thus will be familiar to Windows DBAs, but your SQL Azure Server is spread across multiple physical computers for more flexibility. For information about the differences between SQL Azure and SQL Server, see Similarities and Differences - SQL Azure vs. SQL Server.

7: Support resources

Because Azure uses the same familiar tools and technologies as other Windows platforms, you can take advantage of the well-established support structure within Microsoft and company-provided resources, such as TechNet and MSDN, along with the huge ecosystem of Windows developers outside the company. There will always be someone to turn to when you have questions or problems.

8: Interoperability

With Azure, you can develop hybrid applications that allow your on-premises applications to use cloud services, such as the cloud database and storage services. Communications services work between on-premises applications and the cloud, as well as mobile devices.

Azure supports open standards and Internet protocols, such as HTTP, XML, SOAP, and REST. There are SDKs for Java, PHP, and Ruby, for applications written in those languages, and Azure tools for Eclipse.

9: Security

Knowing that security is one of the biggest concerns for companies considering a move to the cloud, Microsoft designed Azure with security in mind. The .NET Access Control Service provides a way to integrate identities, and Security Assertion Markup Language (SAML) tokens are used by applications to determine whether a user is allowed access. Microsoft has designed its compliance framework to meet regulatory requirements. For more details, see my article Microsoft Azure: Security in the Cloud.

10: Something for everyone

Windows Azure can benefit hosting providers, ISVs, systems integrators, and custom software developers. Hosting providers can expand their services to areas where they don't have existing infrastructure and add new services without more infrastructure investment. ISVs can use Azure to create, deploy, and manage Web apps and SaaS without large capital expenditures, and they can scale those applications more quickly and cost effectively. Systems integrators can take advantage of Azure's ability to work with existing on-premise infrastructures. Custom software developers can create software solutions for customers who can't afford the costs of in-house development, including hardware costs, and they can deliver their applications to customers as services without building and maintaining an expensive data center.


Check out 10 Things... the newsletter

Get the key facts on a wide range of technologies, techniques, strategies, and skills with the help of the concise need-to-know lists featured in TechRepublic's 10 Things newsletter, delivered every Friday. Automatically sign up today.

About

Debra Littlejohn Shinder, MCSE, MVP is a technology consultant, trainer, and writer who has authored a number of books on computer operating systems, networking, and security. Deb is a tech editor, developmental editor, and contributor to over 20 add...

28 comments
alexlhh
alexlhh

It is true that azure has become one the hottest hosting server options for .net cms (http://www.codagenic.com/codagenic-ecommerce/introduction.html) based websites, it does save lots of time and money, but it seems like Microsoft only provides technical assistance for Windows centric application, so it would drive you crazy to figure out what went wrong if one of your open source application failed.

clockodo Time Tracking
clockodo Time Tracking

We've decided to use azure as the hosting provider for our time tracking app http://www.clockodo.com Azure is a very stable, scalable plattform and the managed sql azure database is much better than building a redundant mysql database at amazon cloud, for example.

Ken Cameron
Ken Cameron

Google "Cloud Computing" Outages 2009 = 837,000 hits. We all know that Cloud Computing is HOT, at least, from a Hype viewpoint. Not only do we have wide disagreement on the very definition of Cloud Computing, but it appears that most of the hype and discussion is from vendors trying to sell their wares. My viewpoint: there are two separate markets that will evolve for Cloud Computing, and, they will be based on the reality of who the users are. The first path is for consumers and SMBs and is the underlying reality of today's hype storms. It is based on the External, Public flavor of cloud. The other path is the enterprise and is aligned with the Internal, Private side of the cloud, at least, initially. Consumers and SMBs are enamored with the Google, Amazon, MS Azure, RackSpace, SalesForce, etc., model of Cloud Computing. This audience has tended to accept the vendor excuses and mea culpas for the rash of outages in 2009. There has not been much comment about the outages from an enterprise perspective. I have reviewed much of what the vendors said about their outages. For example, the December MS BING outage was caused by a mid-week, mid-day change with an inadequate backout procedure. That does NOT happen in true enterprise class environments (without several terminations). The facility outages regularly pointed out single-points-of-failure that should not be present in enterprise data centers. The enterprise market for Clouds will be focused on the internal, private variety for some time. There will be an gradual increase of use of the hybrid model, where an enterprise will "RENT" external resources to supplement their private cloud. Eventually, this will lead to entirely external private clouds. An interesting nuance to watch will be how the Tier 1/2 outsourcers introduce Cloud Computing to their outsourcing clients. The Cloud model (rent, no contract) is diametrically opposed to the outsourcing model (long term contract, fixed price). This is probably why there is not a lot of discussion about Cloud Computing in the Outsourcing forums. In summary, Azure might (like Google, Amazon, Rackspace, etc.) be fine for consumers and SMBs. Don't expect a large penetration in the enterprise.

jrockefeller1
jrockefeller1

"Cloud platforms are available from various vendors, including Amazon, IBM, and Google. But Deb Shinder thinks Microsoft Azure might be the best choice." In of all of the points in this list, how many do the other cloud services not offer? Point #1 is not actually a good thing for business as limiting yourself to just one software provider puts all of your eggs in one basket and increases costs. Also, a lot of us developers have had extensive negative history with Windows software and web development. Cryptic error messages, non-existent help documentation (I've clicked help and received an error like 'This help was for an earlier version of the software which is no longer supported. Please upgrade'), and version differences make development a nightmare. Point #2: Many places offer 64-bit hosting on Windows platforms... Also: "With Azure, you can focus on the code and don?t have to worry about the hardware." all clouds offer this and is the primary reason I favor VPS hosting vs. co-location for most businesses. Point #3: "Microsoft provides the Windows Azure software development kit (SDK), which includes a version of the Azure environment you can run on your own computer." Will not run on Linux, Mac, or Windows XP. So this should really say 'can run on your own Windows Vista or higher computer.' If we're developing for the web, why are we limited in our development platform? Point #4: Companies who do VPS such as Slicehost have been offering varied levels of performance based on usage for years. Increasing capacity over time is simple these days and is not limited to the Azure platform. Point #5: Cost benefits. I have not specifically seen how Azure will be less money other than marketing speak. How will this exactly be less money than alternatives not only from Google and Amazon but from Microsoft themselves. Point #6: This is not limited to Windows Azure. Point #7: Support. Fair enough, but all providers offer this. In fact, I've never seen better support than Google, especially from the Microsoft camps. If MS wanted to improve support, it would do well to greatly improve error output functionality. Their errors are impossible to track down. I've literally seen "An error has occured." and that's it. Point #8: It's great that they have a wide range of supported languages. I think that's one of the ways that Windows Azure may outperform other cloud services on paper. The proof is in the pudding. Developing using these technologies on the Windows Azure platform is a complete nightmare. Also, you are required to use Windows to do it, which kind of makes it hard/impossible for Linux and Mac users. Point #9: Security. I believe that Windows Azure is secure. But is it any more secure than the competition? That's the question I want answered.

zerg1961
zerg1961

I wouldn't use Azure based on this very slanted/biased load of garbage. How do you people get jobs, or does MS pay you for your efforts. There are other software companies, and many of them make products as good as or better than MS, yet we hear nothing about anyone except when comparing them to MS products, which you seem to be in love with. I'll remember next time not to bother reading what you write, and use my own experience to source software which is right for me, I don't need bloated software which costs a fortune, most users do not have a need for MS products, but yet when they look for advice they get this dribble, try taking into account techs and users alike have needs beyond MS so maybe you should try meeting them, or go back to computer school.

JD
JD

This article is not really about "10 reasons to use Azure for your cloud apps". Whilst the author mentions other cloud computing platforms, many of the points are general cloud computing points, not pluses for MS Azure. Here's my opinion: 1)Familiarity - this is a somewhat valid point, although I don't think its quite as simple as migrating your current apps to the cloud. MS:0.5 2)64-bit Windows VMs - WTF? Many vendors us 64bit VMs! Generally there is no real advantage anyway unless you are using lots of RAM. Some IT ppl may prefer to use their own VMs. This would only be a plus if you had the choice (but I can't see MS offering Linux servers - or could they?) MS:0 3)Azure SDK - I guess this may be a bonus for people who are developing for Azure, but basically its more of a prerequisite rather than a reason to use it! Other providers have development resources. MS:0.25 4)Scalability and flexibility - this is a general cloud computing point, not one specifically for MS. MS:0 5)Cost benefits and pricing model - I have not compared their pricing but knowing MS I find it hard to think they'd offer it substantially cheaper than other players, which again makes this a general cloud point, not MS! MS:0 6)Data center in the cloud - partially a general point for cloud computing not MS. Although may hold some appeal for developers who specifically plan to use it. For other there are other databases to use. MS:0.25 7)Support resources - this is basically just an extension of the first point with a little more detail. MS:0 8)Interoperability - this may hold some validity but remains to be seen. Again MS Azure does not have the monopoly on these features. The second part of this point holds no water - what point is a cloud platform that doesn't use many of the "open standards and Internet protocols" listed eg HTML? MS:0.5 9)Security - wasn't this MS we're talking about? Please! MS DO NOT have a good security record! Need I say more? MS:0 10)Something for everyone - this is a generalist and nothing comment really. I could say the same about Linux in the cloud - doesn't make it true (although it may be for some)! MS:0 So, out of the original 10 reasons to use Azure, I finished up with one and a half!

jerry
jerry

Bet you loved Vista too?

Deadly Ernest
Deadly Ernest

Microsoft + Cloud Computing = pure waste of space, time, and energy Please see all the other Cloud Computing threads as to why this is a stupid thing to do or use.

programit
programit

Slow, expensive, bloated and insecure. Who could honestly trust microsoft with their data - no way!

Tony Hopkinson
Tony Hopkinson

It's a sql like front end to a property bag approach. Otherwise they wouldn't be supplying relational databse space on sql server at a premium would they. Azure is very clever, but it's also very different. It's a much bigger tech jump than say VB6 to VB.net, and look how many issues that highlighted, in the general skill set MS have encouraged, ie clueless cookie cutters. Scalability is not just being able to throw more processors, connections, and disk space at a task. It's writing so code so that is effective. Disappointing repeat of MS marketig blurb, talk to some tech guys there instead.

JAub
JAub

I don't know the author's background, but article sounds rather biased. Few of the points are backed up with facts or related studies. Sorry but it reads like a PR release from Microsoft.

jck
jck

Say they're puttin in a new line for sewage for the neat new flats they're putting in, and they hit your fibre trunk. What's all them lovely lasses sitting round the office to do for 6-8 hours til the repair crew can get things patched? Can't access web apps without a web. :)

Tony Hopkinson
Tony Hopkinson

There are some good uses for it. Internet campaigns, portals and such, and in those terms Azure looks pretty decent tech. Even they have recognised an obvious reluctance to site critical data in the cloud so they provided point to point tunneling capabilities. It's not the tech that makes me really suspicious but the business thinking behind providing it, and the major lack of thought displayed by the Gartner lemming types, in going for it.

keoz
keoz

You are missinformed, and Azure is very secure, is being formed to build on the top security ISO standards and MS is looking for take Azure certified on these ISOs

clamont9
clamont9

Just point your odbc connection to the cloud to get a full TDS stream.

RipVan
RipVan

Okay, that might be a little tough. But I subscribe to her newsletters because I do part of my work in Windows. She is an MS cheerleader. So if you say "moderately biased," I think you understate the case.

Ken Cameron
Ken Cameron

MS Azure (and Google, Amazon, etc.) will probably grow explosively with their Cloud offerings...for consumers and SMBs. For enterprises, these vendors just don't have the maturity to run Enterprise-Class environments. Look at recent MS BING outage - caused by mid-day, mid-week change without a viable backout solution. You just don't do that in enterprise environments. The 2009 facility outages (Amazon, Google, MS, Rackspace, Foster Center, etc.) show these players don't even understand "enterprise-class" data centers. The cloud market will sub-divide into two: Consumer/SMB and Enterprise. The Consumer/SMB will be external/public while the enterprise will tend to be internal/private with some external/private (most likely with the conventional outsourcing partners). Someone mentioned Vista as a tongue-in-cheek analogy. I look at the track record of MS patches and security issues, and I have trouble seeing Microsoft as the primary vendor for enterprise-class environments.

cteague3
cteague3

I totally see the need for the ability to "cloud" off services. We've written our own internal cloud computing services FWK in my development org here at Intel, been running since 2006. Allows us to bring up new use-cases on our WF services clusters that leverage behind the scenes reusable resource constrained compute services. As we add new use-cases on the WF nodes, we end up pushing resource load out to our compute services in our "cloud services". All of these cloud services are sent requests for work in an identical manner, asynchronously, according to one interface. The request is serviced, regardless of the work type, on any number of machines (according to scale out) behind the scenes, according to any queuing and priority rules we have in place (use-case importance, size of request, etc.) It seems to me that for this to be really useful to the corporate world, we need to be able to host MS's Azure Cloud in our own data centers. I might be wrong as I am no business genius, but I don't know if the business case is really there for only serving up. Maybe all the SMB's out there across the nation will be more likely to use it served up by MS's data centers this way, not sure.

Deadly Ernest
Deadly Ernest

that's of great concern. In the last twelve months we've heard of several companies doing the 'Cloud Computing your data is on our servers' business routine closing down and people being unable to recover their data or use it again; also a few have had a problem with servers and data lost. Putting anything out on someone else's server puts you totally at your mercy, and you'd have to be stupid to do that with important business operations. Also, going out on the cloud means your operational ability at any one time is dependent upon every router and system between you and your cloud supplier - look forward to lots of down town and slow work days due to network problems.

Tony Hopkinson
Tony Hopkinson

The emphasis has been on things like stopping you breaking out of your core to look at my data on another, and making various security mechanisms available... If MS want to look at your data short of it never being decrypted in the cloud, all you can do is trust them.

Tony Hopkinson
Tony Hopkinson

I mean you can do odbc to a text file. It's relational if you can put rules on it.

jck
jck

You have a data trunk going out of your facility. Construction hits your trunk line. What do your 10-300 office personnel do for the hours (or maybe even days in a bad situation) where you have no access to the outside world both to use cloud apps or for what's left of your IT staff to control your virtual farm? The cost savings of cloud is obvious in the near term, but the detriments to having all but your client systems being off-site will eventually be seen in one way or another. In essence, that makes cloud computing the "wannabe" of reliable systems. You do make a good point though. Look at what happened with Microsoft's Danger cloud center. They can't even keep a good backup or handle server migration properly. This isn't something any large enterprise will want, and any smart small business will avoid it.

Tony Hopkinson
Tony Hopkinson

since Captan Obvious realsied you couldn't get all this stuff on one box. The business case for serving up is lock in, critical dependancy and then ball squeezing. There's a good business argument for it, if you can find enough dumb ass short term thimble brained business heads to go for it. Can't see MS selling Azure to competitors, that wouldn't make sound business sense in our terms or theirs.

Deadly Ernest
Deadly Ernest

last year, and in each thread I've pointed out that Cloud Computing techniques can be useful IF you set up an Internal Cloud and run it as a new version of Thin Client, which is what you describe. This still gives you total control and security of your data and servers and their access. The other situation I can see it being useful is for cheap application usage and data storage / access for an educational situation, be the system based on the institution's servers or anywhere in the web. the students could afford cheap fees to use apps without having to buy the full software, and can access their assignments etc from any computer. The general description of Cloud Computing, as promoted by those in favour of it, is for a company to rent data storage and application services from another company that's situated anywhere, the access to the storage and services is done over the Internet. This model is NOT good for a business to follow, yet those selling Cloud Computing services tout this as being a cost saver - like doing no maintenance on your car saves you running costs. This is what we speak against, not setting up your own browser based in house thin client system.

Deadly Ernest
Deadly Ernest

of their main offices, and putting the service out to the cloud will ALWAYS add extra risks as the additional facility concerned could be taken down by issues with their power or links to the Internet. You also have risks about the longevity of the cloud data centre itself, we've already seen loss of data with back processes at a cloud service and also seen four close down at short notice that cost many of their clients their data.

Ken Cameron
Ken Cameron

JCK: 1) most enterprises no longer house their data centers with their offices, and 2) most enterprises have TWO trunks coming into their enterprise data centers.