Paradigm Shift in Modern SharePoint Search – Innovations Powered by Microsoft Graph in Microsoft 365, Office 365, and SharePoint Online

Microsoft unveiled some of the biggest Microsoft Search innovations at Ignite 2017 vision keynote, powered by Microsoft Graph in addition to Bing for Business and LinkedIn for Business integration. While watching Vision keynote, the impact of new Search innovations didn’t sink in until I was following tweets from the session Accelerate productivity with search and discovery in SharePoint and Office 365. I was at the Office 365 developer overview session at the same time and amount of tweets sent from search session was so overwhelming that I had no choice but prioritize this session after the Ignite.

If you are a long-time SharePointer, Microsoft Search has come a long way from the SharePoint 2007 days. From the basic SharePoint search based indexing engine, Microsoft has reimagined search many times after acquiring FAST in 2012 (just days before SharePoint 2010 release, with complex connectors and relevancy engine) and Project Oslo (now Microsoft Delve, powered by Microsoft Graph signals for the personalized and contextual results, announced at SPC14).

If you are searching SharePoint Online search results in Fall 2017, all the users in your organizations will receive similar results based on content popularity and content relevancy. This search is based on the search index populated by crawlers crawling SharePoint content in your Office 365 tenant. At Ignite 2017, Microsoft unveiled their vision of new SharePoint search center powered by Microsoft Graph. Rather than searching against SharePoint index, a new search will return data based on users personalized interests, connections, and content. The new search engine will be powered by Microsoft Graph.

Earlier this summer, Microsoft has unveiled their new vision of digital workplace ‘Microsoft 365″ at the Microsoft Inspire 2017 conference, marketed as a complete, intelligent solution to empower employees to be creative and work together securely, using combined Office 365, Windows 10, and Enterprise Mobility and Security licensing packages. One of the major selling points of the modern digital workplace is – increase the productivity and content switching to speed up the innovation and collaborate faster ultimately to achieve better customer service or increase profitability.

At Microsoft Ignite 2017, Microsoft has announced that new Microsoft Graph powered search is not limited to only SharePoint search center. It is getting expanded to SharePoint Online home, home (Office 365 home), Bing, and Windows tasks bar, a full spectrum of digital workplace offering as Microsoft 365.

Search powerd by MS Graph

Rather than you as a user access the tools to search, the search will be available to you wherever you are to be productive. Microsoft’s vision is taking the search where users are, rather than only available through few products like SharePoint. If you just stop for a second and think, this is a huge paradigm shift in how SharePoint Search and Microsoft Search works. Not only Office 365 graph changes search result from popularity to more contextual and personalized but also opens up new ground for innovation. Search powered by Office 365 graph will allow better integration with LinkedIn Graph and Dynamics 365 Graph opening up the new search experiences.

MS Graphs.PNG

Microsoft Graph Powered Search – Boundaryless, Personalized, Contextual

Here are my few notes while watching Microsoft Ignite search session:

Search powerd by MS Graph 2

  • Core Pillars of intelligent search – Boundaryless, Personalized, Contextual
  • Personalized
    • Evolution of Search –
      • Current search is based on popular content (similar to commercial searches like Bing or Google)
      • Evolving search for matching content and popularity to match people & behavior and entities. The search will use Microsoft Graph as a data tier.
    • NEW – Personalized Search in SharePoint home
      • Will be available late 2017
      • New Search page layout & experience let you explore without losing context
      • Shows multiple categorized data – files, people, sites, news, all on the same page.
      • Preview inline files, supports more than 275 files types, support built by OneDrive team
      • Folder view – You can differentiate results with a similar file name with folder path in a browser and all the results are organized by path.
      • Search results are scope into folder and browser into folder directly from the search experience.
    • NEW – Visual Content Intelligence
      • Ability to extract text and objects from images and create metadata for the search.
      • It’s already available as of Dec 2017 on the Office 365 tenants
  • Contextual
    • It’s optimized for wherever you are – windows, Cortana,, SharePoint, delve, office apps, OneDrive, Bing etc.
    • NEW – New Office home powered by search
      • New contextual homepage
      • Shows apps, docs, sites relevant to you.
  • Boundaryless
    • NEW – Enterprise Search in Windows from taskbar
      • Ability to search local files, Office 365 (docs, people), and organization files
    • NEW – Multi-Geo Search preview in Office 365
      • Preview coming soon in late 2017
      • Unified search index across multi-geo regions of O365
      • First available in SharePoint, OneDrive, and Enterprise Search Center
      • Will be available to other apps – Windows,, Bing, Office Apps etc.

