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.
Both Amazon Web Services (AWS) and Microsoft Azure feature in the Leader’s quadrant on Gartner’s 2015 Cloud Infrastructure-as-a-Service (IaaS) Magic Quadrant. This is a big feat for Microsoft as Azure entered the Cloud Computing scene only in 2010, whereas AWS was launched back in 2006. Azure has made significant advances over the years. It now offers a set of features and capabilities far surpassing its competitors. The following are some important aspects wherein Azure scores over AWS.
1. PaaS Capabilities
Both Azure and AWS offer similar IaaS capabilities for virtual machines, networking, and storage. However, Azure provides stronger PaaS capabilities which is an important piece of Cloud infrastructure today.
Microsoft Azure PaaS provides application developers with the environment, tools, and building blocks that they need to rapidly build and deploy new cloud services. It also provides the vital ‘dev-ops’ connections which are important for monitoring, managing, and continually fine tuning those apps. With Azure PaaS, much of the infrastructure management is taken care of behind the scenes by Microsoft. Thus, developing Azure PaaS solutions allow for a 100% focus on innovation.
2. .Net Compatibility
Azure’s compatibility with the .Net programming language is one of the most useful benefits of Azure, which gives Microsoft a clear upper hand over AWS and the rest of the competitors. Azure has been built and optimized to work consistently with both old and new applications developed using the .Net programming framework. It is much easier and straightforward for enterprises to move their Windows apps to Azure Cloud as opposed to AWS or others. Thus for the several organizations that use .Net based enterprise apps, Azure is the obvious choice.
3. Security Offerings
Azure has been designed based on Security Development Lifecycle (SDL) which is an industry leading assurance process. It comprises security at its core and private data and services stay secured and protected while they are on Azure Cloud.
Microsoft was the first Cloud vendor to be approved by the European Union’s data protection authorities and the Article 29 Working Party. They were also the first to embrace the new international standard for Cloud privacy, ISO 27018. Thus, Microsoft guarantees the best in terms of safety for all operations and data on the Azure Cloud.
4. Hybrid solutions for Seamless Cloud Connectivity
While Amazon is still testing the hybrid waters, Azure already has its hybrid capabilities in place. It seamlessly connects datacenters to the Cloud. Azure provides a consistent platform which facilities easy mobility between on-premises and the public Cloud.
Unlike AWS, hybrid apps can be developed on Azure which can take advantage of the resources available within datacenters, at the service provider’s end, or within Azure itself. Azure also provides a broader range of hybrid connections including virtual private networks (VPNs), caches, content delivery networks (CDNs), and ExpressRoute connections to improve usability and performance.
5. Integrated Environment
Azure brings to the table an integrated environment for developing, testing, and deploying Cloud apps. The choice of frameworks lies with the client, and open development languages further add to the flexibility for Azure migration. Additionally, readymade services like web, mobile, media in addition to APIs and templates can be leveraged to kick start Azure application development. Azure PaaS brings together all the applications, data, devices, and partners, both on-premises and in the Cloud. Its flexible toolset is ideal for solving integration needs ranging from connecting mobile apps with on-premises LOB systems, to coordinating B2B payments with partners.
6. Gentle Learning Curve
AWS is widely perceived as being complicated. This is evident by the numerous tutorials, user guides, and troubleshooting documents that are out there. Conversely, Azure allows the utilization of the same tried and trusted technologies that several businesses have used in the past and are still using today. These include Windows and Linux, Active Directory, and virtual machines. Moreover it provides useful tools like XCode, Hadoop, Github, Visual Studios, Eclipse etc. It also provides several third party tools, solutions, and apps developed by partner-developers on the Azure Marketplace. As a result the learning curve for the Azure Cloud is gentle.
7. The ‘Enterprise Agreement’ Advantage
If an organization already uses Microsoft software, then it likely has the ‘Enterprise Agreement’ with Microsoft. It is entitled to obtain discounts on the Microsoft software being used as Microsoft usually tweaks these agreements to lower the pricing of Azure. Thus, with the enterprise agreement, enterprises can typically obtain significant incentives for using Azure.
Choosing the right Cloud vendor is a very important decision for enterprises. Azure offers hybrid solution, PaaS, and an array of other beneficial features, which are important for any Cloud strategy today. Numerous enterprises have witnessed accelerated business growth by migrating to Azure. As a result Azure comes to the fore as a considerably better choice compared to AWS.
8. 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.
9. 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.
10. 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.
11. 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.
12. 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.
13. 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.
14. 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.
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.
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.
17. 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.