Functional Collaboration?

By now, most IT professionals have heard about "serverless" or "functional" computing, but many may not yet know that there's strong evidence that it's going to impact collaboration. I'm not sure whether this is a specific goal, or just a coincidental strike, but at least some aspects of collaboration are right in the crosshairs of a major shift in public cloud services.

If you look at the architecture of serverless cloud, what you find is that it comprises three distinct parts. One part is the actual resources used for hosting, which are simply a hidden pool of capacity that's allocated on demand rather than sold as "virtual machines" to users. The second is a set of application development tools and rules that let you build stuff to run on that pool, and the third is an orchestration overlay that gets stuff running in the pool in response to "events." The stuff that's potentially on a collision course with collaboration is that last category.

Functions, or "lambdas" are really aimed at event processing, but you can look long and hard around the average enterprise and you won't find too many events seeking a place to live. There are many opportunities for event applications in the Internet of Things, but we're not there yet. As a result, all the big cloud players (Amazon, Google, and Microsoft) have been working to expand the notion of events from sensors recording motion and such to anything that "happens." That expansion is defining events so broadly that a lot of collaborative things now fall in the range.

Somebody changes a document -- and generates an event. Somebody emails something, and another event surfaces. Change a calendar, and perhaps even make a call (or get one) and -- you guessed it -- we can have a new event to play with. All the cloud giants are working to make just about anything that gets done a possible event source. For them, the goal is to be able to "orchestrate" how events and application features are linked, and thus to compose applications from functions or microservices or lambdas or whatever you like to call them.

In an age that already has workers almost living through their various computers and devices, and when teen use of gadgets surpasses even the current level of technology dependence in the workforce, it's hard to escape the notion that by defining applications, function orchestration is really defining business processes. Microsoft, through something called "Azure Functions" and companion "Logic Apps," may be leading the charge simply because its Office products are the heart of a lot of business processes, and according to my surveys well over three-quarters of collaborations involve the sharing of some Office application's output.

Logic Apps is the orchestration layer for Azure Functions, the thing that builds workflows that are the anchors to business processes. Azure Functions do the stuff and Logic Apps provides the orchestration and organization, including a neat forms-based way of defining the flows that's probably beyond the average Word user, but might be in range for someone familiar with building spreadsheets.

The pair are already pretty tightly integrated with Office, and as Microsoft makes Office more cloud-centric that level of integration is likely to increase. There are also connectors to third-party applications like Salesforce, and even with some social media applications. We can visualize Azure Functions with Logic Apps as a kind of cloud-hosted maestro, guiding signals to do stuff and coordinating multiple disconnected sets of activities. You can run a function when somebody saves a particular PowerPoint, which can then set up meetings to discuss it by blasting it out on Twitter or adding it to calendars. At the time the meeting is scheduled, you could have little functional elves connect with the scheduled participants. Audio, video, recording, whatever you like, and you could also index recordings of the meeting with the references to the PowerPoint that got things started, or even to specific slide titles.

How about this? If a client drops in for a surprise visit, might the event of their arrival then signal the collection of both information and key people to make the meeting optimally effective? Tweet the client on arrival to provide the meeting room location? Could a call to a help line be managed this way, marshalling human and information resources? Could you write a complete call/contact center in Azure Functions? I asked a friend at Microsoft Azure this question, and he paused, then said, "We're getting there, for sure."

Bet on that. If we have "connectors" that can look into applications and generate events at specific points, not only do we have a way of automating application integration across a wide variety of tools we use almost daily, but we also have a way of organizing the workers behind the work. Collaboration could be built by linking both the traditional and social-media communications tools we use, to what we're collaborating about -- yes, the documents and spreadsheets and presentations, but also all the things that applications know about and humans have to discuss or review. That, friends, would be a true revolution!

Follow Tom Nolle on Google+!
Tom Nolle on Google+