Solved

Migrating methodologies for webservers/websitesQuestion

Posted on 2011-02-20
7
326 Views
Last Modified: 2012-06-21
Migrating methodologies for webservers/websitesQuestion:
This is a migration methodology question.

I have an existing quality assurance webserver for IIS6.
I am creating a new quality assurance webserver for IIS7.

I need the website names to be the same on both servers, so it appears I cannot publish them from the IIS7 qual server, as IIS6 has them in use.
The only way I can think to get around this is to allow the developers rights to the IIS7 server and test locally from its browser, using a host entry pointing it to the website and its new ip on this box.

I am seeking other methods, thanks.

0
Comment
Question by:Johnjaysmith
  • 4
  • 3
7 Comments
 
LVL 12

Expert Comment

by:mwochnick
ID: 34939319
so if they can test locally from the local browser they should be able to test using another dns name.  So if you current web site it http://foo.bar.com you should be able to setup a test site on your new IIS server with a name like http://test.foo.bar.com and then once it checks out then you can flip the original dns name to the new server
0
 

Author Comment

by:Johnjaysmith
ID: 34939359
The server can easily be changed in dns to point to the new qual server, but the websites are still incorrect, they are named http://test.foo.bar.com, not http://foo.bar.com .    I need a method that allows the websites to retain their names.
0
 
LVL 12

Expert Comment

by:mwochnick
ID: 34939911
Maybe I missed something - are you looking to replace the old server with the new server and then turn off the old server once you've completed testing on the new server? In this case developers want to be able to validate that the new server is correct before the new server replaces the old

Or are you looking to have both run with the same name simultaneously?  to do this you would need a load balancer or ip sprayer

My recommendation for the first solution is above and should work if the developers coded using relative urls.  If they used fully qualified urls then you will need to have the developer's modify their .hosts file  by creating an entry that points the ip address of the new server to the original dns name so that his desktop thinks that http://foo.bar.com is the new server instead of the old one
0
Find Ransomware Secrets With All-Source Analysis

Ransomware has become a major concern for organizations; its prevalence has grown due to past successes achieved by threat actors. While each ransomware variant is different, we’ve seen some common tactics and trends used among the authors of the malware.

 

Author Comment

by:Johnjaysmith
ID: 34947653
Yes, the developers need to be able to maintain the websites on the (to be) old server while simultaineously being able to build to the same website names on the new server.
But the host entry on their machine could direct them to the new server websites when they choose to work on it.
And they can take the host entry out when they want to work on the old server websites.
This looks like the answer I can use to move this project along, thank you for hanging in here and understanding the question.

By chance could you tell me, if you know, what the convention is for moving to production?
Once the testing is over and the quality assurance websites are approved, how would you move to production?  The developers can bring their code over, we can use the same host tables on their workstations to get to the new-not-yet-production server/websites and then do some regression testing that doesn't update anything or retracts the updates? Or ??? what is your process?
Thanks for your help.

0
 
LVL 12

Accepted Solution

by:
mwochnick earned 500 total points
ID: 34948186
What we do is as follows:
1 we expect developers to use relative url in there links instead of fully qualified urls so for example a url in the code would look like /myapp/mypage.html - the browser would add in the http://my.domain.com to the beginning for pages served up by the same site.
2.  in the case where they need a fully qualified url - for an application on another server we support -  they would make the dns name for those urls something they would look up in a config file.  This is done so that code changes as little as possible from one environment to the next - all that needs to change is the config file.  There is a different config file for each environment , development, test, qa and production
3.  we require that the developers build a deployment script that will correctly deploy the application to test, qa and prod.  Note that this script is generally tested in the test environment, it should work perfectly for qa and prod
4. the amount of access that developers have in the environments decreases as you get closer to production - development - full access, test - the ability to execute deployment scripts and change them, but read only to everything else, qa - read only access to everything, prod read only access to log files and config files - any changes need to be made by a new deployment file - or by an admin
5.  Finally with this we allow all of the apps on our servers to be accessed internally by their internal server name.  For instance if your prod app was http://foo.bar.com and the server name was redoak3, employees on the intranet could access the app via http:.//redoak3.bar.dom

So for example assume we two applications hosted by us
Their prod dns names are
app1.mydomain.com
app2.mydomain.com

The config file for app1 in production would have the following entry
app2_dns_name=app2.mydomain.com

The config file for app2 in production would have the following entry
app1_dns_name=app1.mydomain.com

Our qa environment would look like this
Their qa dns names
qa.app1.mydomain.com
qa.app2.mydomain.com

The config file for app1 in qa would have the following entry
app2_dns_name=qa.app2.mydomain.com

The config file for app2 in qa would have the following entry
app1_dns_name=qa.app1.mydomain.com

And our test environment
Their test dns names
test.app1.mydomain.com
test.app2.mydomain.com

The config file for app1 in test would have the following entry
app2_dns_name=test.app2.mydomain.com

The config file for app2 in test would have the following entry
app1_dns_name=test.app1.mydomain.com
 etc....

So finally to answer your question about validating a new prod server - with all of the above, the developers would have to make sure the app deployed correctly to the new server with the deployment script - no manual deploys, and they could validate it by using the direct server name.  Once it was validated - then we would turn off the old server and point the dns name the new server by assigning it the IP of the old server

Now thats a lot of stuff we do, but I hope it gives you some ideas on what can be done
0
 
LVL 12

Expert Comment

by:mwochnick
ID: 34948248
btw - the deployment scripts would create any necessary folders and would delete the previous build artifacts as needed.
0
 

Author Comment

by:Johnjaysmith
ID: 34956716
Thanks so much, very enlightening. We will be making a few changes over here.
Thanks again for taking the time.
0

Featured Post

Threat Intelligence Starter Resources

Integrating threat intelligence can be challenging, and not all companies are ready. These resources can help you build awareness and prepare for defense.

Join & Write a Comment

When it comes to showing a 404 error page to your visitors, you do not want that generic page to show, and you especially do not want your hosting provider’s ad error page to show either. In this article, I will show you how to enable the custom 40…
The recent Microsoft changes on update philosophy for Windows pre-10 and their impact on existing WSUS implementations.
This tutorial will walk an individual through the steps necessary to configure their installation of BackupExec 2012 to use network shared disk space. Verify that the path to the shared storage is valid and that data can be written to that location:…
This tutorial will walk an individual through the steps necessary to join and promote the first Windows Server 2012 domain controller into an Active Directory environment running on Windows Server 2008. Determine the location of the FSMO roles by lo…

708 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

11 Experts available now in Live!

Get 1:1 Help Now