Blog Categories


Introducing Microsoft’s Cortana Analytics Suite

As far back as this year’s Ignite event, Microsoft has been mentioning “Cortana Analytics” by name.  But at the first-ever Cortana Analytics Workshop in Redmond this past Sept 10 and 11, they unveiled a bigger offering and vision linking their current slate of cloud-based data platform tools.

It’s known that Microsoft has been using Big Data technology for Exabyte (EB) level storage and search internally for years; this is the story of Bing and building the data underpinnings of a major search engine.  Hadoop-based cloud services like HDInsight and the ability to run Linux and Hortonworks HDP on Azure Virtual Machines have made their way to being a part of Microsoft’s offerings for some time now.


But with Cortana Analytics, Microsoft is democratizing this capability using Azure as a delivery platform, and realizing a much fuller vision that Azure and cloud technology now provide.  To this back-end data storage backdrop, Microsoft is adding event capture and Internet of Things (IoT) capabilities, plus R-based statistical modeling services in order to provide some very compelling full data lifecycle analytics functionality.

Cortana Analytics refers to a cloud-based ecosystem hosted in Microsoft Azure for building and deploying elastic, scalable modern data warehousing and advanced analytics solutions.  The entire data workflow — from event ingest/data capture, to data storage, to analytical processing and transformation, to modeling, to real-world deployment — is covered by a set of cloud-based services are intended to be combined to collect events and data and turn them into actionable intelligence, enabling human or automated action.


So, the Cortana Analytics Suite encompasses a set of these data-oriented Azure PaaS offerings, including:

  • Azure Event Hub
  • Azure Data Catalog
  • Azure Data Factory
  • Azure Data Lake
  • Azure SQL Data Warehouse
  • Azure Stream Analytics
  • Azure HDInsight
  • Azure Machine Learning
  • Power BI
  • Cortana

In upcoming posts, I’m going to break these services into functional groups, and try to place them in the context of a hypothetical solution.   Next time:  We’ll start the series proper with a discussion of Event and Data Ingestion and Storage in Cortana Analytics.

Speaking at Tech-Ed Summit

GroupsAt the end of the day isn’t it all about user experience? Office 365 groups does just that by unifying these experiences across the various Office 365 services. Groups provides teams a way to work together across Exchange, OneDrive, SharePoint, and Yammer, integrating the best of all worlds.

I’ll be speaking at the Northeast Tech-Ed summit at Boston and Hartford next week, covering various aspects around administration, base and hybrid architecture, roadmap and more. If you wonder how Groups can help you be more productive without having to deal with yet another tool or service then go to the registration link below and reserve your spot. You’ll also get a chance to talk to Perficient – a proud sponsor of the event, find how we can help you be successful in the mobile first, cloud first journey.

Northeast Tech Ed – Boston, MA

Northeast Tech Ed Summit – Hartford, CT





Updated Sitecore XP Roadmap Revealed at MVP Summit

One of the benefits to being a Sitecore MVP and working for a Sitecore Platinum Implementation Partner is having access to Sitecore’s roadmap and planning.  A couple of weeks ago Sitecore provided advanced access to a Release to Technology (RTT) version of Sitecore Experience Platform (XP) 8.1 which is due out sometime in the next few weeks.  We’ve enjoyed getting to see some of the features in the new product and were even more excited about some of the updated details revealed this week at Sitecore’s annual MVP Summit in New Orleans, Louisiana.

As the Sitecore platform continues to grow, Sitecore will be looking to support 3 primary versions of the product: 7.2, 8.0, and 8.1. While other versions of the product will continue to be supported, these 3 will be target of a proactive, sustained engineering focus.  As part of this focus, over the course of the next 12 months or so, Sitecore is committing to one release a month for one of these 3 primary versions.  By selecting a handful of key versions to focus their support efforts around, a higher level of support will be able to be provided.  New features and fixes will be continually made available and this will only strengthen the platform.  So if you’re not already on one of these versions, we’d love to help you plan and implement an upgrade.

Some of the most exciting parts of the Sitecore 8.1 and 8.2 roadmaps that we can share revolve around Azure support (specifically Azure Platform as a Service, or PaaS).  Whereas there was a delay of nearly 6 months before 8.0 was released for Azure, 8.1 for Azure is set to follow the 8.1 XP release by only weeks.  And the even more exciting news is that with the release of 8.2 sometime in 2016, the Sitecore for Azure module will no longer be required.  Support for Azure PaaS will be built directly into the core XP. Read the rest of this post »


Posted in News and Events

Office 365 – Excel Tips For Mail Migration Data Manipulation

