Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Essay proposal: Docker containers: from 1979 till today - a comprehensive history #1913

Merged
merged 28 commits into from
May 6, 2022

Conversation

simonebonato
Copy link

Assignment Proposal

Title

Docker containers: from 1979 till today - a comprehensive history

Names and KTH ID

Deadline

Task 4

Category

Essay

Description

Docker containers have been around for many years, but only recently they have gained massive importance.
In this essay I will explore their evolution and the reasons why they have become so popular now as opposed to when they were first invented.

@simonebonato simonebonato changed the title Essay Essay proposal: Docker containers: from 1979 till today - a comprehensive history May 4, 2022
@simonebonato
Copy link
Author

Hi @javierron, I have some urgency to get this PR merged, if it is acceptable, since @nalenz and @psalqvist volunteered to give Feedback and I would like to start working on it so I can give it to them within reasonable time.

@javierron javierron self-assigned this May 6, 2022
@javierron javierron added proposal A task proposal essay One of the task categories listed in README.md labels May 6, 2022
@javierron
Copy link
Collaborator

@simonebonato Thanks for the proposal. The essay you propose looks very interesting and relevant.

Before I merge the PR, please make sure that it passes all the checks. I believe the problem is that the file added has the name in lowercase. It should be README.md

@simonebonato
Copy link
Author

@javierron thanks for the instant reply! I fixed the issue now and it passed all the checks.

@javierron javierron merged commit 6d07fa3 into KTH:2022 May 6, 2022
@javierron
Copy link
Collaborator

javierron commented May 6, 2022

@simonebonato Merged!

@simonebonato
Copy link
Author

Tack! @javierron

@EDChui
Copy link

EDChui commented May 9, 2022

@simonebonato Hi, our group also find your essay topic interesting and would also like to give feedback on it. Would you mind us doing so as well? Thanks
#1927

@simonebonato
Copy link
Author

simonebonato commented May 9, 2022

Hi @EDChui :) yes of course you can also give Feedback to it!
I'll send it to your email if you can give it to me

@nalenz
Copy link

nalenz commented May 10, 2022

Feedback for the essay “Docker containers: from 1979 till today”

High level strengths and weaknesses of the work

Strengths

  • delightful and engaging to read with straight-to-the point sentences and great explanations
  • great step-by-step history
  • the essay is easy to follow without prior knowledge in the field of containers

Weaknesses

  • for each section, more concrete references for the mentioned points should be given, i.e. mention the original source of each piece of information
  • also always good to not use Wikipedia as reference, but the references which those Wikipedia pages state at the bottom
  • the essay doesn’t really contain a reflective and a concluding part
  • the essay could include more scientific references, most of the references are from gray literature
  • formality: use BibLaTeX for references, i.e.
    • \printbibliography{} at the bottom of your main LaTeX source file
    • a file called bibliography.bib with content like this, then use something like \parencite{Example} to reference that citation:
@online{Example,
    author = {{IANA}},
    title = {Example Domain},
    urldate = {2022-05-09},
    url = {https://example.com/}
}

Further feedback and suggestions

  • Introduction
    • A introduction is included in the essay, although it could be useful to actually name the section “Introduction” since it prepares the reader on what to expect in the section
    • The problem could be stated more clearly in the introduction, and the solution could be more clearly connected to the problem, ex:
    • Problem: There is a lack of deep knowledge concerning containers amongst software developers
    • Solution: Software developers' knowledge regarding containers could deepen by investigating their history and how they became what they are today.
    • In section 1.6 it is mentioned that the LXC is the first iteration of containers that resembles containers of today. It would be helpful for the reader during prior sections, especially 1.4 and 1.5 to get a description where these are put in relation to today's containers, and how the concepts differ.
    • The tense is changed in the middle of that section.
  • section on Docker
    • suggestion: mention the concept of the Dockerfile, through which Docker configuration can be put easily into a source code version control system like git, as a Dockerfile has a purely text-based format
    • mention that Docker is not limited to Linux but also runs on Windows and Mac
    • explain the Docker ecosystem in a bit more detail (i.e. more than “management and integration with other software for CI/CD”), especially which specific extra tools other container platforms before Docker did not offer
    • could be interesting to mention microservice architecture as a partial explanation when describing the rise in popularity of containers
  • idea: have a final “Conclusion” section in which a short recap is given on which important features were added to container technology over the decades and which features are state-of-the-art nowadays
  • try to find some academic literature which, for example, compare different containerization technologies, so that you can map that to your timeline afterwards (see “Related work” below)
    • e.g. search for “containerization software history” and similar terms on Google Scholar
    • even complex citations become very easy with BibLaTeX because you can just paste the respective BibLaTeX definition from Google Scholar or somewhere els

Related work

@EDChui
Copy link

EDChui commented May 10, 2022

@simonebonato Hi, our email are [email protected] and [email protected], thank you!

@EDChui
Copy link

EDChui commented May 12, 2022

Feedback (megzari and myechui)

High-level strengths

  • The introduction provides a good motivation and background for understanding the history of containers.
  • Very organised. The essay orders different virtual machine/container technologies chronologically and shows how they impact the design and features of Docker containers of today.

High-level weaknesses

  • It would be better if there are some references made in academic literature.

Further comments

  • May mention how the development of the Internet and cloud technology impact the current technology of containers. For example, we can upload our Docker image to DockerHub or AWS ECR so that the container can be stored and shared easily when compared with the old days.
  • In section 1.8, diagrams of how Docker containers and virtual machines work differently can be added in the essay for the readers to have a better understanding.
    For example, see the diagrams in https://www.docker.com/resources/what-container/
  • Second person pronouns (“you”, “your”, “yours”) can be avoided in the essay to make it sound more professional. For example, in section 1.8, the part about scalability can be rewritten as something like “If the application needs to scale up, it can be simply done by creating other containers which can take advantage of many of the management options.”
    Reference: https://www.scribbr.com/academic-writing/pronouns/
  • Some URL links in the reference do not work or missing. For example, the link in “Welcome to Linux-VServer.org” does not redirect the reader to the website; when copying the link to the browser, there are whitespaces within the URL.

Places needed clarifications

The chroot command

In the chroot command, you say that the similarity between the two is the fact that they are both trying to Isolate. However, this is not explained why. As a beginner in the field, I understood clearly in the first part how you said that containers goal is to solve the “It works on my machine” problem, but you didn’t explain in any way why it wants to isolate. You can maybe solve the “it works for me” problem without that. The relation between the two is not clear. However, maybe you can explain somewhere that containers try to solve this problem specifically by isolating

Solaris container

I don’t find the difference between a zone and a Vserver clear. Maybe a sentence that explains that would be great, as you did for the previous sections, because you said that it mainly isolates processes. I thought that it was the case If all the resources were separated as for the V-server.

OpenVZ

You said that it is easily scalable. Does this mean that you don’t set everything manually each time you create a new container? It would be good to elaborate to show how it’s different from Solaris on that point.
Difficult to change the VPS setup: same as the last point, it would be good to give a small idea about how is the setup done

Docker

Nothing to add. It’s very well explained. I liked the fact that you explained what makes it special and also that you explained the difference between a virtual machine.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
essay One of the task categories listed in README.md proposal A task proposal
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants