Laravel Observers
April 26, 2021A Simple And Powerful Git Version Control Workflow
May 31, 2021Azure logic apps is a fast and easy method of manipulating data by the use of something called logic flows. Data is input one side and a few tweeks and turns later, we have a desired outcome with very little actual coding needing to happen. As easy and as fun as this sounds, there are some definite ups and downs to this method of data manipulation and in this blog I hope to shed some light on them.
Pros
- Azure logic apps is very easy to learn to and to get a grasp of. When I started I had never even heard of Azure logic apps, but within in a couple of hours I already had a rough prototype of the project I wished to build. Azure logic apps is simple and very user friendly with many explanations to help guide you to build your desired project and get the outcome you want.
- As Azure Logic Apps has only been out for the past 4 years or so, there are not that many tutorials or examples to learn from but even so, due to its simplicity, any example or tutorial you find is bound to have something in there for you to help you along. I would look at projects and YouTube videos on Azure Logic Apps for things that had no relevance to my project but had elements within it that helped me answer some of my smaller and more detailed questions.
- Azure Logic Apps is designed in such a way that you are able to easily track the 'flow' of the data and see how it is manipulated in each step. This makes things like bug fixing incredibly easy as you are able to pinpoint the point of failure immediately and then make changes to only that one small section without potentially breaking the rest of the flow. This also makes moving and placing certain functions in different locations very easy as all you need to do is drag and drop!
- Very little and dare I say, no coding experience is actually required to create a project in Azure Logic Apps. Yes you may be limited in what you can actually create using just the functions and methods provided by the program but it is entirely possible to build a fully functional simple project. This however shouldn't limit you as you can just as easily go into the 'code view' and add in more custom and intricate methods manually should you deem it necessary, thus allowing you to build a more custom project.
Cons:
- Due to the relative infancy of Azure Logic Apps, it still can't account for absolutely every single need and desire of the developer and writing custom methods to accomplish certain tasks can be a little tricky and tedious if the desired function isn't already provided. Azure Logic Apps is relatively limited in the functions it has at its disposal and even with all of its flexibility and easy to use interface, it is still fairly linear and coding within the lines of those rules can be a bit of pain sometimes as it means you have to try and think of convoluted ways to ultimately get the outcome you want whilst still 'playing by the rules'.
- Like all other projects, whether they need to be build in Visual Studio Code or Azure Logic Apps, planning and mapping your project out is essential as I had to learn the hard way. Knowing where a method or a particular branch should be in relation to everything is or where a simple 'If-Else' statement should be placed is of paramount importance. Logic Apps is slightly forgiving in this way as you can relatively easily drag and drop where you want the required method to be but sometimes this is not possible. Should a method further down require the output of the method you wish to move, the system will not allow you to move the method in question. This can lead to a lot of hair pulling and ultimately, having to delete everything you created after the method you wish to move and then rebuilding it all again in the correct location. But this outcome is fairly rare and can be easily avoided with the right amount of planning.
- Logic Apps allows the developer to create a large and complex program that can account for multiple variations in data and output just as many, if not more variations of the desired outcome by the use of conditionals and multiple branches. This however comes with its own set of problems. As your project will inevitably get bigger and bigger, it becomes increasing difficult to keep track of which branch you are working on and finding where you left off as it started to resemble something of a spider web or very large and scary entanglement of roots. This can avoided by using an appropriate and clear naming convention to help you navigate through your project.