While a good percentage of my mail migrations are part of an Exchange Hybrid environment, I don’t always have that luxury. We still work with plenty of migrations to Office 365 from non-Hybrid environments, each with different migration toolsets.

When you get to a migration that is something like Google, Zimbra or even an Office 365 “tenant to tenant” migration, Microsoft Excel becomes part of your migration tools. These types of migrations are full of CSV exports from multiple sources and manipulation of these exports with various formulas. While some might argue that this data should be put into a database instead of spreadsheets, I generally don’t have access to a DBA and Excel offers more agility in manipulating the data.

Below are some of the Excel tricks that I use when managing this data.
Read the rest of this post »

Controlling Skype4B Application Sharing Bandwidth

In a previous blog post I talked about how administrators and architects should place more emphasis on planning for application sharing bandwidth in their Skype4B deployments.  Armed with that information, the next logical progression of this blog series continues the focus on application sharing and discusses the available methods within Skype4B to manage and control the bandwidth requirements for application sharing.

General Methods of Controlling Bandwidth

Speaking broadly, there are typically two methods of controlling any sort of application bandwidth across enterprise networks.  Both methods are not mutually exclusive and can be used in concert with one another, but it is largely up to network engineers and the application engineers to work together to find the best solution for your environment.

Control the traffic at the network

For most of the network engineers out there, this is the “preferred method”.  Like controlling traffic on highways via “normal lanes” and “HOV lanes”, network traffic is separated, classified and handled in a manner that is configured by the network engineers to give preferential treatment (and bandwidth) to high priority traffic while giving normal treatment to non-priority traffic.  This is most generally referred to as Quality of Service (QoS).  QoS is typically seen in two forms:

  • Differentiated Services – This is a QoS designation split into two layers of the OSI stack
    • Class of Service (CoS) – This is a Data Link Layer classification method whereby a 3-bit CoS field is included in Ethernet headers in a 802.1Q VLAN
    • Differentiated Services Code Point (DSCP) – This is a Network Layer classification method whereby a 6-bit DSCP value is included in the 8-bit Differentiated Services field within the IP headers of traffic
      • This is typically the more common QoS model and the preferred model today.
  • Integrated Services – This is a QoS designation where the traffic specification part (TSPEC) and request specification part (RSPEC) help to define and classify the traffic into unique flows. This is not a common QoS model still in deployment.

In either case above, network engineers can control, on a per-hop basis, how each classification of traffic is treated along the entire network path.  While flexible and powerful, this method requires engineers to know all the various types of traffic on the network and to classify it accordingly (and ensure it is classified across all devices), which can be an arduous task and result in traffic being incorrectly classified.  In addition to the work required, as more and more applications move to SaaS available across the Internet, QoS is lost as the traffic leaves the corporate network and moves across the Internet which restricts QoS from being available from end-to-end.

Control the traffic through the application

For most of the application engineers out there, this is the “preferred method”.  Think of this as the “honor system” where some type of built-in application configuration tells the application to limit itself to X bandwidth when utilizing the network.  While undoubtedly easy to deploy, this method has no awareness of other traffic around it and no integration with network devices that send/receive traffic, which results in a more limited “one-size-fits-all” approach.

How does Skype4B fit in?

In almost all enterprise deployments, architects and engineers desire to identify the traffic produced by Skype4B and fit that traffic within the available enterprise network configurations.  Skype4B offers both of the configurations above and can be configured for one or both to suit the needs of the enterprise network. Read the rest of this post »

AzureCon Recap: IoT Suite Now Available

IoT SuiteIn case you missed it, AzureCon, a one-day virtual conference, was held today. There were 4 keynote speeches from different VP’s at Microsoft and 55 break-out sessions on various Azure topics. A really great idea to do this all virtually and it lived up to the hype! There were a number of key announcements, new services, and updates presented today and I’ll be blogging on the key highlights all this week.

Azure IoT Suite Now Available!

Microsoft first teased the IoT Suite back in May at the Ignite Conference. Today we got our first glimpse at the actual solution. The Azure IoT Suite is a set of pre-configured Azure features and services which spans across PowerBI, HDInsight, Machine Learning, Storm, NoSQL, and many others. These services provide analytics, workflow automation, device connectivity, command and control, and dashboards for all your IoT needs.

L:ast week, I blogged about the IoT Starter Kit and IoT Core Preview. Combined with today’s announcement, Microsoft has now provided the full capability for your end-to-end IoT solution. Read the rest of this post »

Introducing Microsoft Invite – A New App for Organizing Meetings

Invite-1Have you ever tried to schedule a meeting from your iPhone? Have you ever tried to look at a colleagues calendar to get their availability from your iPhone? If so, you’ll know that these tasks are basically impossible using the default apps.

