Having the ELEKS website hosted on Windows Azure cloud platform, we would like to share the insights of Yuriy Guts, our cloud expert in the R&D team, about the challenges of migrating the website to a cloud environment and his thoughts on why Windows Azure was chosen.
Yuriy, what was your role in the website development process?
Basically, I was a technical leader for all of the cloud-related questions. My main responsibilities were to guide software engineers through the peculiarities of cloud development, assist them when issues arose during the development and deployment stages, and also help solve different problems during migration to the cloud environment. Since the cloud application development differs slightly from development for the usual on-premise infrastructure, I also provided consulting on the best application practices.
So, where did the idea of hosting the website in the Cloud actually come from?
Our task was to come up with the best hosting solution for the corporate website that would support the scalability, elasticity, and reduced network latency in case of accessing resources from different geographical regions. The idea of having it in the cloud came out as the best hosting alternative that met our business needs and constraints.
Why was Windows Azure chosen?
We work with several cloud vendors, mainly Microsoft and Amazon. Since our website is an ASP.NET MVC application that stores data in a SQL Server database, choosing a PaaS cloud powered by Microsoft seemed to be the best option, especially considering the useful development tools offered by Azure SDK. Additionally, being a Gold Microsoft Partner gives us the opportunity to use a certain monthly amount of cloud resources free of charge. As a result, we have a dedicated cloud environment for the website and pay nothing for it. Other than that, Windows Azure offers a lot of additional services out of the box, such as CDN, non-relational storage and caching, which may come in handy when the popularity of a web application grows fast. With an IaaS cloud or on-premise hosting, it would require a bit more effort to achieve the same result.
What were the main challenges of migration to Windows Azure?
The primary challenge was to create an environment that would allow for the independent work of developers and content managers and enable us to make any changes to the website code without ruining the work of the content editors. Initially, the website was developed for standard on-premise hosting, which means that the code and the content resided on the same file system. However, with respect to the cloud, this is clearly not the best practice because in PaaS clouds the local disk storage is usually ephemeral. In other words, if you put the content, such as uploaded documents and pictures, on the same machine as the binaries, you can permanently lose the data whenever you upload a new version of the application or the cloud environment controller decides to relocate the app to a different machine. The right way, in this case, is to use cloud storage services for static content. As a result, we had to separate the code from the uploaded content and images and adjust some of the storage-related modules accordingly. This architectural decision helped us ensure seamless work between website developers and content creators.
Cloud computing expertise is a strategic direction at ELEKS. How is it being developed by the company’s R&D?
ELEKS R&D team develops the cloud computing expertise in two main directions: cloud for enterprise applications and HPC in the cloud. Speaking of the latter, we are happy to participate in UberCloud HPC Experiment, helping to build an ecosystem of cloud and HPC experts and their customers. This initiative helps us broaden our knowledge in building HPC solutions in the cloud.
To strengthen the cloud computing expertise within the company, a number of training courses for developers has started where I proudly teach. However, we strive to spread this knowledge not only amongst the developers: recently, we have initiated a series of round-table discussions for business analysts, account managers, sales managers and business development managers. In addition, we actively participate in cloud-related events. For example, Oleh Khoma and I have been invited to the HPCFinance Conference in Finland where I will be speaking about the Cloud for an academic audience.
Can you tell us a little more about your participation at the HPCFinance Conference and your speech?
HPCFinance is the network of the European Union founded in 2012 to improve the strength of the European financial industry. It brings together Financial Engineers and HPC experts in order to provide solutions to manage financial risks. The conference, which will be held May 13-17, is dedicated to computational methods and technologies for finance.
I have been invited to speak about cloud computing for scientists in Finance. My speech “Cloud Supercomputing: from 0 to 100 TFLOPS in One Click” is focused on sharing the information on different cloud platforms and services available to meet scientific computational needs. I plan to talk about “monster jobs”, simulations and data processing tasks which require significant IT resources, how these problems can be solved with IaaS and PaaS clouds, give an overview of the services offered by the largest modern cloud vendors and explain how one can benefit from these solutions in terms of costs or time.
Stay tuned for more insiders' stories.