News and Views of a Technical Nomad

Nov

27

Over the last two years, I have been gaining experience on the Architecture side of the IT world, as a Technical Architect, as an Integration Architect and most recently as a Solution Architect.

I have some aspirations, which may or may not be realised, to gain experience as an Enterprise Architect in my next role.

It was therefore with some interest that I read this article, The enterprise architect’s Achilles heel, by Mark McDonald, in Technology Spectator, this morning.

I thought the article was very interesting because, having been reading a bunch of job adverts for EA roles, you would certainly get the feeling that the company was looking for a god-like figure as their new enterprise architect!!

In my experience, all the high-level architects I have worked with recently, did not have an omniscient view of the enterprise at all. In most cases, they had a rough idea of how things worked in any given area and had to ask questions in order to get a greater understanding. They would be the first to admit that they did not know everything.

In many meetings I attended, many of the attendees. who were working as solution and/or end-to-end architects, were often speaking about topics about which they only had the vaguest knowledge or understanding!

This was in a telecommunications company, which are by their very nature, extremely complex; so it is not really surprising to me that this was the case.

All enterprises are complex in their own way and I quite agree with the author that you cannot compare an enterprise to a plane or a building and, therefore, an enterprise which gives ultimate control to an enterprise architect, who is after all just human and therefore fallible, is probably setting itself up for problems down the line.

Read the whole thing, as they say!!

Nov

13

Rebuilding……

November 13, 2012 | Leave a Comment

As I have been away for several months, so far away that coming home for the weekend was NOT an option; it should be needless to say that my website infrastructure suffered a few problems which I was unable to fix.

First off, my original hyper-v server seemed to start shutting itself off at odd intervals, which is not the behaviour you really want to see in a piece of server kit. I first noticed this back in July when I was home for a week, but as I only noticed it the night before I flew, I did not have time to fix it.

Therefore, now that I have been home for a week or two, I took the opportunity to see if I could rebuild the machine.

I then noticed another problem, while I was installing Windows Server 2008, I got a blue screen of death at different points during the proint where the copied files are decompressed. I tried multiple DVDs, DVD players, different disk drives, you name it…. and the problem just kept happening, but always at different points in the decompression process.

It was starting to give me a headache. I even bought a new SSD hard drive for the Hyper-V operating system and still I had the same problem…..so it was not the disk drive!

Realisation finally dawned after a lot of research on Google, it was a memory fault!!

Tada!

I then pulled all my sticks of RAM out and tried to reinstall Windows with each one individually (I had 4 4GB sticks) and bingo. Three worked and one failed. I then double checked with the Windows Memory Diagnostic and that confirmed the problem.

So I am down to 12 GB of RAM, but the Server and all its component Virtual Machines are now back in business and I can start deciding how to use them!!

Isn’t computing wonderful!

Nov

8

As usual, I have no excuse for the wilful lack of posting over the course of this year!!

However, things will change from now on, at least for a while as I have returned home from Switzerland where I was working all year as a Solution Architect in Bern.

As I have never worked in that role before, it was quite stressful at least at firm, but I flatter myself that I did a good job and learned a lot.

Now that I am home, I must devote most of my energies to finding a new contract, hopefully as an architect, but being at home does mean that I can give some attention to some technical issues that have cropped up over the course of the year and, of course, write about them here.

So, stay tuned…. Â

Mar

8

While I am still very happy with Application Request Routing 2.0, I am still having some issues with one of my sites that requires a login, which is my wiki.

As I described in my last post, basically you end up logged into one machine in the cluster and not the other so you suddenly switch from seeing content and being logged on to then seeing a login page again!!

It is pretty frustrating and just refreshing the page to then see if you get the logged in machine does not always work.

Interestingly enough, I have not yet noticed any problem on WordPress so I am starting to wonder if this issue is linked to the specific software in question.

Questions questions!

I am working in Switzerland at the moment so I do not have physical access at the moment so I am having to use Remote Desktop on occasion.

I have to deploy a new version of Orders of Battle soon to fix a minor bug in the Locations page, but other than that I have been focusing on research when I have the time. Unfortunately as I have to work for a living I do not have as much time as I would like.

Needless to say, I am sorry once again for the lack of postings, but I hope to start posting again soon.

Perhaps I should talk about the places I have been visiting? Switzerland is a very beautiful country and there is lots of things to see!

Dec

30

In the last month, I have finally completed my rewrite of http://www.ordersofbattle.com in ASP.NET MVC 3.0. Prior to that, the site was still using ASP.NET Webforms, which was the original technology I used when I first built the application in 2003-2004.

I intend to write another article about MVC in more depth soon.

