500 DevOps Interview Questions

A couple of weeks ago I’ve created a repository with the goal of documenting DevOps interview questions. It was not only for people to better prepare for DevOps interviews but also to be able to test and asses their own knowledge on various topics.

This is the repository: https://github.com/bregman-arie/devops-interview-questions

Shortly after creating it, I received a lot of positive feedback (negative one was also there but more on that in a separate post) from people who used it for preparing for their interviews but also from people who simply enjoyed reading the questions. In addition, the community joined me in adding more questions and even translating everything into additional language. For me, it feels great to know that this little project had such a positive impact.

And now, I’m happy to announce that we reached an amazing number of 500 interview questions. I hope you’ll enjoy it and learn from it as I did 🙂

Have some great questions of your own? Think that some questions shouldn’t be listed there? Feel free to submit a pull request or share your thoughts with us by opening an issue or leaving a comment below.


Flask + MongoDB Tutorial

In this tutorial, I’ll demonstrate how can you use Flask together with MongoDB.


We’ll use the following structure for our project

__init__.py # Flask app
database.py # Main database class
job.py # Job DB model
routes.py # Main page routes
main.html # Main page HTML template
requirements.txt # Requirements for running the application
Continue reading “Flask + MongoDB Tutorial”

Mongo Shell By Example

Start the mongo shell

Start the mongo shell by running mongo

Note: this will connect using the default port 27017. Use -p for specifying a different port.

You should get an output similar to the following

MongoDB shell version v4.0.3
connecting to: mongodb://
Implicit session: session { "id" : UUID("2323-8as8-23aa-8fsa") }
MongoDB server version: 4.0.3

From this moment on, everything you’ll type will be executed in the mongo shell.

Continue reading “Mongo Shell By Example”

Docker: how to speed up your development

Docker has been with us many years now and quickly became a dominant technology.

In this post, we will explain the benefits of using Docker and how it can speed up your development.

This post will be divided into three main topics:

  1. What is Docker? – a quick introduction to Docker and the problem it solved.
  2. Why should we use Docker? – concrete reasons why you would benefit from using Docker in your day-to-day work.
  3. Usage example:
    • Setting up a Postgres database in seconds
    • Setting up (and accessing) a CentOS machine in seconds

Continue reading “Docker: how to speed up your development”

Python: Pipenv Tutorial

What is Pipenv?

A package management tool which makes combined use of

  • pip – Python package manager
  • virtualenv – Tool for creating isolated Python environments so you can easily use different packages in different projects
  • Pipefile – records the package versions used in a given project so you can easily install them on any other system you want. Also considered as the replacement of Python requirements files

So basically with one short pipenv command you can install a package in a virtual environment and record it in pipfile and pipefile.lock files.

Continue reading “Python: Pipenv Tutorial”

OpenStack: Testing Upgrades with Tobiko

What is Tobiko?

Tobiko is an OpenStack upgrade testing framework. It aims to provide tooling and methods for easily developing upgrade type tests.

Note: At this moment it also provides you with several built-in networking tests.

If you are familiar with OpenStack you might wonder why the current OpenStack testing framework (Tempest) is not used for that purpose.

Continue reading “OpenStack: Testing Upgrades with Tobiko”

Team lead – is it really what you are looking for?

I’ve had many talks over the years with friends / team members about their career path and what they should focus on in order to achieve their next career milestone.

In this post, I will focus specifically on the “Team lead” position and what are the common expectations of a Team Lead.
My hope is that it will give you, the reader, the information you were looking for and help you decide if this is indeed the right career path for you.

Lets begin with what a Team Lead is doing as part of his day-to-day work.

Continue reading “Team lead – is it really what you are looking for?”