If you’re a regular reader of blogs or regularly attend user group or conference events, you probably find that the cloud is a little bit confusing. Bear in mind that you are in the minority. And no, I don’t mean to say that everyone else has the cloud figured out already! On the contrary, most people in our industry do not attend events, they don’t subscribe to blogs, they don’t watch videos, and they don’t follow information sources on social media. For these people, the cloud is a complete mystery. And this is why it makes sense to explain what Microsoft Azure is.
What is a cloud?
Every company in the online software service industry has their own definition of a cloud. Many of those vendors stick with industry-accepted norms. Some like to twist the terminology to serve their own marketing needs. And some misuse the terminology because of lack of knowledge — for example, running vSphere or Hyper-V doesn’t mean that you have a private cloud.
The US National Institute of Standards and Technology (NIST) has published what many consider to the be the best definition of a cloud. There are five essential characteristics of a cloud, but the one that stands out for me is “on demand self-service”; this is where a consumer of the cloud can deploy what they need, when they need it, and without requiring human assistance from the service provider.
NIST also describes service models:
- Software-as-a-Service (SaaS): A vendor offers a software services, such as Office 365, that you can consume without installing Exchange, SharePoint, or Skype for Business on premises.
- Platform-as-a-Service (PaaS): Developers can upload programs or consume storage and databases without deploying traditional virtual machines. Instead of managing a SQL Server virtual machine and the guest OS, they simply consume capacity from a massive managed database service.
- Infrastructure-as-a-Service: A service provider rents out an entire infrastructure. You don’t worry about storage, switches, or hosts. Instead, you deploy virtual networks, storage accounts, and virtual machines. This is an entirely self-service software-defined deployment.
And NIST also describes deployment models; I will stick with the three major ones that we are likely to encounter outside of the world of science and research:
- Private cloud: There’s just a single tenant in this cloud, deployed either on-premises or at a service provider’s site. For example, a customer runs a private cloud in their own data center.
- Public cloud: A service provider runs a multi-tenant environment, where each tenant is isolated from everyone else. An example is where a customer consumes Office 365.
- Hybrid cloud: A customer runs services across two or more clouds, spanning private and public cloud. A customer is running virtual machines in a private cloud in their own data center, but also uses the capabilities of a larger public cloud for public services or burst capacity.
Azure is like a giant Windows Server
I struggle to describe what Azure is in a few sentences. I’ve been evolving my description for two years, and I’ve come up with a method that techies seem to understand.
Imagine that you have just installed a new copy of Windows Server on a physical server. Open up Server Manager and stat the wizard to add roles and features. Look at how many things you can do there. You can deploy a domain controller, a file server, an application server, a Hyper-V host, a web server, an RDS session host, a web server, and much more. Few techies have ever checked more than 5-10 of the many possible options in that dialog.
Now imagine a Windows Server that spanned 1 or 2 million physical servers in data centers around the world. You don’t have to manage those physical machines or the Windows installations; Microsoft does that for you. Instead, they give you a portal and PowerShell, allowing you to deploy what you want on those servers. You can deploy storage systems, databases, virtual networks that are isolated by default, virtual machines that run Windows Server or Linux, a Microsoft-managed Remote Desktop Services farm, and lots more.
Is Azure SaaS, PaaS or IaaS?
The answer is yes; Microsoft’s cloud is all three. Azure does span all three of the service models:
- PaaS: This is where Azure has its origins. Azure originally was launched as a solution for developers, but it has evolved to be more since then. Developers can upload multi-instance web applications without worrying about web servers, operating systems, or load balancers — the stuff just works!
- SaaS: Azure Active Directory provides a single sign-on authentication and authorization model. There are online backup and cloud-based disaster recovery services that simply allow you to deploy solutions with very little management in the cloud.
- IaaS: This is the newest element of Azure; you can deploy virtual machines and all the necessary dependencies in Azure, without worrying about hardware.
Microsoft Azure currently offers public cloud functionality and hybrid cloud services. You can run a service entirely within Azure. Or you can link in-Azure services with on-premises services via a number of means, including:
- Connecting Azure websites with on-premises databases
- Backup data to the cloud via Azure Backup
- Use Azure as a DR site for Hyper-V virtual machines, vSphere virtual machines, or physical servers using Azure Site Recovery
- Spread services across on-premises and Azure via site-to-site VPN or ExpressRoute (WAN)
And there’s also a public preview of Microsoft Azure Stack (MAS) that will allow you to run a Windows Server 2016-based version of Azure on-premises, with a consistent management and deployment engine (Azure Resource Manager or ARM).
Microsoft Azure Features
To be honest, listing the features of Azure is a fool’s task. It’s a long list, and by the time you’re done, you’re going to be already out of date. I like to focus on solutions instead. If you’re reading Petri.com, then you’re probably involved in infrastructure, so the elements of IaaS and hybrid cloud will probably be of most interest to you, and that’s also what I’m typically being asked about by my customers.
- Shared infrastructure: A company has multiple remote units that want to share a system. Instead of running it on-premises, they decide to use virtual machines in Azure to host the services. Sometimes, they opt to use RemoteApp (managed RDS) to provide easy access that is designed for latent network connections.
- Backup: There are two scenarios here. The customer either wants simple disk-cloud backup, or they want to supplement local backup with off-site storage. Azure’s play here is that block blob storage is extremely cost effective, costing as little as a couple of cents per GB/month.
- Disaster recovery: The technology end of business continuity can be complex and expensive. Microsoft has changed that by using affordable page blob and disk storage as a DR site in the cloud. There’s no up-front expenditure to set up the DR site; that makes DR affordable for the small business and more flexible for the large enterprise.
- Web applications: Businesses have been using traditional hosting solutions instead of on-premises DMZs for a long time. Azure offers huge scalability, pricing based on demand, and features that normally are reserved for the largest of customers… for everyone. So if you want a small web farm, something huge, or the ability to flex between both, Azure can do it.
I haven’t even talked about big data, infrastructure-free PaaS, media streaming, hosting mobile apps, or any of a huge collection of things that Azure can do.
What makes Azure (and Google and AWS) different is that it is a cloud-scale deployment. No other cloud comes close to the big three. Azure exists in a number of regions, 22 now, with five more announced, around the world, with each region consisting of multiple data centers. Eighteen months ago, it was believed that Azure had over 1 million physical Hyper-V hosts. Microsoft builds their own hardware, and this, combined with their bulk purchasing ability, and drive to software-defined-everything means that they can drive costs down.
When you consider Azure, you are considering entering a practically unlimited pool of scalability and functionality. Don’t let that scare you if you think you are small — this should be an advantage. You can get into Azure with no long-term commitment, and pay for just what you use. The billing of some services is designed for huge customers, so doing geo-load balancing or static content caching for websites can cost just a few dollars per month for a smaller customer — try getting that sort of value from a traditional hoster!
Will Microsoft replace me?
If you are a disk monkey, then your job might be at risk. A cloud such as Azure removes the need to manage hardware. Microsoft supplies everything in the form of templates or services. For example, if I want a virtual machine, I can choose a Windows Server 2012 R2 virtual machine, possibly pre-installed with SQL Server. After that deploys, Microsoft’s involvement with that machine ends, unless I opt into anti-virus, patching, or security services. The valuable piece of IT, from the OS and up, is still the responsibility of the engineer, so that job does not go away if your employer opts to start using Azure.
The way I look at it is, the work that consumes time and introduces risk that the business doesn’t care about is taken care of by Microsoft, and you do the valuable stuff that the business does see.
Final Thoughts on Microsoft’s Azure
Azure is a huge public cloud that can do a lot of things for businesses of all scales. Often it solves old problems that were previously deemed unfixable because of the cost to the business. The product is huge and the rate of change is incredible — I know of one feature that had over 250 changes in one month last year. Azure is not something that you can do part time. For this reason, it’s important to engage subject matter experts to help you identify what a cloud like Azure can do for your business and to help you deploy those solutions, and hopefully bring the potential of this cloud to you and your employer.