Reimagined SharePoint Search Center

New SharePoint Search center powered by Microsoft Graph has been reimagined with the new result types.

New SP Search


Bing for Business Private Preview

In addition to this, Microsoft has announced Bing for Business as a private preview. The idea here is to get the web and work results in a unified, simple, and secure way. I am sure just like any other technology, large organizations will worry about exposing private organization data by mixing with a public search engine, it’s a matter of time this product will be adopted by all sizes of the organizations. Bing for business results will be powered by Microsoft Graph and internet in one place. I am really excited to have a probability of having the power of Office 365 Graph, LinkedIn Graph, and Microsoft 365 Graph returning organization content, LinkedIn professional connections, and internet results as the unified view.

MS Graph and Bing

Bing for Business Results

Multi-Geo Search

With the new innovation in Office 365, the single tenant can be enabled to span multiple geographic regions. With Multi-Geo enabled tenants, the need for the Multi-Geo search is understandable. Both SharePoint Online sites and OneDrive for Business will be enabled for Multi-Geo tenants, making them an ideal candidate for the Multi-Geo search support. At the time of Ignite 2017, both OneDrive for Business was under preview and SharePoint Online was under development. The new Multi-Geo search will be powered by Microsoft Graph returning geographically dispersed Office 365 tenant data in the single query on the SharePoint Online search center.

Multi-Geo Search

New SP Search - Multi-Geo Search

Search Roadmap – Past, Present, and Future

As Microsoft was announcing their vision of future of Search, they just didn’t stop at what they are doing right now. Future of Office 365 and SharePoint search is even more powerful and few steps ahead than what organizations are looking for. If past search results were based on content matching and popularity, the current focus is on personalized and behavior based search, future is driving actionable results based on search data powered by AI and machine learning.

Search Tech roadmap

I am really excited about the direction where Microsoft Search is headed. How about you?



Posted in Office 365, SharePoint Online | Leave a comment

Do your SharePoint Online User Profile Pictures Sync from Active Directory? How SharePoint Online User Profiles Sync in Office 365 and Azure Active Directory work?

Building personalized and contextual user interfaces are very popular in the SharePoint Online. Many intranets have a personalized news or events widgets based on the employee user profile office or department properties. Have you ever surprised to see some of your active directory user profile properties especially profile photos are not synced to the SharePoint online user profile store? Have you ever wonder what happens when you sync your organization active directory and how some data gets synced to the SharePoint user profile store and some aren’t? If you wonder, read on.

As a SharePoint Online administrator, one of the first thing you should read is – Information about user profile synchronization in SharePoint Online, it provides a great overview of how user profile properties are synced from Active directory to the SharePoint online user profile store.

At a high level:

  • The on-premises active directory is synced to the Azure active directory either using Azure AD sync or customized PowerShell approach.
  • Once employee profiles are synced to the Azure AD, a background process loosely referred as an “AAD to SPO Sync” runs to populate all the global Office 365 tenants AAD profiles in the SPO directory. This SPO directory is nothing but active directory hosted on the Microsoft cloud servers to host all the SPO online profiles source data.
  • As many of you have realized, SharePoint 2016 introduced “AD Import” method to simplify the SharePoint user profile import process to import users profile data with minimal properties. To standardize the process and consistent approach, Microsoft is using AD import method to import global SPO Directory data into the Sharepoint user profile store.

SPO User Profile Sync Process

As you can imagine, if you are aware of the AD import limitations, one of the major issues is user profile photos won’t sync to the SharePoint user profiles. Here is the table I have put together to map various AD properties to AAD properties and SPO user profiles. Items in green get synced after few hours from on-premises active directory to Azure AAD to SPO AD to SPO user profile system. Items in yellow – user photos and cell phone won’t sync due to nature of AD import method for the SPO user profile sync.


Behind the scenes, exchange online and outlook is becoming center of gravity for the Office 365 profile pictures. Strange part here is Office 365 syncs exchange online photo for the given user whenever a user visits the Microsoft Delve first time. If you aren’t aware, Microsoft Delve’s user profile properties are stored in the SharePoint user profile store. If you ever manually update SharePoint user profile properties for a given user, it will reflect on the Microsoft Delve page.

