I am a fullstack engineer in a small company, and I am responsible for everything related to technology, from infrastructure, to code.
I arrived a few months ago, and quickly realised that there were many issues, both code-related but also infrastructure-related, as the company did not do any updates or upgrades since the first tech guy who created the whole infrastructure left (2 years ago)
As I am planning to stay in the company, I understand that is mandatory to upgrade the servers, but infrastucture is not my strong suit, so I am looking for any advice you could give me here.
As the question is quite broad, here is how i'll reduce the scope, this is what I have now
3 servers on Ubuntu 16.04.5 : 2 as backends and one acts as a load balancer The servers are part of a mongoDB cluster (if it matters) Currently the apache2 version used on all of them is 2.4.18 (built 2018/06/07) The application are deployed on the server using Ansible which is a good thing.
But many things that were setup 2 years ago are now broken, such as Nagios, or Jenkins, or SonarQube, and the issue is there is no documentation on how/when/why these things were setup.
So for the question:
I am looking into cleaning the useless libraries,and fixing/installing all the necessary monitoring tools, patching up the vulnerabilities by upgrading and so on.. but without disrupting the apps running on the servers.
Have any of you been in a similar case ? What would you advise ? Do you have any useful guides/tools*commands to go through/use?
P.S: I know the question is quite broad, as I am overwhelmed by the subject, I do not know how to properly split it up in concise questions yet, but if I could get an answer that points me a in global direction, I will probably write other follow-up questions more precise on each issue.