Evolving code and adding new technologies - Part 1
This is a start of a series starting on some simple old fashion code and evolving such code to something more modern. I will not use buzzwords like microservices or containers. This is beyond the scope of this article. What I will try to show is how to approach the past and future decisions step by step by way of refactoring and introducing new technologies. TL;DR There is none, read it all Disclaimer The idea for this series is taken from a real life "war story". I am however not the least bit inclined to disclose the source. Nor does any part of the code reflect the full and actual system, the idea for the post has stemmed from. Parts 2-5 are here: Part 2 , Part 3 , Part 4 and Part 5 Part 1 - Old School The code for the old school code is pretty straight forward and resides on the master brunch of this GitHub repository . Initial architecture The initial architecture of the system looks as such: Consider an application with two major threads; On