Flow in Office 365 Vs. Logic Apps in Azure

Microsoft Flow
Azure Logic Apps

Microsoft Flow in Office 365 and Logic Apps in Azure are both options for graphically driven process automation.  With a graphical interface and a flowchart-like design, Microsoft Flow and Logic Apps make automation about as simple as it can get.  These two applications are similar but different in some important ways.  This article goes over the difference between the two to help understand the best situation to deploy each.

Flow is Logic Apps

It is easy to see the similarities between Flow and Logic Apps by examining the interface of the two.  Below shows the same flow that sends a tweet when items are updated in the PowerShell blog RSS feed. 

Flow RRS
Logic Apps RRS

The similarities are apparent, and there is a good reason for that.  Logic Apps is the engine behind Flow.  Essentially, Flow is a user-based interface for Logic Apps.  Both Flow and Logic Apps provide the ability to create automations using a similar interface and an almost identical set of connectors. 

Why Two?

At this point you may be asking yourself “self, why did Microsoft make two versions of the same product?”  The answer to that is simple when examining the context in which they are used.  The example above sends a tweet every time an RSS feed is updated.  An organization would probably not consider that as mission critical.  If a user creates the flow above, leaves the organization and the O365 licensed is removed, the Flow will stop working.  No big deal.

However, the natural progression is to use Flow beyond trivial tasks once users start working with it and see the potential.  Need to send a message when a new email comes to the Customer Service inbox?  No problem.  How about building an approval process when a new item is added to a SharePoint List?  There is a flow for that.  With hundreds of connectors in Flow, the possibilities for automation are endless. 

Now, imagine an important automation was built in Flow and the person who built it left the organization.  That Flow would stop working and disrupt business processes.  This illustrates the main difference between Flow and Logic Apps.  Microsoft Flows security context and license is based on a user.  Logic Apps, on the other hand, is an enterprise solution built in Azure and charged by a consumption-based model. 

Logic Apps provides centralized management and monitoring of automation.  Development can be done by a single person or a team.  Management is handled by administrators and Role Based Access Control (RBAC) is used to assign permission to Logic Apps.

How are they Different?

From a functionality standpoint, there is not much difference between Flow and Logic Apps.  There are some other important distinctions between the two.  Listed below is a summary of the major differences.

  • Flow is part of an O365 or Flow license.  Some features and the number of automations that run a month are limited to the license assigned to the user who created them.  Logic Apps is part of an Azure Subscription and billed on a consumption model. 
  • Flow has a mix of standard and premium connectors.  Premium connector availability is dependent on the licensing level.  Logic Apps have Standard and Enterprise connectors.  Both Standard and Enterprise are available in Logic Apps, but billed at a different rate per execution.
  • There are more development options with Logic Apps compared to Flow.  Flow is limited to a browser-based experience while Logic Apps can be created in a web browser as well as in Visual  Studio.

Summary

Both Microsoft Flow and Logic Apps are wonderful tools for graphical based automation.  Like any tool, there is a correct and incorrect way to use each.  Flow is the best option for personal automation while Enterprise workflows are more suited for Logic Apps.  The challenge is to prevent Flow from sprawling into enterprise workflows.  An awareness of the difference between the two is a good start.

How to use a Free GitHub Account to Manage Azure Automation Runbooks

Azure Automation

Controlling source code is important for good code management, especially when multiple people are working on a project.  In this video, I’m going to show you how to connect an Azure Automation account with a free or paid GitHub account.

Continue reading “How to use a Free GitHub Account to Manage Azure Automation Runbooks”

Webhooks and Azure Automation Runbooks

Azure Automation

Overview

Azure Automation is Microsoft’s cloud-hosted automation solution.  It uses Python or PowerShell based scripts, referred to as runbooks, to launch automation jobs in Azure or on-premises.  These runbooks are started in multiple ways.  The information below details starting automation jobs with a webhook.

Continue reading “Webhooks and Azure Automation Runbooks”

Update Management in Azure Automation

AzureAutomation

Azure Automation Update Management is part of Azure Automation. In this video, I’m going over updating servers using Azure Automation Updates. Topics covered include: Continue reading “Update Management in Azure Automation”

Parent Child Runbooks and Shared Variables with Azure Automation

AzureAutomationIn this video I go over the two methods of starting a runbook from another runbook.  This is referred to as a parent child runbook relationship that facilitates a modular approach to creating runbooks.  I go over the two different ways to start a child runbook, by Inline Execution and with the Start-AzureRMAutomationRunbook cmdlet.  Continue reading “Parent Child Runbooks and Shared Variables with Azure Automation”

Create and Run PowerShell Runbooks in Azure Automation

AzureAutomationIn this video I demonstrate how to create and run Azure Automation PowerShell Runbooks from the Azure Portal.  This includes editing, publishing and scheduling runbooks.  I also walk through the setup and use of the Azure Automation PowerShell ISE Add-on.  This module adds a graphical interface in PowerShell ISE for creating, testing and publishing Powershell and PowerShell Workflow Runbooks.  More information on the ISE add-on here. Continue reading “Create and Run PowerShell Runbooks in Azure Automation”

Log Ping Response to Log Analytics

Today I am publishing a utility called PingTimeLog.  The idea is simple; ping a group of servers and write the response time to Azure Log Analytics. This utility is intended to be run as a Runbook on an Azure Automation Hybrid Worker.  Alternatively, it will run as a scheduled task on a server in your datacenter.  The output is written to Azure Log Analytics as a custom Type, allowing users to plot response times in a time chart.

Continue reading “Log Ping Response to Log Analytics”

Azure Automation Setup and Linking to Log Analytics

AzureAutomationIn this video I give a step-by-step demonstration on setting up and Azure Automation account and linking that account to an existing Log Analytics Workspace.  The Azure Automation account allows for the creation and scheduling of Runbooks written in PowerShell, PowerShell Workflow or Python.  Linking the Azure Automation account allows you to review and alert on the logs generated by Azure Automation. Continue reading “Azure Automation Setup and Linking to Log Analytics”