If a user manually visits the Microsoft Delve home page, Office 365 background process triggers exchange online photos sync to the SharePoint user profiles. Unfortunately, asking all employees to visit Microsoft Delve at least one time to sync user profile photos isn’t a practical solution. If your custom SharePoint components require profile photos, you have no choice but upload them manually directly to the SharePoint user profile store.

There are more than dozens of articles on the internet to sync user profile photos and cell phone to the SharePoint online user profiles. As of fall 2017, my suggestion to use following two solutions. Both of these solutions worked for us recently. As usual, please plan to test this on the test tenant, prior to running it on the production tenant.

Reference Articles:      

Here are some additional references to your research. Some of them have really nice background information, which will help you understand the larger picture of this issue.

Posted in Office 365, SharePoint Online | Leave a comment

Trends of Modern SharePoint Online Intranets and Information Architecture in Office 365 as of Fall 2017

SharePoint is widely considered as the best intranet platforms in the market. If you have been tracking Nielsen Norman Group’s Top 10 intranets over the years, 70-80% intranets are built on SharePoint On-premises and SharePoint Online.

SharePoint has a long history as popular intranet platforms due to its publishing framework (CMS platform introduced in SharePoint 2007). In addition to SharePoint’s limited publishing CMS features, SharePoint provides a solid infrastructure for lists & libraries as a data storage,  site columns & site content types to define the data structure, sites & site collections for the portal containers, site templates for site definition packaging, and web parts & rich APIs for the extensibility. I have been involved in close to more than a dozen corporate intranets, sales portals, and customer portals built on the SharePoint platform over the years.

In May 2017, Microsoft unveiled their next wave of intranet sites in the SharePoint Online. These new sites called as communication sites and are designed with the principle of mobile-first, cloud-first, and a beautiful-first. Although communication sites as it’s the first incarnation are very limited (limited customization & branding options), Microsoft has continued its investments throughout the Q3-Q4 of 2017.

At Ignite 2017, Microsoft unveiled why future SharePoint intranets should be built using SharePoint Online’s modern communication and modern team sites. SharePoint communication sites can be used for traditional 1-way or 2-way communication and Modern team sites can be used for department and collaboration sites. Not only Microsoft started revealing its full intention of how future of intranets can be built on the SharePoint online platform but also hinted at the approaches required for the information architecture.

Future of SharePoint Intranets

As of early 2018, if you are planning to design intranets on the Office 365 platform, try to look at the hybrid architecture of communication sites, modern team sites, and classic publishing sites. Classic team sites with publishing infrastructure are still valid if organizations are looking for highly customized, visually branded intranet.

At the same time, modern communication sites and modern team sites will provide future-proof intranet, if organizations are willing to have few limitations until Microsoft bridges the gap. I would look at the Shire case study to get some inspiration. Rather than using custom publishing infrastructure, try to look at the modern site theming, site design packages, and SharePoint framework to customize the communication and modern team sites to design next wave of an intranet.

Building block of intranet - sites

At Microsoft Ignite 2017, Microsoft has unveiled new SharePoint hub sites to solve the problem of ever-changing site taxonomy and site hierarchy issues due to ever-changing organization structure. New SharePoint hub sites will allow you to associate and disassociate modern team sites and communication sites as needed without any physical association of the child sites to the parent sites. In addition, hub sites will dynamically roll up content and share site navigation, look and feel, taxonomy, and search.

SharePoint Hub Sites

All the images are courtesy of Microsoft Ignite and Microsoft Tech Community Blogs

With the innovation in SharePoint online, modern intranets built on SharePoint Online 2018 and onwards should be primarily architected using communication sites, modern team sites, and SharePoint hub sites. If modern sites are limited for one or another reasons (few known issues at this moment are branding, page layouts but Microsoft is bridging this gap very quickly), classic publishing sites is still a valid option.

Building block of intranet

building block of intranet - hub sites

Future of SharePoint Intranets Information Architecture – Flat IA

