Infinity SaaS - Why Azure
Azure Delivery Whitepaper
Voyager Infinity is an n-tier solution that can be deployed on premise as well as provisioned on the Cloud as Software-as-a-Service (SaaS). This paper focusses on the SaaS deployment. The end-user has a local installation of a rich 32bit or 64bit application on a Windows PC or laptop. The client application accesses the middle tier running on the Microsoft Azure Cloudapp platform over a secure encrypted connection. The middle tier then in turn uses Microsoft SQL Server as the database engine.
Infinity SaaS has been built to scale on demand within the Azure platform. For example, the middle tier ‘worker role’ monitors the resource usage and will create additional instances when the resource usage hits a certain level for a period of time. When the demand decreases, the additional instances are automatically scaled back. Azure gives us the capability to scale the worker role from one instance to a thousand instances in minutes.
Similarly, as demand and load grows on the SQL Server database, additional capability can be provisioned to deal with this demand, either by creating new SQL Servers, or by increasing the resources available to the SQL Server instances. Unlike on premise installations where server upgrades typically mean physical real RAM or CPU additions, it is as easy as moving a slider on Azure. The Azure storage is virtually unlimited with the capability to store hundreds of terabytes of data if necessary – there is no need to buy additional hard disks or SAN storage – it’s just there, scalable, durable, highly available and geographically redundant.
Customers benefit from having access to the latest version of Infinity without the burden of managing the update process. Voyager’s technical operations team will manage the automatic deployment of the updates to the Azure Cloud platform and any updates to the local application will be downloaded automatically the next time the user connects.
Voyager is a global leader in recruitment software, not hosting or data centres, and whilst both Amazon AWS and Microsoft Azure are more than capable of supporting a simple Cloud based hosting environment for Infinity, the objective was to choose a platform that will allow time and resources to be focussed on the continuous improvement and evolution of the product, rather than on managing and maintaining the Cloud infrastructure.
Voyager’s development division spent time working closely with primarily both Amazon and Microsoft delving into the features and functionality of their respective Cloud platforms and whilst there’s no doubt that the Amazon solution is immensely powerful, it became obvious that Azure was going to offer a more tightly integrated solution where the PaaS features could be highly leveraged, such as the auto scaling ‘worker roles’, without fundamental changes to the codebase nor having to worry about the underlying hardware.
Microsoft has also invested massively in the Azure development ecosystem and the Voyager Product and Development team have found it easy to work with and develop against Azure due to the rich integration with Visual Studio 2013 and extensive online documentation.
Ease and speed of deployment
Voyager internal client management system has been integrated with the Azure platform and starts the deployment of a new Infinity SaaS customer with the click of a button. The deployment process will automatically commission a database on Azure and will send the new customer an email that contains the link to the Infinity application download and their unique ‘Voyager Instance Code’ so that they can start to access their new system. Under normal circumstances this will take no more than fifteen minutes. Customers with migrations would follow a similar process and would benefit from being able to validate the migrated data much more rapidly without having to have an on-premise Infinity server configured.