Interview questions and answers on Logic Apps | Interview questions for azure logic app developers


This post intends to cover the answers to the questions which a Integration developer can face at an Interview in relation to Logic app and BizTalk. 



1. Is Logic App replacement to BizTalk server?
-   No, it is not. 

    It is a cloud based workflow as a service which compliments BizTalk. But with the rapid adoption of cloud, the interfaces built on BizTalk are getting migrated to Logic App.

2. Can logic app connect to applications on non Azure cloud?
-   Yes it can. 

    There are 220+ connectors provided by Microsoft itself which helps to connect to various applications which can be on-prem, on some other      cloud platform etc.

3. Like BizTalk, does logic app persists data?
-  Logic app does not persists data automatically like BizTalk does, but        you can persist data explicitly if you need to. 

    You can persist data in SQL Server, MySQL, Blob storage, Cosmos DB      and PostgreSQL etc.

4. Suppose there's a logic app created and it should only be accessed by another logic app, is it possible to do?
-  Yes, we can limit  logic app access, to allow only from another logic app.

5. What is used for development of Logic app?
-  Logic app development can be done online by using Azure portal and      offline by using visual studio by adding the required supporting sdk.

6. What is difference between Logic App and Power Automate(Microsoft flow)?
- Power Automate is targeted for Business users(for using that they need to get License) whereas Logic app is targeted for developers.

Power Automate is build on top of Logic Apps however it is meant to be truly a “no-code approach” to build automation and integration.

And it does not support any Enterprise connectors, no governance and no Integration with Azure DevOps for CI/CD deployment.

7. How is logic app instantiated?
-  Logic Apps gets instantiated(started) by a Trigger. 

   Trigger types available are : 
   Http
   HttpWebhook
   Request (endpoint)
   Recurrence (schedule)
   ApiConnection
   ApiConnectionWebhook

8. What are the mechanisms supported by Logic App Trigger?
- Logic app trigger support following mechanisms
  •  Schedule (Time based)
  •  Push (Client application pushes the data to Logic App e.g, Http Trigger)
  •  Pull  (Logic app probes the client application for data, if found it fetches the data e.g., Servicebus queue trigger)
  •  Manual (Irrespective of trigger used, Logic app can be manually trigger with the help of Run )

9. What is an Action in Logic App?
- Each step in a logic app is an Action. It can be anything from control workflow actions (condition, foreach, switch, terminate etc), data manipulation actions (compose, filter array, .create csv table, join etc), integration account actions( xml validation, transformation, flat file decoding/encoding etc) etc.


10. What is difference between Action and trigger?
- Trigger is also an Action but a special action. It is the first action in the workflow which has the capability to instantiate the workflow. It may or may not contain data associated with it.

11. Why Run After property not available with Trigger?
- Run After property supports 4 status - Success, Failed, Skipped, Timeout. 

The successor(next action) relies on the status of the predecessor(previous action), so accordingly it decide what to do. 

However in case of Trigger there is only one status i.e. success . Only if trigger is success then next step in workflow comes into picture. 

Just think, if you fail at first step - there can't be next step. But yes, you can retry and that property is available with Trigger.


12. Can we Clone a logic app from one resource group to another resource group?
- No. This option is not there.

You can clone logic app only in same resource group and in same subscription.

13. How is Logic App Charged?
- Based on the deployment model chosen
  • ISE - Flat cost (Fixed)
  • Consumption - Per action execution is charged
  • Standard - Based on a hosting plan with a selected pricing tier.

14. Can we have long running logic app?
- It depends on the deployment plan you have chosen.
For ISE maximum is 366 days, whereas 90 days for consumption and standard stateful and 5 mins for standard stateless.

15. Where is apiConnections used in Logic app stored?
- Although ApiConnections are created and used in Logic app, they are an Azure resource. Thus like other resources, this too is stored in Resource Group.

16. Can we instantiate a particular logic app with more than one trigger?
- Yes, it is possible to have multiple triggers for single logic app.

But this can be done only via code view, with designer view it is not supported yet.

17.Can we have multi source map used in Logic app?
- No. As of now it does not have that capability.

18. Is it possible to parameterize logic app?
- Yes.