Traditionally, SharePoint publishing intranets consisted corporate homepage, department team sites, community team sites, and various resource centers. I have seen SharePoint intranets designed as single SharePoint site collection with corporate homepage as a root site and department sites are subsites. Even though subsites are evil, many intranets over the years designed as a single site collection with subsites, mainly due to time & rapid delivery constraints. I have also seen SharePoint intranets designed with multiple site collections or hybrid multiple sites and site collections especially on the SharePoint on-premises to overcome the issue of site collection size limit.

With the release of SharePoint hub sites and both communication & modern team sites is site collections based, Microsoft has hinted that future SharePoint intranets information architecture can be flat, loosely interconnected site collection based with either SharePoint hub sites or customized all-umbrella root site. This isn’t surprising for seasoned SharePoint architects. For a while, SharePoint architects have raised their concerns over subsites based architecture because of complexity (e.g. parent-child sites relationship management) and governance issues (e.g. unmanageable security groups) due to subsites proliferation. With the innovations in SharePoint hub sites, it’s great to see Microsoft’s recommended approach for the flat information architecture.

Here is the wonderful example of current vs future state of the brave new world of SharePoint information architecture.

Current state

Brave new world of intranet IA

Future state – If business requirements changes to map all the sales sites under single sales department, it’s easy to disassociate “EMEA Sales” from “EMEA” hub site and associate to the “Sales” hub site.

Brave new world of intranet IA 2

Modern Digital Workplace – SharePoint and Office 365 Information Architecture

It’s important to note that SharePoint modern team sites, communication sites, and hub sites should be a small part of your overall Office 365 digital workplace strategy. By keeping modern team sites and communication sites light branded, you can plan to incorporate additional Office 365 applications like Yammer, Planner, Microsoft Teams, OneDrive for Business to design modern digital workplace using Office 365 suite as a seamless experience.

Here is an amazing SharePoint/Office 365 IA diagram from Microsoft Ignite showing how SharePoint can be used along with Yammer, Stream, Teams, OneDrive for Business, and Microsoft Graph.

SPO information architecture

Modern branding and modern site template options

To ease the adoption of the new communication sites as an intranet platform, Microsoft has announced new branding & site template options (site theming, site design, and site scripts) to bridge the gap between communication sites and classic publishing sites. Please note at the time of writing, these might be still in preview.



Posted in Office 365, SharePoint Online | 2 Comments

Recapping Microsoft Ignite 2017 Conference, Orlando, FL

I had a privilege to attend Microsoft Ignite and Envision conference, the third year in a row from Sep 25-29th, 2017 in Orlando, FL. This is Microsoft’s signature conference focuses on innovations in all three Microsoft cloud platforms (Microsoft Azure, Microsoft 365/Office 365, and Dynamics 365) in addition to products like Bing for Business, LinkedIn, and Windows.

Ignite image

Keynote Highlights

Microsoft Day 1 & Day 2 usually focuses on the main keynote, sub keynotes, and product keynotes. This year conference started with Satya Nadella’s vision keynote. This year’s main theme was digital transformation and how Microsoft like to achieve that using modern technologies like AI, IoT, HoloLens. Keynote started with digital transformation and ended with something obscure like Quantum computing. I love attending and listening to Satya’s vision.  If you haven’t seen Satya’s keynote, I would highly recommend checking it out on the MS Ignite site.

After the main keynote, I have attended sub keynote to focus on creating a modern workplace with Microsoft 365. One of the first thing I noticed after this keynote was Microsoft started marketing Microsoft 365 suite, and Office 365 is just one of the offerings of that service. I have also noticed Office 365 word or brand isn’t on a billboard anymore and Microsoft is pushing Microsoft 365 offering, which includes their Office, Windows, Mobility, and Security offering in the cloud.

Day 1 was great, but if you are a longtime SharePointer like me, your conference can’t start until you listen to Jeff Teper’s keynote. Day 2 started with Jeff Teper’s SharePoint and OneDrive for Business keynote focusing on product announcements and roadmaps. Honestly, I wasn’t expecting much, but Jeff exceeded everyone’s expectations. Jeff blew everyone’s mind, and he kept dropping new features among lots of loud cheers. Jeff’s commitment to the product and easy to digest materials stands out. There were lots of innovations announced in the SharePoint Online – lot more out of box communication sites features, new SharePoint hub sites, deeper PowerApps and Flow integration, first party SharePoint migration tool, and a new version of SharePoint Server 2019.

Conference Announcements

