SSWUGtv: BYOD – Bring Your Own Device
With Stephen Wynkoop
Lets face it…its easy to bring your own devices into a work environment. They are small, convenient, and useful. But, how do you lock down devices and stay secure when you allow BYOD?
Watch the Show
Separation of Environments
I have written a lot about separation of concerns from a programming perspective. Today I want to talk about separation of environments. I have enough war stories to support a position that a company should have a minimum of three environments if they develop their own software. Production; Quality Assurance; and Development.
The closer they are in resources and traffic, the less surprises you will find as you migrate from one environment to the next. Sometimes bugs just can’t be reproduced unless they are in exactly the same environment. I once had a printer problem we could not duplicate. The development environment used a laser printer; production used a costar label printer. Until we were able to test on a label printer, the bug could not be reproduced.
Another time I had a development machine with 20% of the capacity of our production machine. I had to merge two completely different databases. I was unable to do more than a portion of it in the production environment. It wasn’t until the merge was in process in our production system we discovered duplication of keys from the two separate systems.
Another time a difference in performance was not exposed until the system was placed on a production system with a production load. With a QA server having 30% capacity of one production machine, for which it was to emulate 3 production machines, it was now 1/9th of the overall production capacity. It simply wasn’t enough machine to emulate true production loads and expected outcomes.
So, why separation? In one place I have worked the company chose to share a single machine for QA processes and also run some production engines on the same machine due to a very low capacity utilization. One day, the QA process ran away and consumed all memory and CPU resources on the machine. Production went down immediately.
Another environment I have seen is running a production web service and QA web service on the same machine using the same OS instance. This works much better if they are virtual machines. But, you don’t want the need to restart the operating system of one environment to impact the other.
There are many other environments that are possible or reasonable to have. Sales like to have the bleeding edge of our software to gain attention of potential customers. Training is another popular environment. Perhaps you would like to have a staging environment. These work really nice on virtual machines, and don’t generally need to emulate a production environment in size scope, or load.
Do you have other techniques you use to solve these situations? I know many of these stories may be ones from your own personal experience with names of people and companies changed. How have you solved the needs without breaking your pocket book? Share your experience by writing btaylor@sswug.org. It would be really cool to hear from folks working on different kinds of systems as well, mainframe, midrange, multi-tier, etc.
Cheers,
Ben
$$SWYNK$$
Featured Article(s)
Learning SSAS: Part III- Building Cubes
This article picks it up where the second article of the series left. After reading this article, the reader will be able to build cubes in Analysis Services.
Featured White Paper(s)
Key Management in the Multi-Platform Environment
Written by Townsend Security
This White Paper discusses the challenges … (read more)
Featured Script
parse
User-Defined function that parses a comma-delimited string into a table variable…. (read more)