How does an Azure Logic app compare to Workflow Foundation & WCF hosting in IIS to Service Fabric - azure

To several developers on my team, they describe Azure Logic Apps as an evolution of Workflow Foundation.
In addition, WCF services hosted in IIS are more evolved on Service Fabric.
Are these analogies correct? Are better ones available?

Azure Logic Apps is a Platform as a Service offering to give you simple integration with a number of connectors (from SaaS to on-premises databases like DB2) out of the box. Optimized for cloud scale, simple deployments, and platform capabilities like retry policies and alerting.
It's a little challenging when drawing the comparison between Workflow Foundation and Azure Logic Apps. From a basic workflow perspective they both have similar capabilities that have control flow, scopes and call outs to actions/activities. WF is a framework so it gives you certain control over the host and storage configuration for persistence, and allows for interacting with MSDTC for local ACID transactional resources and closely coupled to WCF -- where Logic Apps is cloud hosted so you don’t need to be concerned with how to host or scale the Logic App.
Also it’s a cloud based service which relies on communication via REST for describing APIs and, as a cloud based service, relies on eventual consistency and idempotent calls instead of distributed transactions.
I guess in short I'd summarize in that yes, many scenarios that people would have historically used workflow foundation for could now use Logic Apps (and those scenarios get many advantages from the platform), but it's a different level of control and approach -- similar almost to an Azure Web Site vs. VM with IIS.

Related

Can an AZURE App Service be defined as part of a VNET?

In AWS we can define a Serverless App within a VPC. Need not be the case but is considered obviously a good practise.
Can the same be done for an AZURE App Service? I.e. can an AZURE App Service be defined as part of a VNET?
There are a couple of segments to answer your question. Here goes ...
VNet integration
Yes, you can Integrate your app with an Azure virtual network.
With Azure Virtual Network (VNets), you can place many of your Azure resources in a non-internet-routable network. The VNet Integration feature enables your apps to access resources in or through a VNet. VNet Integration doesn't enable your apps to be accessed privately.
Azure App Service has two variations:
The multitenant systems that support the full range of pricing plans except Isolated.
The App Service Environment, which deploys into your VNet and supports Isolated pricing plan apps.
If you're looking for restricting access to the App Services, the article linked in silent's comment is a good read. Especially the Access restrictions chapter.
Access restrictions let you filter inbound requests. The filtering action takes place on the front-end roles that are upstream from the worker roles where your apps are running. Because the front-end roles are upstream from the workers, you can think of access restrictions as network-level protection for your apps.
Infrastructure as Code
The blueprint (or 'cloud template') you're talking about in the comments feels like you need Infrastructure as Code to build/maintain resources for customers that all have the same structure. And while Azure has a service that's called Azure Blueprints, I think that would be overkill for the requirements you're giving.
Azure Blueprints enables cloud architects and central information technology groups to define a repeatable set of Azure resources that implements and adheres to an organization's standards, patterns, and requirements. Azure Blueprints makes it possible for development teams to rapidly build and stand up new environments with trust they're building within organizational compliance with a set of built-in components, such as networking, to speed up development and delivery.
I think you could implement what you're looking for by creating a (parameterizable) Bicep file to enable you to create/update the resources in a repeatable way as needed.
Bicep is a domain-specific language (DSL) that uses declarative syntax to deploy Azure resources. It provides concise syntax, reliable type safety, and support for code reuse. We believe Bicep offers the best authoring experience for your infrastructure-as-code solutions in Azure.

Alternative to using Azure Cloud service in a CSP subscription

Team,
I have a complete running cloud service application upgraded to latest Azure SDK version and unfortunately need to dump this into a CSP subscription. But I came to know that Azure CSP supports only the Azure Resource Manager model, the cloud service is a classic deployment model. So we cannot create a cloud service within a CSP subscription.
Is there any other alternative within Azure CSP to using "cloud service" so that we can migrate with minimal changes. Please help
Firstly, here are some good reads on Microsoft Docs to help comparing the options available and make decisions based on your requirements:
(I mean requirements like Hosting features, Service Limits, 3rd party software installation and RDP access is required or not, Network isolation to a separate VNET is required or not, Cost considerations, minimum SLA, Regions available, instant deployment and auto-scaling, state management etc.):
Azure App Service, Virtual Machines, Service Fabric, and Cloud Services comparison
Decision tree for Azure compute services (This one covers a big spectrum.. simple virtual machines, Batch, Functions, Containers, AKS, ServiceFabric)
Criteria for choosing an Azure Compute Service
Also know that when looking for alternatives, it's not uncommon to make use of multiple compute or other Azure service options by breaking up an older solution into parts at the time of such migration (for e.g. A serverless compute option like Azure Function + Service Fabric + something else if needed).
Generally speaking (and without knowing much about your application from your question currently), Azure App Service and Service Fabric could be considerations IMHO when migrating from an existing Cloud Service, but this is exactly where detailed requirements help you in decision making.
On a side note, here is a list of Azure Services available in CSP - Available Azure services in Azure CSP