However, as part of the deployment of my first MVC version (1.1.0.2), I also decided to setup and deploy ARR 2.0. ARR stands for Application Request Routing.

ARR is a fairly new technology from Microsoft which is part of IIS which allows admins to create a “server farm”. In this scenario, website users send requests to a “controller” website which then forwards them to a specific web server depending on certain criteria defined in the controller.

This criteria is used to determine which content web server to actually send the HTTP request to.

I now have two content web servers running, each one runs on a specific Hyper-V server, so I get some sort of load balancing across both physical servers. Each webserver accesses the same database at the backend.

I have now migrated all my websites, including my PHP blogs and my internal sites, to the new ARR structure.

So far, it is working well and I intend to add a third content web server soon to see if that helps performamce and response time.

I have also used URL Rewrite to point the old URIs from the old Webforms site to the new MVC URIs, but more on that another time.

One problem I did notice was that if you have a situation where users are actually logging in to a website, the user can “lose” their session because subsequent requests are sent to the “other” webserver, into which the user is not logged in!! Needless to say, this is pretty confusing!!

One minute you are logged in to the website and with the next page, you are suddenly no longer logged in!

The solution to this problem is to disable caching and to set the “memory cache duration” setting in the controller to 0.

I still have to figure out “outbound URL Rewrites”, but so far things are looking good and I am pretty happy!    

All webservers are running as Virtual Machines in Hyper-V so it is very easy to add new webservers to the mix if the need should arise. 

Â

Dec

25

Wishing everyone who reads this a very happy Christmas and a prosperous New Year!

Sep

26

One or two people have been kind enough to ask me what the specifications are for my second Hyper-V server which I built in August and which is now running both this website and the database behind it and my other websites and their associated datastores.

At the risk of sounding geeky and all, here are the hardware components that I used:

The main differences from the original machine are as follows:

I have upgraded my original Hyper-V server to now use 4 CF cards instead of 2. These cards are raided together as RAID-6 and provide 8GB space for the Windows Server 2008 R2 OS. Originally I installed the Server Core version but I have now reinstalled the standard interface as it is easier to use when you are in a hurry.

As a result of having two Hyper-V machines, I now have the ability to have almost-duplicate VMs on either machine which are identical in composition and software. (NOTE - all one does is copy the VHD to the destination location, boot it and then run “sysprep” to create a brand-new machine with a different identity to the original but the same OS, programs etc).

In addition, using the extremely useful SQL Examiner 2008 software from SQL Accessories, I have been able to setup hourly batch jobs which synchronise the different databases, both SQL and MySQL) between the VMs on the one Hyper-V server to their equivalents on the other!

As a result, my data is stored on two identical separate VMs on two separate hardware platforms and therefore, if one Hyper-V server should for some reason become unavailable, all I have to do is point the router to the “spare” webserver on the other Hyper-V server and we will be back in business!!

Finally all VMs themselves are stored in a RAID-5 SAN so I have some redundancy there too.

Aug

27

All my websites are now operational on Virtual Machines (VMs) running on the Hyper-V Server which I have recently built and configured. As a result of the flexibility afforder by virtualisation, the MySQL database now has its own dedicated machine rather than having to share a server box with SQL Server!!

Now that evrything has been migrated to the new server, I can now reconfigure the old server to use the new SAN box instead of having everything running on local hard drives. Both Hyper-V boxes will share the same SAN which is RAIDed so both VMs and their applications and data will all be stored on the same physical disks, but will be logically separate owing to iSCSI and will run on separate physical machines.

Cool!!Â

Aug

25

As any remaining readers of this somewhat intermittent blog are probably aware, things have been a bit quiet on here recently.

There are several reasons for this….

1. I have not been updating as often as I should. This is my fault and I will endeavour to do better!!

2. A rather nasty thunderstorm in early June this year fried my UPS!

Point no. 2 provides a real reason why this site was down for most of June and all of July. I was working abroad for the 6 months after early February and as such was not physically able to sort things out after the storm in early June. My wife’s cousin managed to get everything up and running again for a few days, but then my Hyper-V server which holds both website and database servers failed to reboot properly.

As I was several thousand miles away from home, there was precisely nothing I could do about it until I returned home at the end of July.

The actual cause was some error or file corruption in the Hyper-V Server operating system files that prevented the machine from successfully booting. As a result, the virtual machines in the Hyper-V box had no chance of starting!

I was able to reinstall the Hyper-V Server Core OS a few days after I returned home and all my websites were restored to full health in early August. Hurrah!!

As a result of this debacle, I have considerably revamped my server setup by purchasing three new Cyberpower UPS boxes to ensure that almost every piece of electronic equipment in my network cupboard has both surge protection and UPS.

