Introduction to tools
If you need an intro/introduction to any of the following tools Git, Docker, Yarn, Kubernetes, Ansible, Terraform, Xamarin, Puppet, Deno, Chef, GraphQL, please watch my videos on my YouTube playlist “Introduction to tools”.
Introduction to Git
Git is software for tracking changes in any set of files, usually used for coordinating work among programmers collaboratively developing source code during software development.
Its goals include speed, data integrity, and support for distributed, non-linear workflows (thousands of parallel branches running on different systems).
Git was originally authored by Linus Torvalds in 2005 for development of the Linux kernel, with other kernel developers contributing to its initial development.
Since 2005, Junio Hamano has been the core maintainer.
As with most other distributed version control systems, and unlike most client–server systems, every Git directory on every computer is a full-fledged repository with complete history and full version-tracking abilities, independent of network access or a central server.
Git is free and open-source software distributed under the GPL-2.0-only license.
Content source:
https://en.wikipedia.org/wiki/Git
Introduction to Docker
Docker is a set of platform as a service (PaaS) products that use OS-level virtualization to deliver software in packages called containers.
The service has both free and premium tiers.
The software that hosts the containers is called Docker Engine.
It was first started in 2013 and is developed by Docker, Inc.
Docker Inc. was founded by Kamel Founadi, Solomon Hykes, and Sebastien Pahl during the Y Combinator Summer 2010 startup incubator group and launched in 2011.
The startup was also one of the 12 startups in Founder’s Den first cohort.
Hykes started the Docker project in France as an internal project within dotCloud, a platform-as-a-service company.
Docker debuted to the public in Santa Clara at PyCon in 2013.
It was released as open-source in March 2013.
At the time, it used LXC as its default execution environment.
Content source:
https://en.wikipedia.org/wiki/Docker_software
Introduction to Yarn
Yarn is a software packaging system developed in 2016 by Facebook for the Node.js JavaScript runtime environment.
An alternative to the npm package manager, Yarn was created as a collaboration of Facebook, Exponent (now Expo.dev), Google, and Tilde (the company behind Ember.js) to solve consistency, security, and performance problems with large codebases.
Comparison to npm:
- Yarn can install packages from local cache
- Yarn binds versions of the package strongly
- Yarn uses checksum for ensuring data integrity, while npm uses SHA-512 to check data integrity of the packages downloaded
- Yarn installs packages in parallel, while npm installs one package at a time
Content source:
https://en.wikipedia.org/wiki/Yarn_(package_manager)
Introduction to Kubernetes
Kubernetes is an open-source container orchestration system for automating software deployment, scaling, and management.
Google originally designed Kubernetes, but the Cloud Native Computing Foundation now maintains the project.
Kubernetes works with Docker, Containerd, and CRI-O.
Originally, it interfaced exclusively with the Docker runtime through a “Dockershim”; however, from 2016 up to April 2022, Kubernetes has deprecated the shim in favor of directly interfacing with the container through Containerd, or replacing Docker with a runtime that is compliant with the Container Runtime Interface (CRI).
With the release of v1.24 in May 2022, “Dockershim” has been removed entirely.
Amazon, Google, IBM, Microsoft, Oracle, Red Hat, SUSE, Platform9 and VMware offer Kubernetes-based platforms or infrastructure as a service (IaaS) that deploy Kubernetes.
Content source:
https://en.wikipedia.org/wiki/Kubernetes
Introduction to Ansible
Ansible is an open-source software provisioning, configuration management, and application-deployment tool enabling infrastructure as code.
It runs on many Unix-like systems, and can configure both Unix-like systems as well as Microsoft Windows.
It includes its own declarative language to describe system configuration.
Ansible was written by Michael DeHaan and acquired by Red Hat in 2015.
Ansible is agentless, temporarily connecting remotely via SSH or Windows Remote Management (allowing remote PowerShell execution) to do its tasks.
Content source: