So you have come to that point where it is time to either adopt SharePoint as a platform, or maybe you already have it and are now looking to upgrade. The first question becomes, where do we put it?
The whole conversation about the “Cloud” makes this very interesting, which we won’t focus on for this post. Instead we will decide that Microsoft Azure is the place to do this and start to work out how viable it is as an option. Microsoft have done a great job of trying to sell you the Azure Cloud.
Firstly, is it really a better option?
This is the magical question, is your SharePoint environment better off hosted in Azure or an Azure type service than sitting within your own Data Center looked after by you. Well let’s examine this, when hosting it yourself, the biggest costs is really down to the those that look after it, and maybe some of the hardware costs, albeit that these will get written off over time. You have the network and/or internet cost for external access if needed, plus any other components to protect at the edge or load balance.
When choosing something like Azure, you remove the cost for the Hardware, and potentially the firewall and load balancing costs due to what services are offered within the Microsoft Cloud. However, the cost model is very different. For example, if we want to stand up a single development server in Windows Azure, we need to consider the following costs:
4.Other Service costs
To break this down further let’s price it out. Let’s say that our Development Server is going to be on for roughly 40 hours a week, and off the rest of the time. We will choose one of the SharePoint trial images to save us time to build too.
Selecting the SharePoint 2016 Image lets us complete the values:
Of course you can set whatever details you wish to use. The important things to understand is what these resource groups are.
Resource Groups: “A container that holds related resources for an application. The resource group can include all of the resources for an application, or only those resources that you group together. You can decide how you want to allocate resources to resource groups based on what makes the most sense for your organization”
Now we get to select the power of the Virtual Machine which will now let is see a rough estimate of how much it would cost to run this server for a month.
Of course now you have a heart attack based on you having to pay almost $500 per server per month, but don’t worry based on our use case we will not be running it that much. If we head over to the hourly prices pages for Virtual Machines we can see that the actually hourly cost is only $0.65 cents per hour.
When you look at that cost, you realize that’s really good, to run a server with 4 cores and 28gb RAM, it is a great price. With us reducing the running time too, it gets even cheaper.
Average month between 672 hours to 744 hours. (http://www.easysurf.cc/monthtable.htm)
D12_V2 Standard Estimated Cost: $485.09
(Number of hours for 40 hours per week * 4) * Hourly Rate
160 * $0.652 = $104.32
As you can see the total comes right now, as it is only running when we need it. However, for a production environment there is nothing you can really do here, assume that the business will not support shutting down the SharePoint Farm every weekend to save money J
Once you have worked out the cost then it gives you an idea of what to expect, in reality building a SharePoint Production environment within the Azure Cloud would probably be straight Windows Virtual Machines with you as an organization brining your own licenses to them, to enable SQL Server and SharePoint, plus any other licenses and software that you needed. For a fully compliant minimum SharePoint 2016 MinRole Farm you would need a server for each role which in reality based on using the image specified earlier a D12_V2, so 4 cores and 28GB RAM would come in close to $2000 a month to run it 24 hours a day. Of course on top of that would be any public IP costs along with storage.
Now that we have worked out the rough cost, and started to create the farm, maybe even running the servers now, it still comes back to the question, why create the farm in Windows Azure?
For me the reason to use Windows Azure is in three specific areas, Performance, Scalability and Management. Choosing to build servers in a cloud services means that you get the performance provided by the data center and often for these providers like Microsoft Azure, everything has been done to ensure that response times are fast and that everything works all the time, in most cases better than we or any organization could do themselves.
The real power however comes from the ability to scale at mass and fast. Changing the configuration of existing servers and adding or removing servers quickly is a real benefit. If I notice one day that my SharePoint Servers are running slow, I can simply login into the Azure Portal and change the size or even location of the Server easily with minimal impact to what is running on across the servers. Of course SharePoint has its own issues when you move things around that you need to cater for.
As shown above simply selecting the “Size” property allows you to change it to a different either less or more spec’d. This allows greater control than trying to change this within an On-Premises environment, though when using Virtual Machines ON-Premises this can be achieved, it tends to be much more complicated for this to be done.
Lastly for me Management is a big thing that changes. Now you might be wondering why I would say that, seen as they are just the same old servers we had to manage before, albeit Virtual Machines. In reality for an On-Premises solution we have to own and manage everything from Servers, to everything else is connected to it, or protecting it. Within the Azure Cloud, we simply provision the Virtual Machines we need, and then utilize the solid administration and configuration console that is already there to make any changes needed. The Security components can also be used to not just protect from the outside or inside threats, but active monitoring and controls that can be used make this far superior to what we can do On-Premises without having to purchase multiple solutions.
All in all, once you as an Organization can come to terms with the way everything is costed out, and realize that it might take some time to actually get a return on investment (ROI) quickly then the Microsoft Cloud, specifically the Azure Services are a great option to consider. For me the ability to spin up Development / Test and Production Environments easily and only pay for what I use, or even purchase reserved instances allowed for cheaper hourly rates makes complete sense as more organizations are looking to reduce the IT spend as well as reduce the dependency on them owning and hosting large infrastructures where possible.
To learn more about the Microsoft Cloud and Azure Services you can visit: https://azure.microsoft.com/en-us/