Let's say I have a website on the azure webapps which is always scaled at 10 instances.
And then I do some code changes on the website and re-deploy to the webapp which still is scaled up to 10 instances. Would it be possible that something might go wrong and that not all the instances assemblies would get updated? is this an issue that could happen?
Haven't found much about it when googling but perhaps anyone here would know more about this scenario.
BR
Joe
Your application files are placed in a network share and not copied to many servers. The share is then mapped to the machine(s) running IIS as d:\home. The folder contains your app files, logs from iis, etc. When you deploy your file, they are placed in the common UNC share. So all the instances see the same files.
More details here: https://azure.microsoft.com/en-in/documentation/articles/web-sites-available-operating-system-functionality/
Related
I've a dedicated machine with at least 6 diferent asp.net 4.5 applications where the developer deployed compiled versions. This apps are all working fine now, but I haven't access to source code.
Now I want to deploy this apps to Azure, but not to a VM, to an Azure Web App Service. Is it posible?
Thanks in advance!!!
Quite possibly. We can't say for sure without more information.
You'll need to FTP all files from your existing root directory/directories to your new Web App. If it's a vanilla ASP.NET web app and there aren't any dependent issues (such as databases on other servers that you cannot move or poke holes through firewalls), it should work.
There are many considerations. For instance, if the applications have dependencies on specific drive letters, you won't be able to mount those drives.
This is just one example, you can take a look at the restrictions that are imposed on Web Apps: https://github.com/projectkudu/kudu/wiki/Azure-Web-App-sandbox
The best way to know, is to create a new site, deploy the files, and see what breaks.
At present we're hosting an application called RenderServer which is deploy on server for individual client. It has its own web.config file for all the settings, and the application code for a specific user.
In case of Shared hosting where multiple RenderServer would be running on same machine for different clients, we have to deploy all the Code files individually for everyone which is a bit hassle in terms of deployment.
So Ideally we are looking to have Single Application Code deployment (I mean single virtual directly folder) for all web sites to share the same code.
Please give your suggestions whether it's possible or not and if possible then what are possible ways.
One of our clients has a Java EE application. We would like to develop a new project using ASP.NET/C# by hosting the application as a sub directory under this Java EE project.
My questions are:
Will the .NET application run smoothly?
Do I need to keep anything in mind before I make a promise to the client?
The way you strucure your projects do not affect the behavior of your applications at all.
However in the end, each of the compiled and not compiled resources need to be configured propoerly to their proper Web Server, you shouldn't have any problem at all.
IIS has its own directory and Tomcat(or whatever you are using) will have its own directory.
Just let him understand that there is no sense on sharing the projects in a single root folder if the projects are not going to be related at all.
The only way to make them interact is by means of services and queues that you can orchestrate in any of both technologies.
UPDATE
let's suppose that:
you are using default of both web servers: your IIS need your applications to be copied to c:\inetpub folder whereas tomcat uses the $CATALINA_BASE system variable to locate their own folder. That won't be a problem at all.
Now, let's suppose that your client chose the same exact folder to be the root of your websites in tomcat and iis, (very bad maintenance decision by the way)
you could also separate both environments by having two folders : JAVA and DOTNET
Now let's suppose your client won't accept any logic suggestion, and you have to merge java files and aspx files, technically there won't be any issue because each web server will handle requests for very different issues, however, if you are also using the same resources, let's say a picture used in both pages, you will have locked-files issues, your iis can only respond for its own behavior and tomcat will only respond with its own behavior.
So in summary, technically speaking it could work, performance will be hit on your hard drive, it all depends on the request loads of each app, but overall it is a bad infrastructure design.
hope it helps,
Bad design aside, I have a web application that has dependencies on several folders in another web application.
I've successfully made virtual directories for bin, several folders under App_Code folder, but I'm having trouble with creating a virtual directory for App_GlobalResources. I'm getting
"App_GlobalResources maps to a
directory outside this application"
error when building my app.
NOTE I do not have the trailing slash at the end of the directory in IIS.
My environment is Windows Server 2003 32 bit, Visual Studio 2010.
I would be surprised if this worked as I believe that .NET loads up non-compiled resource files using physical (but relative) paths. So, my first instinct would be to say that you cannot remap the resource folders using virtual paths. However, you could play other tricks like using an NTFS junction point. I would highly, highly recommend against this as you will shock the hell out the person that discovers this solution but in theory it would let you map App_GlobalResources to something else.
I havent tried them, but asp.net lets you write your own custom resource providers.
http://msdn.microsoft.com/en-us/library/aa905797.aspx is a start, with a databased example.
I have a presentation web farm with four load-balanced servers. I have one web application with two website domains that represent that application. Rather than constantly push to two different folder locations, I figured I can push to one location and have a virtual directory on each website point to the single folder on the webserver.
Here is the setup:
The load balancer is CoyotePoint. The web framework is asp.net 3.5. IIS 6 (slowing moving to 7).
I'm concerned about performance in a production environment. Are there any ramifications to having two websites with virtual directories pointing to the same directory on disk? Should I also be worried about application pools?
I think I found what I was looking for. It's called CentralizedWebFarmManagement for IIS. Specifically, I think the Shared-configuration, and Web Deployment Tools for Web Farm is exactly what I need!
It depends on what this application is doing. If you're doing anything at all fancy with System.IO you're going to run into issues.
There are other ways to make the pushing of files easier. I highly recommend creating a quick bat file with a few robocopy commands in it.