Why it’s working in my server, but fails in yours? The question is quite common. After careful check and side-by-side test, we may or may not find out the difference. The root cause may be packages conflict, mismatched versions, corrupted files, or something magic.
How we can quickly detect the noticeable differences between two servers?
If maintaining servers is one of your routine jobs, occasionally you will need to run commands on multiple servers. Say restart service, update firewall rules, grep files, etc.
It’s a bit boring and inefficient to manually ssh and run commands one by one.
Quite often, people will upgrade, patch critical envs or even run manual commands by ssh. As we know, changes bring instability. Some may even cause frustrating issues or strange behaviors. If we can have a detail list of all previous changes, the trouble shooting might be easier. But how we can achieve that?
Lots of people are talking about CI/CD on the Internet. I wish I could learn the details what they really enforce? Quite disappointed, mostly I only see concepts, principles, and guidelines.
Yes, I know it depends on a lot of things. After supporting several projects, I DO believe there are some useful first-hand experience which are general and not that well-known. Enclosed is a Demo Jenkins.
Effective and meaningful communications always lead to good results. However communication of TOI (transfer of information) should be avoided as much as possible. As a DevOps engineer, I used to get messages like this, “Hi Denny, I’ve changed XXX. Please check and make proper change on your side”.
Why it’s not good to rely on human communication for TOI? Firstly people will forget, which means expected collaboration will be ignored. Secondly human intervene and communication really takes time for both sides. So How We Can Improve This?