To help prevent future downtime of my websites, including this one, as a result of the failure of the Hyper-V box, I have built an additional Hyper-V server so that all virtual machines have been duplicated across both boxes. I will describe the specs of this new machine in my next article.

This website and ordersofbattle.com plus a few other internal sites are now all running on a VM in the new Hyper-V box and not the original Hyper-V server. Additional I have migrated my SQL Server databases to a new VM in the new Hyper-V server and I am in the process of setting up new MySQL databases for this blog and other functions on a different dedicated new VM in the new Hyper-V server.

Finally, I have now got a SAN which holds all the Virtual Hard Drive files used by the various VMs on the two Hyper-V boxes so that these very important files are now held on a dedicated RAID cluster for disk speed and redundancy. These RAID volumes are dedicated to the VMs and are provided via iSCSI to the host Hyper-V servers via a dedicated Hub.

So, all in all, there has been a lot of change and a lot of new technologies have now made their appearance at chez Tech-CRM!

More on this soon….

PS - Please accept my sincere apologies for both the downtime and the lack of posting. I hope to provide some excuses for the lack of posting in a future post. Â

Mar

23

Designing and researching the components for my new HyperV Server took some considerable time.

I had originally intended to use VM Ware, but it is very picky about Network Drivers, Storage Drivers, Motherboards etc and I found it difficult to find components that were actually on the Compatibility List. Therefore, after some research I decided that HyperV would probably fit my requirements just as well.

For the system, I wanted to build, I had the following criteria:

I did not want to build a large boxy system with lots of disks in it because I have got used to building Mini-ITX boxes that are really small and fit on a shelf. As I also wanted to build a SAN for my storage, a large box would end up empty wasting a lot of space and power.

My requirements were slightly contradictory as lots of RAM and CPU speed do not match up with a small case!!

I did look at Mini-ITX motherboards, but any with space for more than 4GB RAM were few and far between and very expensive.

That left me with a choice of ATX and Micro-ATX boards. ATX would give the option to install frightening amounts of RAM if I really wanted (one or two Motherboards were avaiable on Newegg with space for up to 48GB RAM!!), but this size of motherboard would necessitate a larger case that would have a bigger power supply and that was something I did not need as I wanted to build a separate SAN (Storage Area Network) for the disks that would be used by the Virtual Servers.

That left Micro-ATX Motherboards which were a bit smaller but still had a good range of case options and would still give me up to 16GB RAM which should be more than enough to run several servers on.

In the end, I ended up with the following Hardware for the new server:

After some testing, I discovered that 4GB was not enough space to install HyperV Server Core on and I had to buy another 4GB CF card and raid 0 them together to form a 8GB Disk. In due course, I will add additional 4 GB CF cards and reset the RAID level to 10 or something to give the HyperV Disk configuration some speed and redundancy.

The Addonics Quad CF Disk Controller is a PCI Card that lets you mount up to CF Cards on the card and it has a RAID Controller so you can raid the CF cards together. It’s a bit over the top, but I like the idea of the HyperV OS not being installed on the same disks as the guest OSs and Flash disks are very resilient and boot much faster than regular Hard Disks.

Although I wanted to build a SAN, initially I would have to have internal hard disks for the Virtual Servers, so I bought a cheap Hard Drive to install the intial VMs on. The Addonics disk array is a clever way of mounting up to 4 2.5 inch disks in a 5.25 inch slot so that way I would have lots of flexibility for the hard disks in the case.

The Motherboard had hardware RAID built in, but did not have a built in VGA card. However, most modern Intel CPUs now had a VGA Adapter built in so I did not have to buy a separate Graphics adapter. The Motherboard had two Gigabit slots, but HyperV really needs three (one for the SAN) so I ended buying another Expansion Card with a third Gigabit adapter on it. I started out with 8 GB RAM, but soon upgraded to 16GB RAM.

Initially, I did not do anything for the SAN as I was hoping to reuse my existing (now redundant) Mini-ITX boxes as SAN machines, but after installing the SAN software on them, the CPU crashed on one machine so I was left with only one SAN box until I rebuild the failed Mini-ITX machine so right now I do not have a SAN as I am away from home at the moment and am not there to fix any hardware issues.

In time, I will buy or build a dedicated SAN box to hold a RAID-10 array of cheap disks.

Of my existing Mini-ITXs, one is now the Hyper-V Console while the other will be put to work as a Storage Server in due course, possibly as an iSCSI Target. More on the SAN later.

Right now, I only have one physical machine, but in time I want to build another to have true redundancy.

Currently the box is only running the Web Server and the Database Server, but I hope to build additional servers soon.


blog search directory Directory of Computers/Tech Blogs British Expat Blog Directory.