There are occasions where you may not want to build out complex code to run large workflows, want a more graphical representation of the workflow for architectural purposes, or perhaps members of the team may not have the programming abilities to build out the complex logic (for example, a startup just looking to get an application out).
In these cases, thinking of a graphical representation of a workflow may be incredibly efficient.
This blog post will talk about the why and how around both Azure Logic Apps and AWS Step Functions, which give you a graphical approach to deployment.
What They Do
There are a lot of different ways to graphically represent an application workflow. One that always comes to mind is a product that was sold to PagerDuty years ago called Rundeck. Rundeck gave a graphical representation of an SRE workflow in terms of alerting and automating issues that may occur within an environment.
The primary goal with any of these tools is to, like many other tools in various categories, reduce complexity.
The reduced complexity typically works for teams who either:
- May not have the expertise in-house for each of the services, but still need to use them for workloads.
- Teams that just want an easier way to implement workflows.
The ultimate goal for these tools is to give engineers a method to create complex workflows without having to write a ton of code. It’s a No-Code solution.
💡
The two hands-on sections for AWS Step Functions and Azure Logic Apps are a bit more high level in the sense that it’ll show you how to get started and build a few tasks, but won’t deep-dive into a production environment configuration.
Why They Help Dev Teams
Have you ever seen one of these diagrams explaining algorithms?
They typically pop up in Computer Science books and anything that explains engineering concepts.
The goal of these diagrams is to show a particular workflow. Cause and effect. What happens “here” impacts what happens “there”. You’ll also see it in a lot of true/false statements. If something good happens, the code continues. If not, you get an error or some type of output or action based on the code not working as expected.
Tools like Logic Apps and Step Functions go through the process in a very similar way. You have an action that starts at the top and the goal is to have several actions completed by the time the workflow reaches the bottom.
In Step Functions via the screenshot below, you see the same algorithmic walkthrough.
The workflow starts at a Lambda Function and it goes through each step. At the end, you have a payload that’s sent to an S3 bucket.
In short, Step Functions and Logic Apps allow you to build complex workflows without building them piece by piece. This is great for some teams that don’t want the complexity.
AWS Step Functions
Now that you have a bit of knowledge around why you’d want to implement these “No-Code” solutions, let’s dive into setting up a few of them. First, you’ll see AWS Step Functions and then you’ll take a look at Azure Logic apps.
First, within the AWS portal, type in step functions and you’ll see the Step Functions button pop up.
When you access the Step Functions service, you’ll be prompted to:
- Use a Hello World demo.
- Choose from an existing template.
- Start from scratch.
For the purposes of this blog post, you can use the second option.
From within the second option, search for “EKS” and you’ll see a Managed an EKS cluster option, which is a pre-defined Step Function.
After choosing the Step Template, you’ll be asked to either run a demo or build on it. For this case to see how it works, choose the Build on it option.
You’ll see an output similar to the one below.
The below Step Function indicates, as described in the name, the steps that your workflow will take to run the full job (the job in this case being an EKS cluster creation).
Within each task, you can edit and configure it how you see fit.
There are some other features which include exporting the config so you can modify it from a code perspective and save it as a picture, which can be used as a diagram later.
Next, let’s see how Azure Logic apps work.
Azure Logic Apps
Now that you have some experience working with AWS Step Functions, let’s see the service in Azure that is the closest to AWS Step Functions, Logic Apps.
Within the Azure Portal, search for Logic Apps and you’ll see the service pane pop up and look similar to the screenshot below.
Click the + Add button and you’ll see four options:
- Multi-tenant
- Workflow Service Plan
- App Service Environment V3
- Hybrid
All of which have explanations via the Azure portal.
For the purposes of this blog post, choose the Multi-tenant option.
Within the Logic App you created, under Development Tools, you’ll see the Logic app designer. This is where you can begin to create workflows.
Click the Add a trigger button.
You’ll see a list of available triggers for various services even outside of Azure.
Unfortunately, there’s nothing that has any Kubernetes or VM workloads. It seems like a lot of the workloads are geared toward serverless or customer app-specific workloads like Buffer. For example, if you create a logic app with Buffer (a social media post scheduling service), you can get notified when a post goes out or a post changes.
Oddly enough, Azure Logic apps definitely have a different feel to the service. AWS Step Functions felt a bit more “Dev friendly”.
Closing Thoughts
AWS Step Functions definitely seem better for engineers who may want a less comprehensive method of working on workloads without coding a ton. Azure Logic Apps feels geared more toward folks who want to perform particular actions outside of engineers (like the Buffer example).
Overall, it feels like AWS’s solution is much better for the engineering audience.
Top comments (0)