DevOps for beginners

ยท

3 min read

DevOps is traditionally a methodology that solves the limitations faced in agile and waterfall models.

Stages involved in DevOps:

  1. Version control-maintain different versions of the code

  2. Continues Integration -compile code review and unit testing

  3. Continues delivery-Deploy the build application to test servers.

Source code management

Imagine there are a developers working on a project and an error occurs,how will they discover who did the error and where exactly?

There are two types of source code management:

1.centralized Version control system -enables team collaboration,works on same repository.

2.Distribuyrd version control system

Git as a Version control tool

Git is a distributed Version control tool that supports distributed non-linear workflows by providing data assurance for developing quality software.

Basics operations to perform with git:

1 git add

2 git status

3 git commit

Continuous Integration

Continuous Integration is basically a development practice in which the developer is required to commit changes several times a day or you can say more frequently.

Continuous Delivery

CD is basically taking containers to the next step.

Importance of CI/CD

1.Incase there is a breakdown or error in a code,we will get to know the area where the error has occurred.we do not have to go through the entire code.

Jenkins

Jenkins is an open source automation tool used to build and test software projects.

The tool makes it easier for developers to integrate changes to the project.

Jenkins turns out to be a best fit for building CI/CD pipeline because of its flexibility,openness,plugin-capabilities,and simple to use nature.

There are two steps to build a pipeline in Jenkins

  1. Java Development kit

  2. Knowledge to execute basic Linux commands

Configuration management tool

1.Puppet- falls in the Ops side of DevOps.It is a configuration management tool.Puppet ensures that your systems are maintained in a consistent management state.

why puppet?

Through simple codes written in ruby,severs can be deployed in matter of seconds and security can be enforced.

Puppet implements infrastructure as code

Puppet also used as a deployment tool.

Puppet architecture

  1. puppet master -Where your system administrator seats

  2. Puppet Clients-availablr clients who require configuration

Containerization

Did you know that before docker and containers were introduced,companies were deploying their applications in a virtual machine.

Why is Docker Containers essential in an organization?

1.Due to different computer environment, installation of applications is done separately on different computers which is tiring and alot of effort.

W hat is Docker?

Docker is a open-source platform that helps a user to package an application and it's dependencies into a Docker Container for deployment and development of software.

Benefits of Docker

1.Since it Is lightweight,they can be easily deployment in other environments regardless of their OS.

Docker provides suitable frameworks for different applications.

Containers run applications in isolation and also share the OS candle with other candles

By default, containers are secure.

Containers are highly portable.

Virtualization

The method of running a virtual version of a computer resource (hardware, software,etc) on the cloud.

Containerization Vs Virtualization

These are two different ways of deploying applications in a computer environment.

VM has unstable performance as multiple VMs run simultaneously.

The efficiency is not as high as docker containers.

Docker is more efficient,it doesn't have a gues OS unlike VMs.

Docker is easily portable in different platforms.

Architecture of Docker

Has two components ;

Docker Clients and Docker Daemond

Docker Client is a service which uses RESTAPI to send commands to Docker Daemond through CLI commands.

Docker Daemon checks the clients requests and communicates with the Docker components in order to perform a service.

Docker Image is a file of instructions which is used to create Containers.

ย