I have attended only eight sessions in person this year and caught up on few more online after the conference. My primary focus was Office 365, SharePoint Online, and Power Apps/Microsoft Flow. I wanted to see if SharePoint communication sites and SharePoint framework is ready for the enterprises. Even though with limited attendance, it’s incredible how much my mind exploded with so many announcements throughout the conference.

My most significant takeaway and announcements from the conference are:

  • Microsoft’s forward-looking, innovative focus – Artificial Intelligence, Mixed Reality, IoT, bots, etc. Microsoft will build devices and developer tools to support these technologies. AI and bots were present everywhere across all the products at the conference.
  • Microsoft 365 for Digital workplace – Microsoft has expanded & rebranded their digital workplace story from Office 365, I was surprised, but you could see Microsoft 365 billboards everywhere.
  • Huge innovations on Office 365 Analytics and Windows Upgrade Analytics, In-session control compliance feature to lockdown forward, print, sync, or download features both in Office 365 suites and consumer emails like Gmail.
  • Dynamics 365, LinkedIn, and Office 365 Integration to reimagine tenant recruiting and sales enablement process.
  • Microsoft’s Power Platform – PowerApps, Power BI, and Microsoft Flow. Amazing benefits of these tools is you have access to Microsoft’s common data service (Microsoft graph with access to Dynamics 365, LinkedIn, and Office 365 data) and it’s open to third-parties to build complex integrated systems with Microsoft data.
  • Office 365 Analytics – Content packs will be renamed to Office 365 Usage Analytics, new reader role in Office 365 for Analytics, usage reporting API goes to GA.
  • Fantastic set of innovations in Azure Portal – In-browser PowerShell to run PowerShell commands from your mobile phone, New disaster recovery preview, log analytics preview, OS update management preview from portal directly, and files and registry change tracking preview from the portal directly.
  • Azure Improvements – Azure availability zones (power, networking, cooling redundant), Azure reserved instances, Azure file sync etc. Also,  Azure has a new look & a logo.
  • LinkedIn for Business integration in the first party applications like Outlook, Office 365, and SharePoint – LinkedIn powered profiles, huge story around merging internal & external contacts in your communication platform.
  • Bing for business integration – Integration with Microsoft Graph for people, docs, it will be available as GA next year, this is a game changer.
  • Microsoft Teams is becoming modern intelligent communication tool, will adopt features of Skype for Business, a single client for chat, video, and voice calls.
  • Office 209, SharePoint 2019, and Skype of Business 2019 on-premises servers announced for next year.
  • SQL 2017 in GA
  • Microsoft Graph innovations – Investments in SharePoint lists APIs, Azure functions as web hooks
  • Microsoft 365 F1 – New license for the front-line workers.
  • Multi-Geo preview for Office 365 & SharePoint Online. This is an excellent win for organizations with multi-national footprint.
  • Hundreds of innovations in SharePoint online – PowerApps for list forms, new PowerApps web part, real-time collaboration in excel client (much-awaited feature), folder path display in a document library search, multi-geo search capabilities, new SharePoint Online search center, personalized search results on SharePoint home, voice-enabled accessibility feature.
  • SharePoint Online Hub Sites – Ability to associate/disassociate sites to the hub sites. This is a game changer as it solves the dynamic nature of site taxonomy and how sites are organized, rolled up, grouped, and branded.
  • Search visual content intelligence – Scan image & video contents to display search results.
  • Yammer – Improved integration SharePoint document preview, new modern Yammer web part for SharePoint Online.
  • SharePoint Framework v1.3 in GA with modern extensions.
  • SPFx Investments – Tenant level properties to customize your deployment pattern, support for Office UI Fabric core, investments in the ALM API (Install, upgrade, delete), ability to have a site collection app catalog rather than tenant level, automatically distribute packaged assets to Office 365 CDN, Web API Support to access Microsoft Graph info, Reusable PnP SPFx placeholder, and property pane controls.
  • ALM story around Power Apps and Microsoft Flow – Admin UI to import and export Power Apps and Flow from one tenant to another, PowerShell to automate the import/export, Power BI usage analytics reports for PowerApps.

SharePoint Online Communication Sites, SharePoint Framework, Power Apps, and Microsoft Flow Readiness for Enterprises

