Module 3c - Describe Core Solution and Mgmt Tools - Best Serverless Tech for your Business Flashcards
Define “Serverless Computing”
Cloud-hosted execution environments, where you only worry about providing the code. The Environment hosting responsibilities are abstracted and handled for you. So for YOU it’s “Serverless”…for the Cloud Provider, they are the ones running the “server” part for you, as well as managing auto-scale and outages.
Hint: There’s a one-word definition for this
What types of events do Serverless Apps respond to?
REST endpoints, timers, messages from other Azure Services. Basically, something that can TRIGGER the app.
Serverless Apps also have the option to pay upfront and/or reserve resources (T/F)
False. Always pay-as-you-go and NO resource reservation options.
Serverless Computing is generally for Back-End processes, not for front-end/UI (T/F)
True
What is an Azure Function?
A service that allows you to host ONE single method or function in virtually any programming language:
- It responds to ONE event (Http request, a message on a queue, a message on a timer)
- Auto-scaling for high and low traffic
- Stateless environment; acts as if being restarted per request
What are Azure DURABLE Functions?
Azure Functions that can chain together to form orchestrations while maintaining state
When is it ideal to use Azure Functions?
- When you’re only concerned about the code running the service, not the underlying infrastructure
- When you need to respond to an event
- When the work to respond to an event can be completed QUICKLY…within seconds or less
What are Azure Logic Apps?
Low-Code/No-Code development platform
- Automate/Orchestrate tasks, business processes or workflows ACROSS any number of apps, data, external systems, and B2B
- You build the app by linking triggers and actions with CONNECTORS. There are over 200+ connectors in the Gallery…OR you can build a custom one with custom code
What’s the difference between Azure Functions and Logic Apps?
Intent and Pricing
Function: serverless compute, price is per execution and/or duration of each execution (CPU time)
Logic App: serverless orchestration, per execution and the type of connectors used
When you need to perform an ORCHESTRATION across known APIs, which Azure Serverless Compute Service would you choose?
Logic App. Since the APIs are well known, there are Connectors for them.
Why not Functions or Durable Functions? Takes more time and effort to figure out how to call the API endpoints through Function
When you need to execute CUSTOM algorithms or specialized data parsing/lookups, which Azure Serverless Compute Service would you choose?
Azure Functions. Since you have code freedom to customize your algorithms and other processing logic.
Why not Logic App? Overkill; you have the constructs to do it but less code concision, and it’s visually overwhelming
When you have EXISTING CODE (tasks, automation, etc) and want to migrate it to cloud, which Azure Serverless Compute Service would you choose?
Azure Functions is easier to port over. Recreating in Logic Apps may be a cumbersome task when Functions or Durable Functions could do the trick.
When you have a PREFERENCE for VISUAL (Declarative) worflows over WRITING CODE, which Azure Serverless Compute Service would you choose?
LOGIC APPS. Those who are not well versed in code syntax (Business Analysts for example), better to have them implement workflows in Logic App vs Function.
Note….Logic Apps are very much like Saleforce Workflows! lol
Use case: When my ecom store sells a product, I want to immediately update inventory. I have a Windows Service with C# code that already parses JSON objects, retrieves Event info, checks DBs for inventory counts and sends notifications. This service exists in a VM on Azure and runs once a night. What service would I use if I want to implement this workflow in real-time?
Azure Function since you have all the code. Port it over and have each Function send a message/event to the next Function in line via storage queue or Service Bus
Why not Logic Apps since this is a workflow? Because you already have all the C# code for the service. It’s easier to port it to Function + storage queue or Service Bus
Use case: I want to respond to negative customer feedback via email + coupon code through Outlook, with a follow-up scheduled in Dynamics 365. Sentiment analysis is done on the free-form comments provided, which would then trigger an event. My developers don’t have bandwidth to work on it but the customer service team could work with the Cloud Solutions team to get something going. What service would I use if I want to implement this workflow in real-time?
Logic Apps. The implementing team doesn’t need to know code, just how to use the existing Connector for Outlook and Dynamics 365 and to define the event that triggers the Logic App. This event would be triggered by Azure Cognitive Services, thus using a Cognitive Services Connector.
Why not Functions? It’s totally possible but there are no devs available to commit to the project