Results 1 to 12 of 12
  1. #1
    4 Star Lounger
    Join Date
    Mar 2002
    Location
    Sacramento, California, USA
    Posts
    509
    Thanks
    4
    Thanked 1 Time in 1 Post
    I'm looking for a good book and/or other sources of information about web site administration.

    Here's some explanation of what I mean by "administration."

    I'm looking for information on best practices -- "what to do," not "how to do it." The choice and use of tools is a part of this, but the tools are incidental. The tasks to be accomplished with the tools are central.

    I'm looking for answers to questions like these:

    How can I implement a QA program that will provide reasonable coverage with limited resources?

    How should I manage the installation of software and database changes to minimize the risk of error and the impact on users?

    How should I back up software and data to ensure that the site can be restored quickly if necessary?

    Virtually all of the books I see on Amazon are on topics like "Apache web site administration" or "Maintaining a web site with Dreamweaver." Any book whose title refers to a particular tool is probably not what I want!

  2. #2
    WS Lounge VIP
    Join Date
    Dec 2009
    Location
    Earth
    Posts
    8,162
    Thanks
    47
    Thanked 976 Times in 906 Posts
    Your questions are more than just web site admin. You really need the gospel on building and maintaining a network of computers, which just happen to have a web server.

    To manage software installation and changes you need to look at Change Control.

    Backup is a long and complex subject on anything other than a PC. I don't know of any good resources for this because it varies considerably in different environments.
    Your hardware needs to be resilient to prevent you having to perform a restore - mirrored disks, ECC memory, multiple NICs etc.
    Will you ever perform a straight restore after hardware failure or do you only need to roll back to a point in time? The latter should be handled by Change Control.
    Are you hosting the server or is it a 3rd party? If the latter you only need a backup of the web site files and config.
    I see a long discussion ahead.

    cheers, Paul

  3. #3
    4 Star Lounger
    Join Date
    Mar 2002
    Location
    Sacramento, California, USA
    Posts
    509
    Thanks
    4
    Thanked 1 Time in 1 Post
    I think you're making the problem more complex than it needs to be -- not that it's simple, but it's more specific than you suppose. At the same time, ironically, you're glossing over much of its genuine difficulty.

    I don't see any need to generalize from (1) administering (2) a web site to (1) building and maintaining (2) a network of computers. If the web site were so large or complex that it required a network of servers, yes. But my client's site isn't nearly that big, nor are something like 99.9% of the web sites in the world. For the ones that are, I can define a solution in five words: hire a staff of experts.

    You're right that the first aspect of the problem I mentioned is about change control. Saying that is helpful, because it identifies that part of the problem with an established field of practice, but the resources I want still need to be identified. (I searched Amazon for "change control" and found only a few books about IT, none of them concerned with web site management as such.)

    As it happens, I'm dealing with a site that's hosted by a service. I'd be pleased to find resources that are useful to someone responsible for running their own, but I'd consider disk mirroring, etc., to be separate topics.

    That said, you lost me completely when you said, "...you only need a backup of the web site files and config." That's equivalent to saying, "To back up your web site in an optimal manner, back it up." There's a vast difference between being able to restore the site and being able to restore it in a way that meets defined standards of speed, reliability, and currency. I've been doing the former for a year. I want to learn how to do the latter.

  4. #4
    WS Lounge VIP
    Join Date
    Dec 2009
    Location
    Earth
    Posts
    8,162
    Thanks
    47
    Thanked 976 Times in 906 Posts
    As your site is hosted we now have something to work with, but there is still much to define.
    1. Do you want to protect against host failure (loss of connection to the hosting company)?
    2. What does the hosting company provide in the case of hardware failure?
    3. Does the web site use a database?
    4. Do you control the DNS for the site?

    cheers, Paul

  5. #5
    4 Star Lounger
    Join Date
    Mar 2002
    Location
    Sacramento, California, USA
    Posts
    509
    Thanks
    4
    Thanked 1 Time in 1 Post
    You're fixating on issues of disaster prevention and response. Those issues, by definition, are not likely to concern me any time soon. Virtually all of them would arise from failures in the host's services, so when they do occur, the host will deal with them -- perhaps not in an optimal way, but hopefully in a competent way. Meanwhile, my own capacity to prevent or prepare for them is limited by the very fact that the system is hosted.

    I'm most concerned with issues of day to day management of the site. Those issues, by definition, affect me every time I work on the client's project. Virtually all of them would arise from my own actions or those of my client, so when they do occur, the host will do little or nothing, considering them our responsibility. Meanwhile my own capacity to prevent or prepare for them is largely unfettered.

    Disaster issues are certainly important, but they are far down my list of priorities at this point. They're so far down that it seems pointless to consider them before the management issues are addressed. Please read my earlier posts again and see if you can respond to them more directly. Take the order of the examples in my first post as an order of priority: QA, then change control, then backup.

    You asked one question that is certainly relevant: does the site use a database? It does. The tables are divided about equally between static uses (updated periodically by the client or myself) and dynamic uses (updated constantly by user transactions). It's hosted on MySQL. It runs on a machine managed by the host, but apparently not the same one that runs the web server. I should find out how often it is backed up and how quickly it can be restored -- but even that is not at the top of my list of priorities.

  6. #6
    Super Moderator jscher2000's Avatar
    Join Date
    Feb 2001
    Location
    Silicon Valley, USA
    Posts
    23,112
    Thanks
    5
    Thanked 93 Times in 89 Posts
    Quote Originally Posted by jsachs177 View Post
    Take the order of the examples in my first post as an order of priority: QA, then change control, then backup.
    I assume by QA you mean knowing whether a change will break something in the site. That's very hard to know, even with a parallel test site, but I suspect that resources targeted toward desktop developers might be more plentiful than resources targeted toward web developers, and potentially just as useful.

    Edit: The slides from this meetup might be of use. Lots of testing tools. Towards a More Secure, Reliable, and Performant Web: Tools /Approaches to Help - The Mountain View Mozilla Meetup Group (Mountain View, CA) - Meetup.

  7. #7
    WS Lounge VIP
    Join Date
    Dec 2009
    Location
    Earth
    Posts
    8,162
    Thanks
    47
    Thanked 976 Times in 906 Posts
    QA with limited resources is always a challenge, but a parallel web site and database may be the easiest to control.
    You can manage a parallel web site by using the same host with different virtual directories, then use a re-director on the root to send users to the relevant files.
    The database is more difficult as the data is dynamic. Using a transaction log (not a database log) may help if you really need to recover to a previous version, but then rolling changes in would be manual.

    cheers, Paul

  8. #8
    4 Star Lounger
    Join Date
    Mar 2002
    Location
    Sacramento, California, USA
    Posts
    509
    Thanks
    4
    Thanked 1 Time in 1 Post
    jscher200 wrote:

    >The slides from this meetup might be of use....

    Yes, the links look very promising, although the slides themselves don't retain enough detail to convey much. I've saving the link, and I'll investigate them.

    PT wrote:

    >...a parallel web site and database may be the easiest to control.

    The client had one before I even started. I consider it a necessity; can't imagine how we could do QA at all without it.

    Nevertheless, we've had a number of problem slip through into production. That's why QA is at the top of my list. So the question is: given a parallel site, what should we be doing with it, and what else should we be doing?

    I want to try out phpUnit. I haven't used a similar tool in the past, although I've writen similar test sets on a one-shot basis. I'm not sure how far the the phpUnit concept can reach. I see that it will be a great aid in debugging and maintaining individual functions and classes, and it will certainly speed up my work, but it seems to me that most of the sneaky bugs have been in top-level code that interacts extensively with the user and the database, and it's not clear to me whether phpUnit can be applied there. Perhaps there are other tools that would work better.

    I inherited a non-OO web site from another developer, and I haven't tried to clean it up because the client is planning on a complete rewrite next year. Tools like phpUnit may be of limited use until I do so, and have a chance to write code that's designed to be testable.

    >You can manage a parallel web site by using the same host with different virtual directories,
    >then use a re-director on the root to send users to the relevant files.

    That's Greek to me. I know what "virtual" and "directory" mean, but the notion of a virtual directory is opaque. And I know what redirection is (I do it at need), but I have no idea what a redirector on the root is.

    In any case, the database seems like a show stopper. I could make the code refer to a live database or a test database depending on how I come in, but what's the point? Maintaining a completely separate test site with a separate database seems just as effective, and much safer.

  9. #9
    WS Lounge VIP
    Join Date
    Dec 2009
    Location
    Earth
    Posts
    8,162
    Thanks
    47
    Thanked 976 Times in 906 Posts
    The virtual directory / web site should allow you to place the new code in a new location, then re-direct all calls to the master web site to the virtual one with the new code. Then if you need to you can re-direct to the old one very easily and quickly. Setting this up depends on the web software, but basically you create a new web site / directory and either change the home folder in the web software or have a re-direct file on the root of the web site to send all requests to the new site without user interaction.
    An example might be this code in "default.htm"
    Code:
    <meta http-equiv="REFRESH" content="0;url=/new_site">
    I can't help with coding aids, not being a coder as such.

    cheers, Paul

  10. #10
    4 Star Lounger
    Join Date
    Mar 2002
    Location
    Sacramento, California, USA
    Posts
    509
    Thanks
    4
    Thanked 1 Time in 1 Post
    This is a side issue because we have an independent test site, but I'd like to understand what you're saying.

    I didn't realize it was possible to redirect a specific user to a different directory. I gather that's what you're proposing. Obviously we can't redirect wholesale, because then all of the site's regular users would go to the test site too.

    I'm familiar with the procedure for configuring Apache to serve different URLs from different directories. I'm not sure whether you're proposing something similar to that or not. In any case I don't think our hosting service would allow it unless we paid for a dedicated server, which would cost more than separate shared servers for testing and production, and would make us responsible for a host (no pun intended) of maintenance issues that we'd rather not take on.

  11. #11
    Super Moderator jscher2000's Avatar
    Join Date
    Feb 2001
    Location
    Silicon Valley, USA
    Posts
    23,112
    Thanks
    5
    Thanked 93 Times in 89 Posts
    Quote Originally Posted by jsachs177 View Post
    I didn't realize it was possible to redirect a specific user to a different directory.
    Using an .htaccess file on Apache I'm pretty sure you can redirect (or rewrite URLs) based on a request's user agent string, IP address, HTTP_REFERER and probably other potentially useful criteria. But I'm not sure about detecting a particular user, except perhaps by a cookie or custom header.

  12. #12
    WS Lounge VIP
    Join Date
    Dec 2009
    Location
    Earth
    Posts
    8,162
    Thanks
    47
    Thanked 976 Times in 906 Posts
    My suggestion was to allow you to easily revert to the "old" code should the need arise. You would still use the second site for dev / QA.

    cheers, Paul

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •