VBO Office 365 Analysis with MS Graph

Screen Shot 2019-02-18 at 12.16.38 pmAre you thinking of backing up your Microsoft Office 365 Exchange Online and wish to size your backup accurately? Is there any way to measure the total size of your consumed Exchange Online storage, Change rate and more?

The answers to these questions are essential when it comes to sizing backup solutions. You must know the storage needed to store the backed up data and the backup solution components (Server roles).

In the era of Software as a Service (SaaS), it’s challenging to acquire this information, and then to get access to it. This makes solution sizing a challenging exercise for any business.

The Scenario

Let us consider the following scenario to understand the challenge that a business faces when they want to undertake sizing and backup of their Exchange Online. To use a specific example, I will consider the Veeam Backup for Office 365 product to simplify the discussion.

To size a Veeam backup repository, you need several numbers to calculate the total size. They are:

  • The total size of the current mailboxes (Active Mailboxes); and
  • Change rate.

The good news is that Microsoft offers several ways to pull this info from Office 365; you can use either PowerShell, or MS Graph API.

In this example, I will discuss the MS Graph API to show you how to easily retrieve the mailbox size and change rate, and more, to size the Veeam Backup Repository and the Veeam Backup infrastructure.

Veeam VBO Sizing

Veeam Software has released a great sizing guide to show you how to size the Veeam Backup for Office 365 Exchange Online. To access the guide, press this link.

But how great would it be if we could somehow automate the process! Let’s consider the Microsoft Graph APIs with two Graph API URLs (GET commands), we can get all the information we need to size the Veeam VBO repository and the infrastructure. Have a look at these two URLs:

  • GET https://graph.microsoft.com/v1.0/reports/getMailboxUsageDetail(period=’D30′)
  • GET https://graph.microsoft.com/v1.0/reports/getMailboxUsageStorage(period=’D30′)

From those two commands, we can extract all the information we need to size these Veeam items:

  • Backup Repository size;
  • Number of Servers needed;
  • Number of Proxies; and
  • Nnumber of jobs.

VBO Sizing WebApp

Taking the information from the MS Graph API and the Veeam VBO sizing guide, I asked myself this. “How can I can build a WebApp that can be accessed from any web-enabled device, then connect to the tenant Office 365 and draw down the necessary information on behalf of the tenant, and then allow the tenant to choose the retention period?”

All of that has already been assembled in a very small WebApp that you can use this link to access. You need only your Microsoft account to access your tenant Office 365 subscription.

How the WebApp works

When accessing the WebApp link, you will be greeted by a Connect Button. This will redirect you to the Microsoft Azure login page, a standard Microsoft secure Azure login to acquire the Graph token.

After the token has been retrieved, The WebApp sends several GET Restful API commands to acquire the following information:

  • Mailboxes: GET https://graph.microsoft.com/v1.0/users
  • Total Storage Size on the last 30 days: GET https://graph.microsoft.com/v1.0/reports/getMailboxUsageStorage(period=’D30′)
  • Total number of the Item accross all the mailboxes: GET https://graph.microsoft.com/v1.0/reports/getMailboxUsageDetail(period=’D30′)

With that information acquired, the WebApp will help with sizing the Veeam Backup Repository, and also return the number of Proxies, Repositories, VBO server and Jobs you need to fully protect your Exchange Online.


The WebApp is a tool that I wanted to implement to help me to get an initial understanding of the size of the Exchange Online deployment for my customers and service providers. With this WebApp, the data gathering and the sizing on the Veeam VBO infrastructure has become simple and fast. This helps customers to size their storage and calculate their budget before they start the sales cycle.

Over the following days I will be working on version two of the WebApp. I will be adding more functionality, like estimating the size of the OneDrive and SharePoint drives, and other exciting features. So, if you have any feedback or suggestions, they will be most welcome.

One thought on “VBO Office 365 Analysis with MS Graph

Leave a Reply