SaaS Portal for Managing Azure Subscriptions

Itransition delivered a load-resistant SaaS web application translating extensive spreadsheets of data on the Azure services usage into comprehensive visualized dashboards and graphs, thus giving valuable insights into Azure-related expenditures.

Problem

Our Customer is one of the largest Microsoft services provider worldwide with core competencies in designing, developing, customizing, extending and supporting full-service Microsoft solutions. Specialized expertise and a cohesive set of products on hands enable them to transform businesses by providing tailored Microsoft user adoption services to business users and IT professionals across the USA. 

One of the key products the company deals with is Microsoft Azure encompassing 60+ solutions for hosting, development, configuration and maintenance of powerful cloud applications. According to the transparent payment model, Azure users pay for amount of resources consumed, so the bills for services may unpredictably vary every month. Addressing users’ needs for better control over the Azure-related expenses, our Customer decided to launch a comprehensive SaaS portal – a one-stop center measuring resource usage and calculating the price for services. 

Relying on our extended expertise of web portals development and a solid Microsoft Azure track record, the Customer approached Itransition to bring their idea to life. 
 

Solution

Itransition delivered a comprehensive SaaS web portal translating complex data from users’ Azure subscriptions into an easily decipherable dashboard: 

Dashboard

Backend

To ensure the system monitors the usage of Azure virtual machines and molds the aggregated data into useful information, Itransition team implemented the following Windows Service Applications running in their own Windows sessions:

  1. Application 1: user data extraction, transformation and storing. Based on the pre-defined schedule, the service mines the billing and usage data from personal or enterprise Azure accounts, then proceeding to systemization and expenditure calculation. The service does not interfere with the user working on the same computer and can be automatically started either every night, or upon the registration of a new account, or on the request.
  2. Application 2: user notification. This app is responsible for pushing notifications in case the Azure services get overused. End users are enabled to define notification delivery settings, including specific thresholds and in case the trigger is activated (e.g. 20% expenditure increase as compared with the former period or the weekly peak usage has been exceeded), the system pushes email notifications
Alerts

Frontend

The client part of the solution is developed in the form of personal user space, where the logged in users access immense interactive dashboard capabilities:

Enterprise Azure subscriptions management

For geographically dispersed and/or structurally intricate companies there is an option of assigning the Azure resources to logical entities: affiliate companies, departments, projects. Categorization of this kind empowers managers not only manage all the company subscriptions using one interface, but also control where money is being spent across projects and departments.

Company page
On the Company page, managers group users into departments and projects to split up the Azure bill into the company's representative areas.
Assign resources
By checking items, the user assigns resources for a selected project

Report generation by type of service or instance

The solution provides advanced visualization functionality for end users to generate attractive graphic reports on the cost, trends and charts for usage during the definite period, both for the entire company and specific logical entities. Additionally, the system supports exporting reports in PDF.

Billing overview
Usage Reports

Configuration of notification triggers, mail distribution and access rights

Addressing the needs of heterogeneous users, our team implemented flexible configuration features. At a click of a mouse, users can define notification triggers and schedule automated reports mailing. Besides, for enterprise accounts the portal provides for comprehensive distribution of role-base privileges across subscriptions.

Companies list

In order to enter personal spaces, users are free to choose one of the following authentication techniques:

  • Single sign on implemented with Active Directory Federation Services for members of Azure Enterprise Agreement (EA);
  • Microsoft Live ID;
  • User-defined password.

Comprehensive Access Distribution

For the sake of clean responsibilities segregation, the portal distributes access privileges across the following types of users:

User

view statistics on Azure services usage

Account Admin

view statistics, adds/deletes users, departments and projects associates with the account

Company Owner

views company statistics, manages company users, sets up alerts/p>

EA Owner

views company statistics, manages company users, and configures enrollment in EA

Sales

gets access to any of the corporate accounts and views company statistics

Super Admin

configures system settings

Favorable Public Feedback

In less than a year, Itransition delivered a fully-fledged solution that grants unprecedented reporting functionality to Azure subscribers, be they individuals or Azure Enterprise Agreement members. Providing a simple solution to the complicated problem of the Azure billing financial analysis, the application is gaining steam, facing 1000 users increase every month. The Customer was pleased to obtain a powerful application answering the market demands and drawing positive response from the target group.

Process

Technology Overview

Itransition implemented Windows Service Applications using .NET technology, while for the client part we selected PHP along with the open source Symphony 2 foundation. Applying solid frontend development expertise and relying on the UX design best practices, we created user-friendly interface, arranging information by recurrent logical instances for clear navigation. To ensure splendid data visualization, we employed Bootstrap, Backbone.js and Kendo UI libraries:

Data vizualization

Seeking to ensure the system’s load resistance, scalability and continuous availability – the crucial attributes of a SaaS web application – we used Azure SQL as a cloud-based database management system for the solution. For connecting the web service apps, we leveraged Azure Service Bus – a reliable generic, cloud-based messaging system.

Custom-Tailored Agile Development

After thorough research of the subject area and the Customer’s business context, we selected the Kanban iterative development model answering the project needs for flexible planning. As long as the Customer managed the project works, Itransition executed tasks on an ongoing basis. We focused on the work in progress solely, on completion plucking the next work item off the top of the backlog, so the Customer was free to re-prioritize work in the backlog without disrupting the team. For comprehensive organization of the development process, our team tracked the workflows state on the Kanban board and synchronized progress on daily standup meetings.