19. A Time scheduled(recurrence) Logic app is in disabled state, so it will not get triggered as per schedule. But suppose I want to test it without Enabling it, can I run the trigger manually?
- Although the logic app is in disable state, you can manually run the trigger but it will notify you saying- " The workflow is disabled. Please enable your workflow and try again."

20. What will happen if I disable a Logic app after few of it's instance are started/triggered.
- Once you disable the logic app,  trigger becomes inactive i.e. new instance won't be created.

However the instance which have already started won't be impacted and it will continue to process.

21. How do we provide security on logic app?
-  When talking about security of Logic app, there are various level which can be considered.

Like
i. Who can access the logic app (Read)
ii. Who can create and delete the logic app (Read and Delete)
iii. Who can access the Logic app history data (trigger and run)
iv. Should the data that is going in and coming out of an action be hidden
v. Should the access be restricted from the unknowns and allow only the trusted ones (ip address restriction)
 

22. Is it possible to resubmit logic app, if its disabled?
- Yes, it is possible.

23. For what purpose can Tracked properties be used?
- It is an additional capability of logic app, which helps you to track specific property from action's input or output. 

If you have worked on BizTalk, it is on the same line as Tracking Profile (BAM)


24. I have http trigger based logic app and it has to be tested, but I don't have provision to use any tool(like Postman, ARC etc) nor am allowed to call it from any application. Can I test it?
- Yes, We can test it manually with the option "Run with Payload" where we can provide the  body.

25. I did some changes in existing logic app, but later it was not required. Can I rollback to previous version?
- Yes. It can be done. Here we use the version feature available in Logic app, select the version which you want and promote it.

26. How does Logic App resolve Agreement?
- Logic app requires the EDI messages having the qualifier and identifier fields for sender and receiver in order to perform agreement resolution. 

It will match the values of ISA5, ISA6, ISA7, and ISA8 in the interchange header with those in the properties of an agreement.

27. Can we use api connection created in one logic app in other logic App?
- Yes, it is possible. Api connection is in itself an resource and can be reused as needed.

28. Is data persisted in Logic Apps?
- Here the answer is Yes and No. Depending upon the chosen workflow type

Stateful workflow : Workflows save and transfer all the inputs and outputs for each action and their states to external storage.

Stateless workflow: No external storage, everything in memory - no persistence of data.

Above two are options available in Standard offering, whereas for rest it is Stateful (thus we can see history details)


29. Can a serverless Logic app access resources which are on premises?
- When we say serverless, it means we have created Logic app which runs in consumption plan.

As per this plan the servers are not fixed, it is added and removed as per the load/demand. Thus there is no fixed set of IP address.

And because of this integration with network on premises is not possible directly.

However, with the help of On-premise data gateway it can be made possible.

Read more about it in following posts-
30. Can we declare/initialize a variable inside a scope in Logic App?
- No . By design it is not allowed  Variable cannot be initialized in Logic App scope


31. Can we implement Try..Catch block in Logic App?
- Yes. We can implement it with the help of Scope shape. First scope encompasses the steps/business process/logic and another scope encompasses the steps to take when exception occurs. 

And configure second  scope's run after property to run only when first scope fails or times out.

32. What is difference between trigger() and triggerBody() ?
- Both are related to the output of the trigger in the logic app.

trigger() is an Azure Workflow built-in FUNCTION, which refers the entire trigger object (including headers and body) and is shorthand of trigger().outputs

Whereas triggerBody() is shorthand for trigger().outputs.body thus it only points to body part of trigger output and it's type is String.

33. Can we access output of an action or variable from Try scope in Catch scope(which executes on Try scope failure)?
- Yes it can be accessed.

Provided that the action or variable which you are trying to access is successful in Try Scope.


34. Can we have multiple workflows defined in a Single Logic app?
- Yes and No.

If you are going with Consumption plan then it is not possible as there is one to one mapping i.e. one workflow - one logic app.

But if you are going with Standard plan then there is provision to have one to many mapping i.e., many workflow - one logic app. It is on the same line as Azure Function app having multiple functions in it.






If you have questions or suggestions, feel free to do in comments section below !!!


Do share if you find this helpful .......
 
                        Knowledge Sharing is Caring !!!!!!



Learn More about Logic App

Post a Comment

If you have any suggestions or questions or want to share something then please drop a comment

Previous Post Next Post