With all the innovations with modern pages and modern document libraries, integration with Microsoft Flow/Power Apps, and customization story around SharePoint Framework, one of the burning question I had was, are SharePoint Online modern pages & SharePoint framework ready for the enterprises?

After attending several SPO sessions, one of most important takeaway for me was both SharePoint Online communication sites and SPFx are NOT ready for the enterprises as of now. This is great for small organizations. They are fully committed to both communication and platform development stories. There are lots of innovations coming up, but until we have good customizations and ALM/automation story, I wouldn’t recommend to enterprise customers.

I was also disappointed with the SharePoint Online branding session as I was looking forward to seeing great story around branding communication sites and better ALM story for the deployment automation. The only thing this session delivered was a theming option and design packages for a repeatable branding. I believe this is great, but I was looking for a more robust platform from the Microsoft.  Overall, I still feel communication sites branding story is incomplete.

On the other hand, with the concrete ALM story around the Power Apps and Microsoft Flow, I felt like Microsoft Flow and Power Apps are ready for the enterprises. It has a excellent deployment ALM story with both UI and PowerShell scripts. It also has a great usage analytics, debugging, and performance monitoring reporting.

Conference Activities and Logistics

The second year in a row, I am impressed with how Microsoft runs their conferences. You will never run out of choices in the midst of the hundreds of activities – 75 minutes breakout sessions, 45 minutes of short breakout sessions, theatre sessions, expo & evening happy hours, after-event parties, Microsoft product engineering booths, Microsoft mechanics & podcast area, HOLs (Hands-on Labs), Immersion Labs (private 6-8 people, case study focus scenarios) and list goes on. This year, I had decided to try out little bit everything. I was very picky with my sessions but didn’t want to miss out the expo, product team booths, HOLs, and Immersion labs.

My expo visits included talking to various vendors like Sharegate (SP migration), Metalogix (SP migration), Nintex (SP Workflows/forms), Rencore (SP customization), Hyperfish (Profile Completeness), and LiveTiles (SP Intranet & AI with modern experiences). These are good vendors to partner with. Speaking to product engineering group especially Teams, SharePoint, and Azure, one thing stands out that they are listening to user’s voice very closely. They are committed to bridging any gaps there are from previous API/toolset/scenarios and support in the new toolset.

My favorite activities of the Microsoft Ignite is lounging in the lounge viewing area. Not only it allows you to switch to another session if you think you are in the wrong session but it allows you to relax and switch off both technology & conference stress. Having ESPN and CNN as one of the channels along with key sessions was a huge help. I must say though lounge viewing area can be a huge distraction if you want to attend a focused session. You will be tempted to flip channels to attend various sessions, and it may mentally exhaust you (how many you flip channels on Netflix for more than half an hour before deciding to stop watching altogether, the same principle applies here).


Every year, I try my best to analyze conference location, logistics, and food. I must say – Orange County Convention center in Orlando is huge and arguably my favorite location. I loved the way venue had various seating areas (benches, couches, bean bags, etc.) sprinkled throughout the conference building (both indoor & outdoor).

Microsoft rented both North/South & West buildings. One of the worst parts was a mile-long bridge walk between North/South and West building in a toasty Orlando weather. Good luck if you wanted to make up this distance in 30 minutes in-between sessions. I realized very quickly that I needed to drink a lot more water than Chicago to cope Orlando weather to avoid any headaches. Also – The long queues, hundreds of people have become a norm for the Microsoft Ignite so, either you get used to it but try to stay away from attending the conference.

I must say – Food at the Orlando Convention center probably best among last three conferences. I hated Atlanta’s large sandwiches, and I don’t even recall how bad Chicago food was. Although it’s not great, I loved the balanced food options (carbs, protein, salad, fruits, desert) as a container. There were also lots of self-paid food options throughout the convention center.

Just like Atlanta last year, Microsoft reserved lodging space in three major areas – Convention Center, Universal Studio, and Disney Springs. Microsoft had daily shuttles to transport conference attendees from these remote locations. Since I am not a morning guy, one of my favorite habits was to live stream first session while commuting to the conference on shuttles. That allowed attendees to have best of both – attend session & have relaxed time while commuting to the conference location for the 2nd session of the day.

