Uber moved swiftly from concept to design to contract, reducing the pressure on the client and stakeholders.
Web: www.envoyat.com
Key business focus: Specialised .NET software application development company.
Key challenge: Physical to virtual migration to allow for immediate performance improvements and future scalability.
Products and services:
Key results: Delivery of a high availability network and infrastructure platform to power the Jetabroad website.
Envoy Advanced Technologies Pty Ltd is a specialised .NET software application development company based in North Sydney. Envoy also provides managed webhosting services for its customers in conjunction with UberGlobal. The following article, written by Envoy's Managing Director James Milson, describes a recent transition project for one of Envoy's clients from a physical to virtualised managed hosting environment.
James Milson, Director
Envoy Advanced Technologies
In April 2007 Envoy completed the development of the online flight search and booking engine for www.jetabroad.com.au. In September 2007, Envoy proposed to take over the managed webhosting of the site and UberGlobal, in conjunction with Envoy, commenced hosting the Jetabroad site in October 2007. Since that time, Jetabroad has experienced very strong business growth, despite adverse economic conditions both within the travel industry and globally.
Until recently, the Jetabroad site was hosted on a dedicated physical web server, one of the standard Windows/.NET configurations available from UberGlobal. The database (Microsoft SQL Server 2008) was hosted on a separate dedicated physical server custom built by UberGlobal to include extra disk drives. The configuration also included dedicated redundant physical firewalls and the two servers were on a shared LAN.
Earlier this year (2010), it was evident the Jetabroad site had outgrown this infrastructure model. Jetabroad's growth path would soon exceed the server capacity, and the site, from time to time and especially in peak periods, suffered from multiple bottlenecks - in areas such as web server CPU, web server memory and database server disk speed: the general end-user experience at these times manifested as sluggish performance.
At this time, Envoy commenced discussions with UberGlobal as to how Envoy might go about upgrading the infrastructure to that of a completely virtualised environment. To this end, the initial identified major area of concern was the DAS vs. SAN database disk performance, owing to the fact the SQL database had been highly optimised over a period of time to support the ever-increasing data load of the Jetabroad site.
What Envoy did in collaboration with UberGlobal and Jetabroad was establish a test virtual environment which was subsequently used to simulate the transactional database load. We then compared the physical database performance to the virtual, and surprisingly, the virtual DB server won. What we saw evidenced of in the test results was a much more predictable performance curve, in which the DB server slowed down gracefully under heavy load, which was a significantly better result than the original environment where the dedicated DB server would lock or time out unpredictably. We also found the DB loading much more scalable, and appeared under simulated testing conditions to more than capably handle 4 times the query volume of a physical server with the same CPU and memory. In addition it was also able to perform faster overall on an individual query basis.
Further testing identified that database read/query performance was also superior on VM due to increased memory, at which point we reached the conclusion that it was appropriate to move the entire existing environment to a virtualised one. To that end, Envoy designed a new all-virtual architecture, consisting of a virtual web server, virtual DB server, and virtual firewalls on a virtual private LAN.
Envoy contracted with UberGlobal to provide new blade servers, which led to several significant improvements over the original physical configurations. We then load-tested the new environment, and over a short period, migrated all the application software to the new virtual servers - the time taken being less than expected because the VM environment has a far superior remote management/install process. Additionally, within the VM environment, we are able to tune virtual hardware allocations on the fly, clone VMs for faster setup, and use third party VM images.
The results are overwhelmingly in favour of the new virtualised managed hosting provision as supplied by UberGlobal. We have a far superior hardware utilisation, with no bottlenecks in any areas such as CPU, memory, disk I/O etc. The software architecture is no longer limited by physical hardware acquisition. We can split the load across multiple virtual servers for better load sharing. Deployments are much more manageable and can be done at any time, owing to the multiple instancing of the software: we can now provide rolling upgrades with higher uptime, as well as faster provisioning of test environments.
Envoy are firm believers in the provision of managed webhosting services by the same organisation who manage and develop the software. Known as DevOps, the efficiencies generated by this arrangement are substantial, in both resource allocation and cost. In the Jetabroad case, for a modest increased cost of infrastructure, we now have approximately 8-10 times the capacity than previously with a significant reduction in operational support costs.
Envoy hosts almost all of its customers' web applications through its virtualised infrastructure supplied by UberGlobal, and in doing so, we recognise the significant increases in efficiency which are effectively shared between the parties with a DevOps arrangement. This combining of the development and managed hosting provision is emerging as a key decision factor regarding managed services per se: in the past, development was a mile away from operations, whereas today, there is little reason to separate them when looking to have the most effective delivery of the application's value to the end-user - Envoy's customers' customers. DevOps is a more collaborative and productive relationship between development teams and operations teams compared to managing these functions as separate silos. This improved relationship and collaboration increases efficiency and speed of delivery, and reduces the production risk associated with frequent changes.
Companies like Jetabroad who rely completely on their websites to generate business are in a very dynamic environment - their website needs to change very frequently. The transfer from a physical server environment to that of a virtualised environment requires careful transition planning and execution - but the results represent significant gains for them.
Furthermore, as application developers Envoy spent considerable time in the two years prior to Jetabroad's move to the virtualised environment, consistently tweaking the performance of the application to meet the business demands, specifically related to serving more users. There was no consistent method to predict where the next set of bottlenecks would come from, nor what their effect would be. This form of optimisation is no longer required in the virtualised environment, meaning that the development we now do for Jetabroad can be mostly directed at business enhancements without necessarily trying to predict the performance implications of any such enhancements.
And last but not least, we'll take the opportunity to thank UberGlobal for their commitment to Envoy during the Jetabroad transition, without which, we could not have achieved such a satisfactory result. Everything we asked for we got, in both a timely and well-managed manner. Thank you UberGlobal!