published webapi in Azure comes under PaaS and IaaS?

I published a web api in Azure via Visual Studio. I would like to know if it is PaaS or IaaS.
When I search for the answer, I find lot of definitions about the PaaS and IaaS.
But I did not find where it is clearly defined which services found in Azure portal are PaaS and Which are IaaS?
Thanks.
With best regards,
SR
IaaS (Infrastructure as a Service):
Cloud infrastructure services, known as Infrastructure as a Service (IaaS), are made of highly scalable and automated compute resources. IaaS is fully self-service for accessing and monitoring things like compute, networking, storage, and other services, and it allows businesses to purchase resources on-demand and as-needed instead of having to buy hardware outright.
PaaS (Platform as a Service):
Cloud platform services, or Platform as a Service (PaaS), provide cloud components to certain software while being used mainly for applications. PaaS provides a framework for developers that they can build upon and use to create customized applications. All servers, storage, and networking can be managed by the enterprise or a third-party provider while the developers can maintain management of the applications.
Source: SaaS vs PaaS vs IaaS: What’s The Difference and How To Choose
In short: with IaaS you use infrastructure (mostly VMs, networking, ...) from your cloud provider that you manage yourself. With PaaS you use an abstraction layer on top of some infrastructure where you do not manage the underlying infrastructure itself. You only manage the application and its data.
If you've deployed to an App Service, you're using PaaS. If you've deployed to a VM that you manage and runs IIS, you're using IaaS.
Another interesting read: What is PaaS?

Workflow Foundation and Azure

I have been looking into Workflow Foundation for a build we are currently undertaking.
I have a proof of concept and have been using IIS AppFabric for tracking, faults, and persistence to SQL which are key to our new build. We are now looking to Azure for the hosting of the workflow service, which i have working but cannot find any guides on how to set up the monitoring IIS AppFabric offers in terms of database setup.
I have read that AppFabric will no longer be supported as of this year, does this include Azure AppFabric. What is the best approach in Azure?
Windows Server AppFabric is retired since 11/04/2017: https://blogs.msdn.microsoft.com/appfabric/2015/04/02/microsoft-appfabric-1-1-for-windows-server-ends-support-422016/
My recommendation: You should write your workflow using Azure Logic Apps. It already offers tracking mechanisms that uses Azure Storage accounts.

Azure vs .NET Services

I am a little confused about two new technologies receiving a lot of buzz currently;
Can somebody please explain to me what the difference (or similarities) are between Azure and .NET Services?
Are they one and the same thing?
Is Azure the Cloud OS that my .NET Services run in?
Is .NET Services a component that makes up the greater Azure vision?
Thanks
You've basically got it right that .NET Services is a component that makes up part of the Azure platform. Check out the Azure Services graphic for a visual representation of the components.
Azure is composed of the operating environment and the base services that are used to host cloud applications. It provides the base capabilities (web and worker processes) as well as the simple data storage offerings.
.NET Services are the services that many applications will use to create cloud scale applications, although originally the services were mostly geared toward enterprise development. It includes the access service and service bus.
There are also a few other services that are provided:
SQL Azure is the SQL Server for the cloud offering. It is used like a regular SQL Server instance, for the most part, but is hosted and sericed by Microsoft.
Live Services are consumer focused services that make use of many Microsoft services: Mesh, Live ID, Messenger, etc.
One thing to note is that, although these services are offered as part of the Azure platform, the .NET Services should be usable from any platform. The are REST based services that can be consumed by any application that has the ability to call REST services.
Windows Azure is a cloud services operating system that drivers the Azure Platform, which is an open platform that supports/will support multiple Microsoft and non-Microsoft languages and evironments. Azure Platform
.Net Services are a set of libraries that aid in working with the Azure cloud based infrastructure services available. .Net Services

Resources