Last but not the least, I can’t praise enough Microsoft Ignite Mobile App and WIFI throughout the conference center. I simply loved way finder in the App from one location to another location in addition to schedule builder/my conference calendar. Microsoft started live-streaming sessions on the Ignite App since last year, which not only helped session overflow situation but it also greatly helps if you want to relax in the quiet area and enjoy the session from a distance.

Just prior to final wrap, I wanted to share an amazing map of the twitter cloud with various attendees & Ignite products relationship. It’s no coincident that I was situated as a small town at the crossroads of SharePoint, Microsoft Teams, and Yammer. These are the areas I had tweeted/retweeted most often and it’s great to have a validation.




This year’s Microsoft Ignite is probably one of the best conferences I have attended. I still have few reservations about the venue especially that dreaded bridge walk, but overall, I would rate this Ignite had much better location/venue, attendee party, content, and list of activities. I would like to extend my thanks to two wonderful consulting companies – my former employer (Slalom for initiating registration) and current employer (West Monroe Partners for picking up the expenses) to allow me to attend this conference and making this happen.



Posted in Conferences | Leave a comment

Current state of Microsoft Azure App Services Platform

It’s been close to a year, I have started playing with Azure Functions and Azure Logic Apps. With the growing demand for Azure Serverless architecture, Azure App Services platform is becoming more mature than ever. In this article, I am posting my notes on the current state of the Azure App Services platform. For the most recent information, please review here –

Key Info


  • Focus more on delivering business value, rather than focusing on building and maintaining plumbing of apps.
  • Ease of use, no need to worry about infrastructure plumbing.
  • Scalability – scale up or down as needed.
  • Pay for what you use – cost effective.

Azure PaaS and Azure App Services Overview

  • It mainly focuses on an application platform, integration, and business process management.
  • It includes Azure App Services or SQL Azure.
  • Azure Service Fabric – Abstraction the underlying VM resources, fabric provides additional features like authentication/authorization, hybrid connectivity, support & troubleshooting, analytics etc.
  • Major App Services
    • Web Apps – to host web applications with ease.
    • Mobile Apps – to host backend for mobile devices, e.g. mobile clients offline & sync when it’s back up, push notifications.
    • API Apps  – to expose web APIs.
    • Logic Apps – for complex workflows and automate business processes, to orchestrate APIs & data into business processes.
    • Function Apps – an independent server-less piece of code to respond to events, it intercept event, process them and output somewhere.

Azure Web Apps

  • A website-as-a-service, traditional Web Apps hosting environment minus – abstraction of infrastructure plumbing (servers, VMs, IIS server installation), OS update, firewall & network setting etc. This allows us to focus more on delivering business value, rather than focusing on building and maintaining plumbing of apps.
  • Major Features
    • Host web apps – .NET, Java, Node.js, Python, PHP
    • SLA – 99.95%
    • Custom domains and SSL certs.
    • Deployment slots for pre-production testing.
    • Easy to setup continuous deployment.
    • Auto or Manual scaling
    • OOB Authentication and Authorization with default providers like Azure AD.
    • Load balance apps with traffic management.
    • Hybrid connections with on-premises data.
    • Visual Studio and VSTS integration – allows you to publish to specific App service from VS

Azure Mobile Apps

  • It’s a service or a backend for your mobile apps, provide mobile capabilities to the mobile client.
  • Mobile App is a cross-platform and supports default authentication providers like Azure AD.
    • Mobile App backend – .NET and Node.js, it looks much similar to Azure API project.
    • Mobile Client Application – SDK available for – iOS, Android, Windows, Xamarin, Cordova, used on Visual Studio mobile apps like Windows 8 App.
  • Major Features
    • Offline Sync – It’s using SQLite OOB, you can choose your own SQL provider.
    • Push Notifications – It’s using Notification Hubs, abstracts platform complexities, sends notifications to individual platform (iOs, Android, Windows etc.) services, allows scale to send multiple notifications, also provides telemetry.

Azure API Apps

  • Allows you to host and expose your APIs for a distributed architecture.
  • Major Features
    • It supports default authentication providers like Azure AD & social providers.
    • Can host existing APIs (.NET, Java, PHP, Node.js, and Python).
    • Exposes API definition in the form of metadata in JSON format (using Swagger 2.0), enables client applications to know which operations to call and how to call them, it makes API discoverable, NET API uses Swashbuckle library to generate Swagger API definition, also have Swagger UI to test APIs, supports consumption of APIs in VS or command line to generate code for client applications (.NET, Node.js, Java, JavaScript).
    • Supports CORS (Cross Origin Resource Sharing) for cross-domain client-side AJAX (XMLHttpRequest) call. Configure allowed origins on Azure Portal.
    • Integrates nicely with Azure Logic Apps.
    • Integrates with API management & telemetry.
    • Also supports all App services features like scalability, redundancy or deployment slots.

