Azure Clouds In A Cluttered Landscape
Microsoft has been spending money in a way only Microsoft can. Recent years have seen the emergence of Infrastructure as a Service (IaaS) as a virtual gold mine for many technology companies, giving them a steady stream of income to help keep their businesses running. While it may take a while for the Microsoft “ship” to find the right heading sometimes, once it has plotted its course it goes full speed ahead.
As a Microsoft Dynamics GP Partner, we often get questions about Cloud computing and Azure and how it fits into the current infrastructure landscape. Even for technology-based companies like Cargas Systems, navigating the differences between the different options can sometimes be confusing and frustrating. When I go through the analysis process for various Cloud-based offerings, I always go back to the old adage that there is no such thing as a free lunch. Cloud companies are just like any other company in that they exist to make money for their owners and employees.
Microsoft was slow to get into the Cloud space, but they now have a very solid offering in the Azure platform. How well this platform suits a particular customer is dependent on a number of factors that we will review in this article.
For most businesses, reliability is a key factor to consider when looking at any business-critical system. One of Microsoft’s key selling points is that they can afford to have extremely redundant systems, which offers a level of data and system protection that few other vendors can attain. The servers on Microsoft Azure have a number of built-in fail-safes that will allow the server to be moved to new hardware quickly if the current hardware experiences any fault. There is also geographic redundancy in place to protect the servers from regional outages. Many competing IaaS providers offer similar protection, with some meeting or exceeding the level where Azure currently resides, but Microsoft is making up ground quickly.
The caveat to any of the IaaS platforms is that many of the items required for a truly reliable system reside outside of the scope of their control. Microsoft Azure is no different in this respect. External factors impacting reliability include the internet connection being used by the end user, the end user’s device and local software on that device, and how the company’s software is deployed on the IaaS platform. All of these are not controlled by Microsoft, but they can directly impact the reliability of the platform.
One other item that impacts reliability is the maintenance of the operating system patching on the servers hosted on the IaaS platform. Some IaaS providers will maintain patching of servers as part of their managed services. Microsoft Azure does not have this option at this time. For some businesses that may be a plus, but for some it means more hands-on involvement in maintaining the servers. The lack of managed services on the Azure platform has led to a number of technical companies offering to fill those gaps with their own paid services. Most interesting of these is Rackspace, who runs their own competing IaaS platform but offers managed services for businesses looking to deploy Microsoft Azure Cloud servers.
Microsoft Azure offers a number of different levels of virtual servers with the ability to scale them up or down on demand. Other IaaS platforms offer the same type of functionality, but many do not make it as seamless a process as Microsoft Azure. For seasonal businesses or businesses that experience extreme spikes in demand or rapid growth, this could be a very beneficial feature to have. Microsoft does not really rise above any of the other major players in the IaaS marketplace for similarly-configured servers, but it does offer the benefit of relatively-easy scale-on-demand.
On the surface, Microsoft Azure’s default server sizes are roughly the same as many other IaaS platforms. Performance of the servers in Microsoft Azure seems to be good, provided that they are provisioned with the right amount of resources. Microsoft Azure also has plenty of available hardware and networking bandwidth to give decent performance for even large organizations.
As with on-premise hardware, increased performance for the servers comes at the cost of a higher investment. In Azure’s case, the higher cost is perpetual until the server is either turned off or scaled down. This is the same as other IaaS platforms so it is part of the trade-off of putting resources in the Cloud.
Ease Of Use
Ease of use is a bit of a subjective topic, so I will be giving my general experience with the setup of some Microsoft Azure servers.
From the start, creating a new server can be either a very easy or a very confusing exercise. Microsoft and other contributing companies have created a large number of template servers for the Azure platform. The choices can be overwhelming and it is sometimes difficult to locate the exact image that you want. While there are a large number of template images, the website does come with a filter option and server type groups that make the searching a little easier. As an example, if you are looking to create a database server, Microsoft Azure has over 100 different template images that can be used. It is important to note that not all of these are Windows-based servers. Other IaaS platforms offer a large variety of template servers, but Microsoft has a very impressive catalog. There still are some odd omissions from the catalog, including Microsoft Dynamics GP 2015 and 2015 R2, although there are images for Dynamics GP 2013 R2.
When selecting a server template for creation, a brief description of the image and useful links come up, allowing you to better understand the template’s design and requirements. There is usually a link to the pricing details for the template, as well. Once satisfied with your selection, you click on the Create button, which launches the server creation wizard screen. The creation wizard walks you through the settings required for creating the server, including the sizing of the hardware resources and any critical settings required for the initial software that will be loaded.
If you manage to find the right template, the creation wizard process is fairly straightforward and the servers are built within minutes, depending on the complexity of the template and initial software. Finding the right template is the largest hurdle.
Compared with other IaaS platforms I have used, the Microsoft Azure has many more template options and a fairly clean interface for creating the servers. Other IaaS platforms can probably host the same types of servers as Microsoft Azure, but Microsoft has definitely put a lot of work into streamlining the process of creating a new server or Cloud resource.
Overall value is another very subjective area, but less so than ease of use since we are dealing with comparing pricing as part of the criteria. All IaaS vendors are selling the same basic product, in that they offer a way for the consumer to offload their hardware, software, and portions of their I.T. work in exchange for a monthly fee. The actual cost savings and return on investment will vary widely from consumer to consumer. Some of the savings may be in actual money, while other gains may be harder to track, like how the reduced workload may free up I.T. resources to do more strategic planning rather than routine maintenance.
For the actual money side of things, Microsoft and its primary competitors in the IaaS marketspace have been having a pricing war, which has been beneficial to the consumers. Recently, Microsoft and Amazon both made cuts to the pricing of Cloud resources across a number of their supported lines. When it was first introduced, Microsoft Azure was priced much higher than competing services that were more established in the IaaS space. It is my guess that Microsoft was banking on its name automatically making it a more appealing platform than other IaaS platforms. That thinking, if it existed, has changed and now Microsoft is vying to gain a larger market share by offering very competitive pricing.
As mentioned before, Microsoft as of yet does not offer managed services with the Microsoft Azure platform, so the promise of Cloud resources with no I.T. involvement or maintenance is not really possible out-of-the box. There are a number of other IaaS partners who offer these services as a way to differentiate themselves from the very impersonal service that Microsoft Azure offers. The lack of managed services can sometimes weigh heavily on whether the Microsoft Azure platform is really a good value for a specific consumer.
Microsoft Azure does have its limitations, as do any of the IaaS platforms. The most prominent limitations are the ones that happen outside of the platform’s control, as mentioned before in the Reliability section of this article. Connectivity is the most critical out of any of the external factors and without connectivity to the Internet or VPN tunnel, there is no connectivity to the IaaS resources. This is an important factor to consider if the consumer is in an area with poor connectivity.
It is also a common misconception that moving all of the servers and infrastructure to an IaaS platform will eliminate the need for retaining I.T. personnel. All servers and Cloud resources require routine maintenance and support. Any machine connecting to these resources will also require routine maintenance and support. Some IaaS vendors will bridge some of that gap by offering managed services, but there is usually a gap that still needs to be covered by the consumer. Since Microsoft has not yet offered the managed services option for Microsoft Azure, this leaves more of a gap for the consumer to fill with either their own resources or outsourced I.T. services.
Dynamics GP On Microsoft Azure
Deploying Microsoft Dynamics GP on the Microsoft Azure platform is much the same as deploying it on-premises. The main divergence from an on-premise deployment is that all the servers have to be hosted on Microsoft Azure in order to have peak reliability. This includes the Active Directory server, DNS services, and other domain functions. Due to the connectivity requirements, the Dynamics GP client must also be deployed using either Microsoft Remote Desktop Services (formerly Terminal Services), Citrix, or the Dynamics GP Web Client. These can all be used with an on-premise install, but the on-premise install also has the option of loading the Dynamics GP client directly on the end-user’s workstation.
Remote Desktop Services, Citrix, and the Dynamics GP Web Client all have their strengths and weaknesses, but the Dynamics GP Web Client as of now is still not in a state where it is fully usable for many deployments. The lack of support for key features like Management Reporter, Integration Manager, and a number of 3rd party add-ins often makes it a poor fit. Add to that the finicky nature of Microsoft Silverlight, the Dynamics GP Web Client’s base technology, and it makes for a deployment platform that is very difficult to manage and use effectively. Unfortunately, Microsoft has been deploying some features for Dynamics GP that specifically require the Dynamics GP Web Client deployment. It is possible that many of the current issues with the Dynamics GP Web Client will go away with the re-write of the client into HTML5 that is due out with Dynamics GP 2016. Time will tell.
Remote Desktop Services and Citrix do not have the same caveats as the Dynamics GP Web Client, but they do tend to require more hardware resources and printing can sometimes be problematic. Maintaining the available hardware resources, profiles, and security on the Remote Desktop Services/Citrix servers can also be a time-consuming task.
When deploying any resource to an IaaS platform, whether it be Microsoft Azure or a competing platform, it is necessary to be aware of the scope of the commitment and the limitations. When choosing an IaaS platform, it is important to find one that provides acceptable reliability, performance, and value. Microsoft Azure has those, but so do a number of other IaaS partners. Microsoft has differentiated themselves from the rest of the pack by offering a number of pre-defined templates and Cloud services that may make it easier to deploy the resources needed by the consumer. Whereas other IaaS vendors differentiate themselves from the Microsoft Azure offerings is in their level of personalized services. If you have a dedicated I.T. staff or trusted I.T. service firm, then Microsoft Azure many be a compelling platform based on the variety of resources and templates available. If you lack I.T. support, then there are many IaaS vendors that will handle a large portion of the I.T. work as part of their services while still providing the same level of reliability and performance as Microsoft Azure.