Sharing a file between two Azure App Services - azure

I need two applications hosted on two Azure App Services to access one specific file(.xml). What is my best option? What are my options?
I am trying to implement: Share authentication cookies among ASP.NET apps.
Both apps have to access the COMMON KEY RING FOLDER with the key file.
One of the applications is ASP.NET MVC, the second one is ASP.NET Core, both run on .NET472
Edit:
I need a file to be accessible for two .net applications running as appservices. I will use C#/F# to read/write the file. The file must be on Azure.

I recomend you to use an Azure Blob Storage and read the xml from there.
https://learn.microsoft.com/en-us/azure/storage/blobs/storage-quickstart-blobs-dotnet

Related

how to deploy multiple .net core application in single linux based azure app service

I want to deploy multiple .net core API application in single linux based azure app service. I can't find any documentation for that. Can any one give any suggestion or idea how to achieve that.
I have thing one option but don't know is it possible or not? Can I mount azure blob storage space in configuration/ Path mapping in app service and run application from their? is it possible or any other proper way. Please suggest.
Thank you
It doesn't seem possible.
You can refer to the answer in the post below.
Hosting Two Website Under one Web App - Azure Services
IIS can handler mappings and virtual applications and directories, you can't use virtual applications and directories in linux.
If you have more questions about azure web app, you can raise a support ticket on portal. You can also put forward your ideas and suggestions in the feedback, and optimize the product together with Microsoft official.
Hope this can help you.

Save files on Azure App Services and make them accesible from the outside

I am new to Web-Development and have therefor maybe a beginner question.
So I am having a Web-App with an Angular Frontend und .Net backend, deployed on Azure.
Now users should be able to upload files (pdf, etc.) to the server which sould be stored permanetly. I would prefer to store them on a normal filesystem, so I don't want to use a database. Futhermore the files should be accessible for external services for futher processing.
I am not sure if that is possible with Azure App Services or if I need some other components. The only way I found to store files on the server is in the "wwwroot" folder. But I found no way to download them from the outside. Should I create a Web-API for that or do I think to complicated? Should I deploy my App somewhere else? What could be a way to implement this?
Thanks for any help.
You should use Azure Storage.
In Azure storage you can find mainly two options in your case. Blob and File Storage.
Blob is "more advanced" in a sense that it serves files on the browser, streaming video and audio etc.
File storage is a replacement of an on-premises file server.
Both options support file access by external services, and in addition to authorization, both are supported with Azure AD and shared access token.

Regarding Kentico 9 site deployment on Azure

I want to deploy Kentico 9 site on Azure and want to use shared file system for my media content, can you please suggest which Azure configuration (Azure Cloud Services or Azure Web Apps) I should referred?
I'd highly recommend going with Web App over Cloud Services. Mainly because Web App is almost like running on a regular server where Cloud Services is quite a bit different and harder to work with in my opinion.
Check this article out regarding some issues with Kentico and Azure Blog storage as well as how to setup your storage provider to only store media files.
http://www.kehrendev.com/blog/brenden-kehren/may-2016/problems-with-azure-and-kentico
Could you describe what do you mean by shared file system for my media content?
From my experience - it`s (a little bit) easier to deploy (and maintain) Kentico to Azure Web Apps but they do not provide so many customizations - in my humble opinion - the biggest one is you are not able to connect via remote desktop (but this is supported by Azure Cloud Services).
Please note - if you are using Cloud Services you must use Azure Blob Storage - source - which could be in conflict with your requirements.
You can find more information about Web Apps vs Cloud Services vs Virtual Machines on the mentioned page.
TL;DR; - if you do not need customizations, remote desktop and startup tasks - go for WebApps. If not, try to specify more requirements.
You can also check comparinson of the technologies from the Microsoft`s point of view here.
It's not clear who you want to share the media with...
If you want to share the assets amongst more Kentico instances or with a 3rd party system, I'd probably use the Azure Blob Storage. Kentico comes with a dedicated file provider for this exact use out of the box. It's called CMS.AzureStorage.
Using the blob storage is not a limiting factor in terms of hosting your app. You can still use all available options: Web Apps, VM or Cloud Service. There are some technical implications, of course. But they're all described in the documentation.
I recommend checking the comparison matrix to find a hosting option that suits your need best. Kentico recommends using App Service (Web Apps) for most projects as it's easiest to maintain. However, you can't use certain features like Kentico Windows services, for instance. Question is, do you really need them?

How secure are Azure WebJobs?

Can a user of my web application access the executable of my Azure WebJob by any means in order to steal code or any other such information in files that were deployed alongside with the WebJob?
No, that is not possible. Only the owner/contributors of the containing Web App have access to the files (the same people who can publish).

Accessing Azure Storage Services from Azure Websites?

I'm curious to know if this is possible, and if so, is it a good or bad idea?
We are developing an Azure application that is largely centered around worker roles that receive their work on a CloudQueue, and put the results in a CloudBlob, that the client then downloads. The web interface itself is a dead-simple ASP.NET MVC site that throws jobs in the CloudQueue, and builds URLs to download CloudBlobs.
Currently we accomplish this by having a Azure Cloud Project in our solution, which has a Web Role with the UI, and Worker Roles with the actual work.
Could we use Azure Websites to publish and host the UI, which calls back to our Worker Roles? The Azure DLLs are just regular old .NET libraries, I'm assuming Azure Websites won't have a problem with them. So, when we want to update the UI, we just publish with Visual Studio. And when we want to update the Worker Role - which is 300MB+ and has a bunch of nasty dependencies like Crystal Reports - we can build the cloud bundle and update the Cloud Service through the Azure management portal.
This seems to me like doing this would make it easier to update the UI. I think it would also be cheaper to host it, as we won't have to buy a bunch of instances for the Web Role.
If your question is "Could we use Windows Azure Websites*", based on your application architecture, you sure can use Azure Website to deploy your front end and configure all the networking connection properly so you can continue access other Azure Storage services. As you are using mostly Blob and Queue, you can continue use HTTP/HTTPS settings in the Azure websites. You can keep worker role by as it is however if it is very complex to deploy, using Windows Azure VM may be another direction to go.
I could say website deployment could be easier if your web app does not have something complex to configure in web server as websites may not be able to match web server level configuration compare to webrole and Azure VM. Answering "Easier and cheap" could be very subjective as this is all depend on load and distribution so you would have to try and evaluate it.

Resources