DevOps Flashcards
explain the differences between docker image and docker container
docker images are templates of docker containers, containers are runtime instances of docker docker images. An image is build using Docker file, containers are created using docker images. Images are stores in a docker repo containers are stored in the docker daemon. The image layer is read only.
What are the advantages of docker ?
occupy less space. short boot up time, easy to scale up, High efficiency, easily portable across different platforms, data volumes are shared and used again across multiple containers.
what are the ways in which a build can be scheduled in Jenkins ?
By source code mgt commits ie webhooks, After the completion of other builds, scheduled to run at a specific time, manual build.
explain the concept of branching in git
Suppose you are working on an app, and you want to add a new feature to the app , you can create a new new branch and build the new feature to the branch.
what is the difference between git fetch and git pull?
git fetch only downloads new data from a remote repo, git pull updates the current head branch with the latest changes. Git fetch does not integrate any new data into your working file, git pull downloads new data and integrates it with the current working files.
what is the process of reverting a change that has already been pushed and made public?
remove or fix the bad file in a new commit and push it to the remote repo. create a new commit that undo’s all the changes made in the bad commit. git revert <command></command>
what is the difference between a centralized and distributed VCS?
In a centralized VCS, all file versions are stored in a central server, no developer has a copy of all files on a local system. In a distributed VCS, every developer has a copy of all versions of the code on their systems. There is no threat even if the server crashes.
What is blue green deployment?
It is a method of CD where traffic is transferred from one instance to another , in order to include a fresh version of the code. The new version exists in a green env and the old version exists in a blue env.
what is shift left?
It refers to starting testing and quality assurance earlier in the software development process instead of waiting till the end of development to test the software. this helps to identify and fix issues sooner, leading to higher quality software and a more efficient development process.
Describe the branching strategy you have used.
Feature Branching: Maintains all modifications for a specific feature contained withing a branch. the branch gets merged into main once the feature has been completely tested and approved by using automated tests. GITFLOW: A branching model with dedicated branches for feature, release and hot fixes and a main branch for stable releases.
what are the benefits of using VCS?
See who made what changes to the a project, team members can work on any file at anytime which can be integrated into a single version, All previous versions are properly stores. A complete history of a project can be retrieve even if the main server goes down.
what is the role of AWS in DevOps?
provides ready to use services without the need to install the software. it allows you to automate tasks, giving you more time to innovate, It supports a large ecosystem of partners that integrate with and extend aws services.
Name three important KPI’s (key performance indicators) in DevOps
KPI’s are metrics used to elevate the effectiveness and success of DevOps practices within an org. DEPLOYMENT FREQUENCY: How often new code is deployed to production. MTTR: the average time it takes to recover from production failure. CHANGE FAILURE RATE: The percentage of deployment that causes failure in production.
what is the role of configuration management in DevOps?
Enables the management of multiple systems, standardizes resource configurations, helps with the management of multiple servers and maintains the integrity of the entire infrastructure.
what is the difference between CD and CI?
Continuous delivery delivers every change to a production like env’t through rigorous automated testing. In continuous deployment, every change that passes the automated tests is deployed to production automatically.