Skip to main content

Posts

Showing posts from December, 2021

Version Control- Git

Version Control System is how one tracks changes, modifications, and updates to source files over time. Creating a history of changes for a project over time. Version control is a system that records changes to a file or set of files over time so that you can recall specific versions later. Version control software keeps track of every modification to the code in a special kind of database. If a mistake is made, developers can turn back the clock and compare earlier versions of the code to help fix the mistake while minimizing disruption to all team members. Used for: Documentation Code Configuration Collaboration Other Names Include: Source Control Management (SCM) Version Control Software Revision Control Software

Docker - Containerization

Container is a sandboxed process on your machine that is isolated from all other processes on the host machine. That isolation leverages kernel namespaces and cgroups, features that have been in Linux for a long time. Docker has worked to make these capabilities approachable and easy to use. To summarize, a container: is a runnable instance of an image. You can create, start, stop, move, or delete a container using the DockerAPI or CLI. can be run on local machines, virtual machines or deployed to the cloud. is portable (can be run on any OS) Containers are isolated from each other and run their own software, binaries, and configurations. Container Image: When running a container, it uses an isolated filesystem. This custom filesystem is provided by a container image. Since the image contains the container’s filesystem, it must contain everything needed to run an application - all dependencies, configuration, scripts, binaries, etc. The image also contains other configuration for t...

DevOps & Linux

DevOps is a field which takes skills from Software Development and Operations Engineering to create and run applications more effectively. Development + Operations == Better Services DevOps defines 5 key pillars of success: Reduce organizational silos Accept failure as normal Implement gradual changes Leverage tooling and automation Measure everything System Administator will Responsible for systems (typically servers) running code, applications, and services Keeping applications running (they crash, sometimes a lot) Updates, Security Monitoring, Logging Automates significant amounts of work with infrastructure This enables a small team to administer hundreds or thousands of servers Involved in infrastructure architecture and decisions Can be involved in QA/Development work as well.