Search This Blog

01/09/2017

Learning DevOps - day 1 - what is DevOps

Disclaimer: I've been refused two interesting jobs because I'm too business oriented and have lost my geekisness. So after 3 years of focus on managing people and money, here I am ready to geek the world again! This is the first article of a discovery and learning process, I focus more on making stuff happen and less on the style. So grammar errors, typos and other mistakes are probably all over the place. Keep your focus on the content.

This project has multiple goals:

  • Show myself and potential employers that I'm not that rusty 
  • Document my discoveries in DevOps for the future me and future collegues
  • Share my discoveries hopping that they will help others


Disclaimer #2: I -think I- know at a high level what DevOps is, but starting from scratch is the best way to stay humble and avoid wrong assumptions.

So, what is DevOps?

My ideas before reading google

DevOps = Development + Operation.
Ok, but what is development and what is operation? An analogy is welcome here.
Lets immagine that you work at a big newspaper. There are two main roles:
  1. Journalist, who creates content
  2. Editors, who create a newspaper from lots of content
In IT:

  1. Developer, who creates a piece of code. 
  2. Ops guys, who create a full software from lots of pieces of code

So DevOps should be a way to help people code, deploy an keep the software running all in one. Sounds good!

I see three possiblities of implementation:

  1. training of the dev guys and ops guys to understand more each-others work
  2. do nothing and use the word DevOps as the next buzz word for a reorg of the IT department
  3. standardize and use lots of tools to automate the process. (NB: each new tools comes with relative consultants and incompatible configuration files)


    Option 1 is promising, but saying to your boss "Hey why not spend money on training our guys" doesn't look cool
    Option 2 is probably used by lots of companies, but very short term and not relevant to our topic
    Option 3 is very cool to tell a boss. And that's what DevOps seems to be. Brain, be ready to read a lot of manuals!

    Asking Google for some help (and stop the guess work)

    The first definition available looks terribly like option 2.… a lot of buzz word to say Dev and Ops should collaborate. 
    DevOps (development and operations) is an enterprise software development phrase used to mean a type of agile relationship between Development and IT Operations. The goal of DevOps is to change and improve the relationship by advocating better communication and collaboration between the two business units
    Next in the google result is The agile admin (cool name). A  really interesting article on what DevOps is not or what it is partially. I cannot find any useful definiton for our purposes.

    Next is the mystic Wikipedia with a great definition of DevOps.
    DevOps […] is a software development and delivery process that emphasizes communication and collaboration between product management, software development, and operations professionals.[1][2][3] It supports this by automating and monitoring the process of software integrationtestingdeployment, and infrastructure changes by establishing a culture and environment where buildingtesting, and releasing software can happen rapidly, frequently, and more reliably.[4][5][6] 
    See you soon for the next episode about the search of a clear pipeline for DevOps...