Uses Teams Graph API to Access Conversations
Last week, I wrote about the new Teams tenant-to-tenant (T2T) migration capabilities released in BitTitan’s MigrationWiz product. A lot of feedback flowed from the article, including several vendors getting in touch to say that they too are working on T2T products.
Migration and Backup
I spoke with AvePoint’s John Peluso and Dux Raymond Sy to review the capabilities of AvePoint Fly for T2T migration. As expected, because all vendors are limited by the same Graph-based API, AvePoint is at much the same stage as BitTitan. One thing AvePoint is quite proud of is their success at migrating Slack installations to Teams and say that there’s an increasing amount of interest in this capability. This is unsurprising given the success Teams is experiencing today; any Office 365 tenant using Slack is likely to consider a migration to Teams at some point.
I also learned that AvePoint use the same API to backup Teams data. Many ISVs claim to support backup of Teams, but the ones I have checked out so far backup the Teams compliance records stored in Exchange Online mailboxes instead of Teams data. AvePoint is the first ISV I know of to backup direct from Teams.
Limitations of Teams Backup
Before getting too excited, we should realize a few home truths that arise from the simple fact that the Teams API for conversations is not intended for use as a backup platform.
- The Teams API is limited to channel conversations only. It doesn’t allow access to personal or group chats.
- The API is slow and prone to throttling. It’s not designed for the high-speed data streaming activity typical of a backup product.
- The topics extracted from source channels are concatenated. A topic and its replies are stored in a single HTML item that is backed up.
- Restore is done by posting the HTML item back into the Files section (SharePoint Online site) of the target teaml.
- Not all metadata can be backed up. Specifically, reactions (likes, etc.) can’t be copied.
These issues also arise in the T2T products. However, if you’re in the middle of merging two Office 365 tenants, you probably don’t worry so much as the focus is to move data from one tenant to another. Backup and restore tend to have a different focus as people expect perfect recovery of the original data.
Better Backup API Needed for Teams
To some extent, we have been down this road before. Exchange Web Services (EWS) was never designed to be used as a backup API yet it is used by every backup product for Exchange Online. Getting EWS to the point where it reliably transfers large quantities of data into and out of Exchange Online has taken several years of engineering effort from Microsoft and ISVs. I expect the same will be true for Teams.
Perhaps Microsoft will deliver a purpose-built API for Teams Backup in the future. Until then we will live in an imperfect world where backups and restores of Teams data is never going to be as good as other Office 365 data sources that have been around for a while, like Exchange Online and SharePoint Online. In the meantime, it’s nice to see that AvePoint has started along the journey.
Need more items to think about when considering how to backup Office 365? Chapter 4 of the Office 365 for IT Pros eBook deals with this question in some depth. It’s worth reading!