"This Is Sparta!" or the first week at loveholidays as a DevOps Intern
A lot of people promise themselves to start a new life from Monday and it is even better if it is the 1st day of a new month (and if it is actually the 1st on the calendar, it is definitely the call of destiny). I guess we all know how that ends usually. However, my (hopefully) epic adventure truly began on Monday 1st of June and I intend to look at it as some kind of auspicious sign.
A couple of words (who am I kidding? "brevity is the soul of wit" has never been my kind of thing) about myself: I studied art history as my BA, then had an internship in a funky contemporary art gallery, then I got MA in Museums, Galleries and Contemporary culture (we were taught about how museums and galleries operate; unfortunately, they forgot to tell us how to get a job in these magnificent museums and galleries) and during my studies, I managed to volunteer at the beautiful Orleans House Gallery as exhibitions assistant and got a job as an art researcher at the art gallery which specialised mainly in the 20th-century Russian art. Sounds great, right? Not really. I have begun to see stringent limitations of my path in the brutal world of art galleries and, as I have always been surrounded by geeky people (my family and friends) in some way or another related to technology, I have cautiously started to prepare myself to join "the dark side".
By the time of the beginning of my internship, I had learned bits and pieces of Python, Linux, AWS, Docker, Kubernetes and some essentials of DevOps such as CI/CD. I was armed with the slogan "Automate everything!" (well, almost everything) and ready to test my theoretical understanding in practice. When I was asked, "how is your first week at loveholidays?" I resorted to a metaphor: 'Imagine that you love to read some books about human anatomy in your spare time and then you suddenly were transferred to the operating theatre where the real action is going on. You are standing in the middle of a room full of highly professional and extremely busy people who are doing their job. It seems like chaos, but it is not (or is it?). You are holding the tray with scissors and, frankly, you are quite shocked by the speed of action and intensive atmosphere surrounding you. All of a sudden, the doctors are screaming: "The patient is dying! We are losing him!". Now, you can change the word "patient" to "production" if you like. Fifteen minutes later you hear: "He is stabilised!". Your hands are shaking. The surgeon sympathetically pats you on the back from time to time and says: "Well, you should read a bit more".'
One of the first things that caught my attention was the fact how many alerts are we getting in the #devops-alerts channel in Slack. I asked my manager about one of these and he said: "It is a false alert". My inner perfectionist (or is it OCD?) was aghast. One does not simply ignore an alert (Yes, Boromir reference). A stodgy perfectionist in me continued to grumble: "I believe such false alarms can be quite harmful to the workflow as it is essentially a manifestation of the well-known The Wolf and the Shepherd fable - it can be distractive at first, but then after many occasions of such false alarms, it can affect people in terms of letting down the guard and being more neglectful. And even without these aforementioned considerations, it is just unproductive to have false alarms''. My manager was kind of half-listening, he was "saving another patient". Then I realised that theory and practice differ not only in regards to knowledge, but concerning workflow or, in other words, the organisational aspect too. loveholidays is an extraordinarily fast-paced environment and there are simply too many things going on simultaneously which often leaves no time for senior employees to organise stuff. I have noticed that documentation lacks refinement in most of the cases. The essence of documentation is to be helpful, not frustrating. Well, the intern enters. As a result, I have started to work on runbooks for alerts as it might save time for other people in the future to quickly and efficiently resolve any issues with alerts and be sure that their action is necessary. Simultaneously, it is a great task for me in terms of learning and discovering how things are working in loveholidays (and not in my dusty books).
However, the most exciting thing that happened during my first week was c̶o̶o̶l̶ ̶c̶u̶s̶t̶o̶m̶ ̶m̶a̶d̶e̶ ̶S̶l̶a̶c̶k̶ ̶e̶m̶o̶j̶i̶ work on DNS Route53 migration. Finally, my familiarity with AWS could be beneficial at least in some way. The moment has come (drumroll, please): I was introduced to terrifying Terraform as my first task was to validate DNS records and to do changes when necessary. As loveholidays was mainly using Rackspace as their DNS provider at that point, I had to compose a lengthy spreadsheet of existing records and make sure that the records that we have in Route53 are identical. While doing so, I discovered that some of the records do not match indeed and some of them are not necessary at all (love this Marie Condo vibe of decluttering!). I did my first two pull requests (and got approved) on the second day of internship. Not bad for an art historian, I guess. There was no branch protection rule on Terraform AWS repository potentially allowing the intern to do whatever she pleases. (imagine how Mr Burns from Simpsons says: "Excellent!" here) Also, I was made acquainted with the concept of refactoring thanks to the magic of teamwork effort. It is actually an important discovery about loveholidays (and definitely about the DevOps team) that people are working very collaboratively, enthusiastically offering suggestions to other people's problems (I guess because we all are in the same boat, but anyway). So, coming back to that DNS migration - which, by the way, went live on Monday 8th of June at 5 am, it has been quite educational to see one more time how theory and practice work together and what challenges might arise in the real world versus Linux Academy lectures.