Slashdot Mirror


A Proper Environment for Web Development?

umdenken wonders: "I'd like to know how others on Slashdot do their server-side web programming. We have dozens of Perl CGI scripts, and are currently doing development by editing these production scripts in place on the web server (!). Our sysadmins have finally installed an SVN client on the server (Solaris), and have offered to create a new virtual host that we can use as the development server. What are some of the practices you use for organizing this kind of set up?"

3 of 66 comments (clear)

  1. Re:Separate your environments by Phillup · · Score: 5, Insightful

    It is VITAL that each environment is set up the exact same way, or as close as possible, to every other environment. Each one should have its own separate hardware running identical software versions - unless you are testing software upgrades, in which case you FREEZE THE CODE, update Development, then QA, the Pre-Production, then Production (testing everything, everywhere), and THEN resume writing your code again. It is incredibly frustrating for a developer when code works on servers A, B, and D, but breaks on C and E due to non-matching hardware and software.

    I like for the pre-production and production environments to be as close as possible.

    But...

    I like the dev and testing environments to be different from each other... and from the production environment.

    I've found that doing this helps me shake out some "dependencies" that I may not have thought about.

    Taking care of those "dependencies" helps me write code that is easier to move to another environment if the customer wants to upgrade their systems.

    YMMV

    --

    --Phillip

    Can you say BIRTH TAX
  2. Minimize complexity by riceboy50 · · Score: 5, Insightful

    In my opinion, there is a point at which complexity outstrips any gains from separation. Just keep it simple; dev, staging, production.

    --
    ~ I am logged on, therefore I am.
  3. Re:Er, uh by ePhil_One · · Score: 3, Insightful
    He's currently doing dev directly on the production server and is wondering if there is a better way.

    His COMPANY was doing dev directly on the server, he has implemented SVN and a Test environment, and is wondering what the Best Practices might be. He knows there's a better way, and rather brilliantly knows he doesn't have all the answers.

    For the record just a dev and prod environment isn't enough, ideally you would have multiple dev environments (individual playgrounds plus common test areas, two QA environments (New releases and current release for bugfix testing), and possibly even a User Acceptance Testing area. There should be no code updates a release is migrated through the environments, all environmental variables get read from the environment...

    Of course, every dev environment will be different, with different needs, release cycles, etc...

    --
    You are in a maze of twisted little posts, all alike.