Azure Logic Apps

  • Allows you to create functional/business logic workflows by orchestrating software as service components (like API or data).
  • Allows you to visually compose the workflows on Azure Portal logic apps designer or Visual Studio (with logic apps extensions). Alternatively, you can use code view in logic apps definition language in JSON format.
  • Major features
    • Connectors – basic components powers logic apps, exposes functionalities, allows you to easily connect with other logic apps or third party apps.
      • Your Connectors (e.g. Azure API Apps, Azure Logic Apps, Azure Functions), hosted in Azure in your region.
      • Microsoft Managed APIs (e.g. Office 365, Azure Blob, Dropbox, GitHub, Facebook, FTP etc.), hosted and managed centrally by Microsoft available as part of Azure.
      • Marketplace Connectors from third-party companies (e.g. SAP, Oracle, DB2 etc.), hosted in Azure in the same region, you pay per use.
    • Triggers – kick off logic apps manually, scheduled, or by events (by email or updating SP list), connectors can be triggers, poll triggers (logic app polls the connectors when the event is fired) or push triggers (logic apps notified by connectors when the event is fired).
    • Actions and Conditions – triggers kick off actions when some conditions are met, connectors can be actions, actions can be sending an email, posting messages to slack etc.
    • It uses logics apps definition language (in JSON format), create in the Azure portal or Visual Studio.
    • Lots of out of box templates available.
    • Robust and reliable – supports retry

Azure Function Apps

  • Allows you to respond to events and run worker processes by intercepting or triggered by external events.
  • They are an evolution of Azure WebJobs and executes a piece of code. It’s a piece of code that we can call anytime, it will scale automatically, and you can pay when you use it without worrying about the underlying infrastructure.
  • Major Features
    • You can write (C#, Node.js, Python, PHP, bash, Java, PowerShell and lot more) and run code (any executables) in Azure functions.
    • Triggers – Can be triggered by many various concepts (e.g. Event Hubs, Service Bus, Timer, HTTP request, Blob Storage, Azure Storage Queues etc.), when Azure function triggers, it runs the application in it.
    • Serverless architecture – Allows you to specify how much memory needed to run functions. Functions can scale and create as many as instances until it reaches memory usage.
    • Bindings – Allows you to input and output values to/from functions.
    • Templates – Predefined trigger templates for all kind of languages and scenarios.
    • Parallel Execution – Runs as many as instances until available resources (e.g. memory) caps.
    • Azure Portal support – Allows you have a code editor, log console, and ability to run/test.

Additional Features

  • Azure WebJobs
    • Allows you to run background processes or a batch job in the context of the azure app, it’s a background service as a service, think of it as a windows service in a cloud without worrying about underlying platform.
    • Web App can have one or more WebJobs, both web apps and web jobs can share same resources, the performance of one may affect others if web jobs are hosted on the same web app, it is best practice to host web jobs on the separate web app.
    • It is supported for Web Apps, Mobile Apps, and API Apps.
    • It supports azure web jobs or .exe, .cmd, .bat. .sh, .php, .py, .js, .jar, and ps1
    • Same SLA as the main service.
    • Can be triggered by outside sources like Azure Storage Queue, Storage blob, web hooks etc.
    • They are reliable if they fail – it will try again.
    • Can be triggered manually or scheduled.
    • Can process triggers in parallel.
  • Azure Deployment Slots
    • Ability to run multiple versions of your apps. Allows you to test in both production and pre-production environment. Also, allows you to route some of the production users to the pre-production environment for testing.
    • Supported for Web Apps, Mobile Apps, and API Apps.
    • Deploy it with no downtime by swapping production and pre-production environment. Azure swaps VIPs behind the scene.
    • Depending on your pricing tier, you can create up to 19 deployment slots, it can host web app and will incur cost just like any other production app. You can’t scale deployment slots. May not be the best environment for the performance test.
Posted in Microsoft Azure | Leave a comment