I currently have a few websites that are running in IIS and they all have a virtual directory to another website called "Resources". On the resources website I have images, css, and other static type content that I share across multiple sites.
I want to replicate this using web roles. Yes they all need to be in a separate web role because they belong to different clients. I would like to just create a separate website for resources and have virtual directory from each of the other sites. Please advise if this is possible or if I need to keep these sites on a VM.
Yes such a solution is possible. You can move your static resources css, images etc to azure blob storage and link it from there. Code change required. If you think you need a content delivery network CDN you can use azure CDN. See this blog post explaining it www.hanselman.com/blog/PennyPinchingVideoMovingMyWebsitesImagesToTheAzureCDNAndUsingACustomDomain.aspx
A slightly older stackoverflow question explains it too.
stackoverflow.com/questions/6968011/storing-css-files-on-windows-azure
You cannot attach a shared disk, since disk-attaches have exclusive leases.
The Azure File Storage service provides an SMB share (backed by Azure Storage). By attaching to the share at startup, you'd be able to take advantage of a shared folder. More info on Azure File Storage here.
You may also populate a shared-content directory on each web role instance, at startup, by downloading content from a common source (e.g. Azure blob).
Aside from those built-in mechanisms, there are any number of custom VM-based solutions.
Related
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?
I'm building an app involves user uploaded content (images, docs, pdfs) and would like to consider azure web apps for the hosting solution. Of particular interest is the deployment slot feature.
I understand that using the deployment slots prevents me from storing the user content in the filesystem.
I'm not excited about using blob storage for the user uploaded content because that really ties my app to Azure and would make it difficult to move to another host or implement a vendor redundant DR site. Database storage isn't all that exciting to me either.
Ideally the web app would have a virtual directory mapped to that blob storage but I understand that isn't a possibility.
Are there any good solutions to this issue?
You can add web apps to a virtual network that allow you to store content on file shares on other machines in the vnet. Doing so allows the webapp to communicate with other machines on the network where you can configure a file share.
You could point the website to the share via the web.config/application settings section of the portal to point deployment slots to different shares, etc.
Here's an official link: https://azure.microsoft.com/en-us/documentation/articles/virtual-networks-create-vnet-arm-pportal/
Quick question. I'm looking to deploy a website to Azure using websites.
I read a comment that stated that the file system is shared across multiple instances of the website?
Is this true?
Does this mean if I upload an image to the file system
on one instance, all requests on the second instance will have
access to the file?
Are the files synced across the instances or do
they all point to a single drive i.e. in the blob storage somewhere?
We will be deploying an Umbraco 7 site, so I still need to test for any issue this might have on the lucene indexing etc. Does anyone know of any complications with Umbraco 7 and this method of deployment?
Thanks in advance
Gordon
The answer from bedane is incorrect. This question is about Azure Web Sites (not about Azure Web Roles)
1) Yes it is true. Azure Web Sites stores your content using Azure Storage blobs that are mounted and presented to the web site as a common share that is read/writable.
2) By virtue of 1), when you upload the file you are uploading it to the common share and therefore all instances will see the upload immediately.
3) The instances all point to a single drive (just repeating point 1)
This architecture for Azure Web Sites was designed specifically to enable applications like Umbraco, Wordpress, etc. that install plugins and make changes directly to the site content directory. This design point fixes the problem that currently exists in Azure Web Roles.
I have a single page html application, that uses a lot of jQuery. The app content (data as xml and media audio/video/image) is (and has to be) provided by blobs on azure account. I don't need any application server.
What is the recommended way to host such single page html application on Windows Azure Environment (Azure is a requirement).
As I do not need any application server, all application files are currently uploaded into single container as Blobs with appropriate content types. It all works very good.
Still, I've seen that Azure has some website hosting capabilities I've been wondering if what I did is appropriate?
Thanks
Windows Azure Web Sites would work well and could be free for the duration. If the constraints of the free offering don't work for you, you can scale out easily.
You could also store your home page in Azure blob storage, but that means users would have to have the full path to it as there's no server configuration to specify a default page. Publicizing your site endpoint via a vanity URL from bit.ly or the like could make that a non-issue though.
Do note though, that by having everything in blob storage, you're incurring a transaction cost for every image, every page, every script access (that's not cached on the browser that is). Depending on the nature of your site and traffic, it could be more cost-effective to leverage something like Windows Azure Web Site for some of this.
I'm considering moving from a dedicated server hosting environment to Azure. I'm using the ASP.NET Membership provider and every member has their own folder that houses their images (avatar, etc.). I have the Tinymce ImageManager wired up so that a logged-in user will only see their folder when selecting/uploading an image.
Is there a way to wire up the Tinymce ImageManager to Azure's blob storage in a similar way?
This thread on their site indicates that this is not yet supported:
http://www.tinymce.com/forum/viewtopic.php?id=24776
The only way I see this accomplished is for you to rewrite parts of the Image Manager that perform I/O operations on the HDD. Which is no a rocket-science to implement.
Another way to move to Azure is to move your site for Windows Azure WebSites.