- Lets Talk
- Posts
- Lets learn tech skills with storytelling
Lets learn tech skills with storytelling
Lets Learn DevOps with a story - Part 1
Lets learn tech skills with storytelling
Reading time ~ 5 min.
What’s Inside ?
Lets Learn DevOps with a story - Part 1
Interesting “thing” of the week
SW development has evolved over time.
There were those niche days when
It required huge room sized machines to run a piece of code, only a “privileged few’ knew how to program and had access.
Compare it to now, a school kid can run a piece of code (even on a mobile device ).
Not only is writing and running software easy, learning to program is ubiquitous.
You only need time and effort, you will find quality resources for free and with little cost that will help you learn.
What has caused this change ?
Partly information revolution but also, answer is simple
- Virtually every significant thing that mankind uses today runs on software - from a watch, to a car, from an aeroplane to a vacuum cleaner, from your homes to the house of POTUS.
Software is everywhere.
It is not merely restricted to learning and writing, the practices and processes used for software development have undergone tremendous changes.
Today’s post is about that - DevOps.
It won’t be a theoretical or an academic post - I will use storytelling, I hope you enjoy.
Background
First, I will introduce the characters and give some background information.
The story is about Bruce, a software developer who is joining a software development team called Hard Pixels.
Hard pixels are in turn 2 sub teams
Hard coders
Dead Breakers
Each sub team has 3-5 team members and both these sub-teams report to a single manager named Harry.
Hard pixels work on a software product called Elixir - This is the software which powers the electricity lines of the Town of Gotham.
Elixir is provided in a DVD to the Engineer - Dev, on 28th of every month. Dev takes the copy of the DVD and updates the software at 6 am on 29th of every month from the town centre SW block. Everyone in the town knows that the power is off at 6 am for about 1h, the time it takes to update the software.
When Dev forgets the sequence of installation (which rarely happens) or when a new sequence is provided by Hard Pixels, then it will take more than 1h.
Before Dev runs Elixir on the main lines on 29th, he runs Elixir on Town sub lines called - Tracks. No one of importance lives in Tracks, Elixir is run on Tracks to ensure things are working fine and nothing is broken.
Story commences
Bruce walks into the office and is greeted by the team and welcomed by Harry. He is given a bunch of documents to read and understand Elixir, he is given a time of 2 weeks.
Bruce will join Hard coders.
He is greeted enthusiastically by Hard Coders, they offer him the best seat, give him a tour of the campus and also tell him which canteen serves the best tea.
As he walks along the corridor, a person - walks up to Bruce and gives him a deadly look. Bruce didn’t know how to respond, he just smiles and walks away.
Bruce quickly notices that only half the team is happy, while the other half does not seem excited. He thinks raising this concern to Harry is premature, so he continues to go about his work, with thoughts still lingering of what could be the possible problem ?
What Bruce finds out
1 week into the team, Bruce deduces Elixir thus
Software system of Elixir
Any software system can be defined by below components
CPU
Memory
Networking
Elixir needs 1000 CPU cores (at its peak), about 100TB of memory and needs to network to at least 10 nodes.
The tracks system where Dev runs Elixir is prepared with the above data in mind. Whenever new software is added to Elixir - Eg: support electricity for new homes, the software needs more resources and hence Tracks suburb is also modelled to mimic this.
Bruce is excited and wants to share this.
Software Lifecycle of Elixir
Bruce takes this data to Harry’s desk, only to find him on leave. He returns and starts understanding the flow.
Elixir is made up of 200 files of code, which is exclusively developed by hard coders. They maintain a Git repository with access control, only hard coders can fork, commit or push to the repo.
It was unclear to bruce, what happens once the code is pushed into the repo.
He then goes to the senior most Hard Coder - Jim and asks him.
Jim says the Dead Breakers take it from there and he needn’t be concerned, as it is their job. He then asks Bruce to focus on Data structures and Algorithms.
One day, Bruce sneaks onto a lunch table where dead breakers are seated and overhears a conversation about the last software transfer of Elixir to Dev.
He sees them swearing hard coders and how they were awake the whole night for the entire weekend to ensure Elixir reached Dev on 28th.
He realises that Dead breakers ‘do something’ before giving it to Dev.
He also realises that Dead breakers don’t particularly like Hard Coders.
Realisation
Bruce has had interactions with both the sub teams, he is more confused than clear.
When he is lost in his thoughts, the guy who gave him a deadly look comes smiling at him.
He stops the guy and asks him the reason for smile and his name - the guy replies “I am Raj and I am happy you dig this data out”.
It helps us understand Elixir’s ‘Operations’ better and would help explain Harry the problems in the system and the needed improvements.
Amazed at this changed Behavior of Raj, Bruce asks the reason - Raj replies “shouldn't you be focussing on Data Structures and Algorithms ?”
From confusion to amazement to frustration, Bruce had taken it all. He leaves from the scene without answering.
At this point - Bruce is clueless, his task was to understand Elixir, with 2 weeks passed, he is not close enough - he thinks so.
Reply