John BORIS on 26 Jan 2012 07:08:45 -0800


[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]

Re: [PLUG] dev vs production environments


I think that you are going to find multiple concepts, versions or
methods that are used to answer this question. I feel it depends on the
environment that the you are in. But the concept remains the same --
"You want to test your product before rolling it out". Now how much you
test it and how you perform those tests is going to be governed by your
environment. If you have the $$$$ to have multiple machines and a
testing group (QA) and ample time you may do it one way as opposed to
someone who has limited $$$ and resources. Along with that, as has been
alluded to in this thread, how much grief can you stand for having bugs
in software. How many legal problems can a buggy program cause. Will you
still be employed if a buggy product is rolled out.

So if your head is on the block for what the developers do then they
should cowtail to your policy, enough said. But you have to have the
support of your superiors.

Here at my $WORK I wear multiple hats. Software Manager, System
Administrator, Programmer, Documentation, Tester, QA and much more. I do
have three programmer that do the lions share of my coding. They are
required to test their stuff before they throw it over the wall to me.
Then I have to test it before it goes into production. My users andmy
superiors don't want to hear the programmer missed something. They want
to know why I didn't catch it. So suffice it to say I demand they have a
testbed with the latest data to test their work. In here I have multiple
VMs to test their work and for my in house programmer to test her work.


A good programmer will always want someone else to test their work. The
programmer can miss something. Especially if you are in an environment
where you don't have the luxury of extensive test plans and testing
groups and they are the alpha and beta testers of their own work.

John J. Boris, Sr.

"Remember! That light at the end of the tunnel
Just might be the headlight of an oncoming train!"
Professional IT Community Conference (PICC'12)
www.picconf.org ( http://www.picconf.org/ )  


>>> Douglas Muth <doug.muth@gmail.com> 1/26/2012 9:38 AM >>>
On Wed, Jan 25, 2012 at 5:22 PM, JP Vossen <jp@jpsdomain.org> wrote:
>
> I'm having a problem at work convincing some developers that the dev
and
> testing environments should match production as close as possible.
Since
> this is all Linux stuff, and we have machines and virtualization,
this seems
> like it should be a no-brainer to me.  In fact, this is so
blindingly
> obvious that I'm having trouble making a stronger argument for this
than
> "because it's so blindingly obvious."
>

I agree.  It blows my mind that people wouldn't want their machines as
close to identical as possible.

I use 2 approaches at $WORK that I haven't seen mentioned in this
thread:

1) Amazon web services.  It is stupidly easy to make disk images of
machines and database instances while those instances are running.  In
fact, I have an automated process that does this in the wee hours each
morning.  For each server.  So if I ever need to build a new
production server, or a new staging server, I just create a new
machine based on the most recent image.  Saves loads of work, too.

2) Revision control for configuration files.  I keep all of our
webserver configuration files, along with a common bashrc file for
developers to use, inside our git repository.  Any changes that are
made are made to those files and then pushed to other machines.  Not
only does it keep the configuration standardized across machines, but
it also provides auditing of who changed what and when they changed
it.

As a corollary to 1, I also use EC2 security groups so that only the
production webserver can talk to the production database, the staging
webserver can talk to the staging database, and the dev webserver can
talk to the dev database.  This ENSURES that an engineer can't
accidentally work on production data from the dev machine, for
instance.

Just the easy ability to make disk images makes AWS/EC2 a no-brainer
for my company.  It's saved us so much time and hassle with sytems
management.

-- Doug
___________________________________________________________________________
Philadelphia Linux Users Group         --       
http://www.phillylinux.org 
Announcements -
http://lists.phillylinux.org/mailman/listinfo/plug-announce 
General Discussion  --  
http://lists.phillylinux.org/mailman/listinfo/plug
___________________________________________________________________________
Philadelphia Linux Users Group         --        http://www.phillylinux.org
Announcements - http://lists.phillylinux.org/mailman/listinfo/plug-announce
General Discussion  --   http://lists.phillylinux.org/mailman/listinfo/plug