3d Elephant will never forget this book

NGINX doesn’t forget!

As part of our migration from VMs to OpenShift, I added an NGINX reverse proxy in front of our services, also running in OpenShift. This provided us with the ability to redirect some of our traffic to new services running…

Source Archival Improvements 2020

Over the past number of years we have been optimizing the (legacy) code which sits between TeamCity and our Custom Services, providing integration and performs the Source & Artefact Archival. History I thought it would be interesting to install some old…

Time for a refresh

Time for a spring clean and to tidy up my little corner of the internet, also a good excuse to play around with some new toys. Hosting I recently found UberSpace and they look great for hosting, especially if you…

Improvement to Artifact Archival

Last weekend we made a very significant, albeit transparent, change to the back end – artifacts are now archived to Object Storage instead of SAN on the master TeamCity node. There are two advantages to this: Object Storage costs about…

Source Archival Improvements

Over the last 2 releases I made some improvements to our Source Preparation and Source Upload processing.In production these changes have reduced Source Archival time by around 70%.I have selected a build with a large number of Source Files (36,000) and…

Cloud Computing Network concept

Moving to Cloud

Our Services consisted of 4 services running on one physical server which had 32 CPUs.The largest cloud server at the time was 8 CPU, so there was only one option:32 divided by 8 = 4, so lets move to 4…

File storage in cloud. 3D computer icon isolated on white

Moving to Object Storage

We were fortunate to get early access to $COMPANY’s internal Object Storage which provides an AWS S3 compatible interface and allows uploading and download files over web services. It’s was cheap (blue dollars) and you pay for actual usage, not…

MongoDB as File Storage

As mentioned in Original Architecture our application stored both Build Metadata and File contents in MongoDB.MongoDB can store files using GridFS which: Allow the storing of files that exceed the BSON doc limit of 16 MB Files are stored in…

Original Architecture

The original architecture of what I inherited when I joined ${COMPANY} A TeamCity server setup in Active/Standby and integrated with custom services developed in Node.JS using the MEAN Stack (Mongo, Express, Angular, Node.JS) which also ran on a single physical…