Tuesday, March 22, 2016

Development and Production

Over the [many] years Marcus has found it a necessary but not sufficient condition that  IFF our computers are running well then we have a chance at being happy.

How so?

Because our Main Server computer houses all our documents (going back over 50 years),  and music and media, and books and well, just about everything.

We sort of really rely on it.

How Business Works
In Enterprise Businesses that Agata and Marcus are familiar with Computers normally divide into a 3 stage environment.

Development:  Programs/ Applications are Developed Here
Test: Components are taken from one or more test systems and integrated into a Test instance
Production: Once fully tested, the environment and any data is moved to Production systems, and if necessary merging any existing Production data

The 2 Computer Strategy
In our experience then it is wise to implement a similar strategy at home

Development Computer
- This is where you test out new hardware, programs, applications, configurations.
- For riskier developments you can use a VMware (or other) Virtual Machine that can also be used for testing
- The Development Computer is simply the older and now defunct Production Computer

Production Computer
- This is your largest, most current computer
- With the best components
- You use it for everything possible
- Should it fail for an extended period you have a fallback plan to use the Development Computer as a standby
- Eventually this computer will get old and you will make a new Production Computer and relegate this system as the new Development.  The then 'old' Development is sold or gifted away.

Aside from 2 computers, one being a backup for the other, you might also like to consider further resilience

- Multiple Network Switches and Routers, to guard against any single failure
- Multiple Internet Connections: Typically a Fibre Land line and a 4G LTE based backup

Practical Dev -> Prod example
I recently reviewed our first PCI Express USB 3.1 Type C adapter card.  This was first installed in the Development PC. After 2 weeks without issue I just relocated it to the Production PC. 


And I backfilled the Development PC with this lesser  USB 3.1 Gen 1 and Gen 2 card instead.

Unsurprisingly the performance on the Production PC of a sample USB Type C memory stick was still appalling, but that's a reflection on the crappy USB 3.1 peripherals I'm currently using, not [I hope] the card itself!

Practical Network Redundant Example
In a single week we have experienced 2 major home Computer Infrastructure failures.  I know, what are the chances?

Our dedicated ASUS router, which has special hardware WAN LAN routing capabilities just died

A new, Enterprise quality Hard Disk has failed after only 244 hours of use.

With our level of standby and redundant IT config, we are continuing, in lash up mode until something gets fixed.

To Summarise
If you would not just be inconvenienced but almost crippled if your Home computer would become unavailable you should make plans to install some backups to get you thru such an eventuality.

You can use a Development Computer to test out new Hardware and upgrades and have it double as an emergency backup machine.

And for a fuller solution also consider the other failures, the two principle being Internet connectivity and Network Infrastructure.

USB 3.1 Gen 2 card with 2 ports