Introducing Microsoft Invite!

  1. You suggest times that work for you, and then invite attendees.
    You can use the app to invite anyone with an email address—even if they are outside your organization.
  2. They select all the times they can attend.
    Once you’ve invited your attendees, they receive an email or an app notification if they have Invite installed. Attendees can then choose on the times that work for them, from the app itself or from a browser. They can also see what options work best for other attendees.
  3. Once everyone has responded, you pick the time that works best.
    You choose a final date and time whenever you’re ready. Just pick the time that most people can make the meeting and tap Send Calendar Invites to get it on their calendars.

Read the rest of this post »

Hiding buttons in Sitecore

Sitecore’s security editor can be intimidating and difficult to understand. However, the security editor gives you the ability to tailor the Sitecore authoring experience for your content authors in very customizable ways. In this example, we’ll be hiding a button in the ribbon that we don’t want certain authors to see.


In the Sitecore Content Editor, there is a button in the ribbon for taking screenshots of a page preview in various browsers. The screenshot service is not enabled by default – and actually is an additional purchase through the Sitecore App Center. When a content author tries to use the screenshot feature when is has not been purchased, the author will receive the following error message:


To stop this from happening, one solution would be to remove the button from the ribbon for all content authors. To do this, switch to the Core database and open the security editor. Open your the desired user or role you want to restrict (in my case, I am using Sitecore Client Users, which is a role all users are members of). Find the button (/sitecore/content/Applications/Content Editor/Ribbons/Chunks/Preview/Screenshots) and deny read access. A more compelling use case might be limiting the button to all authors except those in a particular role who might use the button as part of their daily workflow.

security editor

Another good example of how hiding buttons might help the authoring experience, is hiding the publish site button. To do so, follow the same steps as above and deny read on /sitecore/content/Applications/Content Editor/Menus/Publish/Publish Site. This will prevent authors from accidentally publishing the site when they intended to publish a single item.

Announcing Windows IoT Core Preview and IoT Core Starter Kit

1_iotKitExciting news in the world of IoT! Back in August, Microsoft announced the preview build for the Windows IoT Core operating system for the Raspberry Pi 2 and the MinnowBoard Max.

Windows 10 IoT Core is a new edition for Windows targeted towards small, embedded devices that may or may not have screens. For devices with screens, Windows 10 IoT Core does not have a Windows shell experience; instead you can write a Universal Windows app that is the interface and “personality” for your device. IoT core designed to have a low barrier to entry and make it easy to build professional grade devices. It’s designed to work with a variety of open source languages and works well with Visual Studio.

This is cool stuff. IoT Core supports WiFi and Bluetooth connections, works with Visual Studio 2015, and is compatible with alternative languages such as Node.js and Python. Getting started is simple, and Microsoft even publishes a number of samples on GitHub. Read the rest of this post »

Skype4B App Share – What in the World Are You Doing to My Network

For many of the Skype for Business and Lync readers out there, you may think to yourself, “Hey, I’ve seen a similar title like that before…”, and you would be absolutely correct. During Lync Conference 2014, Lync MVP Jeff Schertz gave a fantastic presentation about “Video – What in the World Are You Doing to My Network” in which he gave a deep-dive into the impact of Lync’s new H.264 SVC video codec and how that impacts network bandwidth across the enterprise. While it is absolutely accurate that video can stress enterprise networks, the often forgotten (and sometimes neglected) truth is that app share traffic in Lync/Skype4B has a far greater impact (in my opinion) to impact overall bandwidth figures. What follows is my attempt not to reduce video planning but to place an equal (and maybe higher) importance on planning for application sharing bandwidth in Lync/Skype4B deployments.

Foundational Concepts of Application Sharing

Application Sharing has existed, in one form or another, since the Live Communications Server days and has received updates and/or changes with each iteration of the product (OCS, OCS R2, Lync 2010, Lync 2013). Some of those largest changes include:

  • Migrating from the NetMeeting protocol (H.323 based) in LCS 2005 to RDP (ITU T.120 based) within OCS 2007 R2 (also Lync 2010/2013 and Skype for Business).
  • Including formal meeting desktop sharing natively within Lync 2010 instead of relying on the LiveMeeting application.
  • Adding a high performance P2P desktop sharing in Lync 2013.

As stated above, application sharing in the current iterations of the Microsoft UC stack are based off the Remote Desktop Protocol. IT administrators across the globe utilize RDP every day for connecting to servers and workstations and are, as a result, very familiar with the overall capabilities offered. At its core, RDP has the following characteristics: Read the rest of this post »