Editor’s Note: Today’s post, co-authored by Alena Vladimirskaya, Founder at Pruffi, and Alexander Ivanov, CTO at Pruffi, describes how the company uses Windows Azure to support its Pruffi Graph and Pruffi Friends social media services.
Pruffi builds web and mobile applications that use the power of social media to help job seekers, hiring managers, HR professionals, and recruiting agencies match qualified candidates with positions that are right for them. Based in Moscow, Russia, Pruffi was founded in 2009. Its latest offerings are Pruffi Graph and Pruffi Friends.
In 2012, we launched Pruffi Graph, a browser-based application hosted with Windows Azure. Pruffi Graph generates social network profiles of job seekers to help them match their training, experience, interests, and activities with the companies where they will be most likely to succeed.
Pruffi Graph captures a candidate’s social network activity and analyzes it under 17 parameters to calculate a personal profile. Aggregated employee profiles are generated for companies with listed vacancies and matched across all 17 parameters with the candidate to determine his or her compatibility with a position. Pruffi Graph collects and analyzes the social network data with a custom algorithm that runs on a cluster of Windows Azure worker roles.
We use the distributed Widows Azure cloud infrastructure to process user queries quickly from any point in Russia, Ukraine, Georgia, and other CIS countries, and to cope with the uneven load of user requests coming from different time zones. For example, by redistributing requests across Windows Azure instances in adjacent territories, we reduced the time it takes to process a Pruffi Graph profile by almost two-thirds.
To adapt Pruffi Graph to a cloud infrastructure, we did have to make some architecture changes and partially rewrite some components of the application. But the changes were easy and quick, and they enhanced the stability of Pruffi Graph. We wrote the application on ASP.NET and use multitenant Windows Azure web roles and worker roles to run the background processing and web interface. User data is stored in a single-tenant instance of Windows Azure SQL Database, while we use Windows Azure Table services and Blob services to store diagnostics and application data such as logging and uploads.
As a startup, we needed to avoid a big capital investment and minimize long-term risk, which initially drew us to Windows Azure. We ultimately participated in the Microsoft BizSpark program, which gave us access to the reliability, scalability, and affordable price structure of Windows Azure, and offered a closer relationship with Microsoft on everything from technical knowledge to comarketing and PR.