# How DevOps boosts Productivity of Developer.

## What exactly is DevOps?
"DevOps" is the union of people, processes, and products to enable continuous delivery of value to our end users.
It’s people, processes, and products that deliver value.
It's kind of a technical definition to understand the main core purpose of DevOps. Let me help. So, DevOps can be best explained as people working together to conceive, build, and deliver secure software at top speed.
## Fundamental DevOps Principles

The DevOps methodology comprises four key principles that guide the effectiveness and efficiency of application development and deployment. These principles, listed below, centre on the best aspects of modern software development.
1. Automation of the Software Development lifecycle
2. Communication and collaboration
3. Continuous improvement and reduce deployment time
4. Hyper focus is on user needs with short feedback loops
Core principles must be met to the full potential of developers to make the project feasible and over the top. It should work properly. In any collaborative environment, measuring how the whole organisation is working is a hectic process.
## How DevOps works.

DevOps software development life cycle is divided in four stages.
1. Continuous development.
2. Continuous integration.
3. Continuous deployment.
4. Continuous testing.
For further explanation of DevOps you can visit [GeeksForGeeks](https://www.geeksforgeeks.org/how-devops-works/).
## Some Projects using DevOps to increase productivity.
1. Docker
2. Gradle
3. DevLake
4. Jenkins
5. Terraform
## Docker

[Docker](https://docs.docker.com/get-started/overview/) helps in streamlining the process of development by providing a standardized environment using local container. Container helps in the continuous development and continuous delivery workflow. Isoltation and security allows the developer to run as many containers simultaneously on a given host. It is using client-server architechture. Docker client interacts with Docker daemon, which does the building, running and distributing your Docker containers.
## Gradle

[Gradle](https://docs.gradle.org/current/userguide/what_is_gradle.html) is an Open-Source build automation tools which is flexible to build all most any type of software. Gradle runs on JVM so it is totally focus on Java based projects. Gradle is the official build tool for android. Gradle is build in such a way that is extensible in the most fundamental ways. Gradle allows the developer to be used for native development with C/C++. It also provides web based UI for for debugging and optimizing builds.
## DevLake

[DevLake](https://devlake.apache.org/) Apache DevLake is an open-source dev data platform that ingests, analyzes, and visualizes the fragmented data from DevOps tools to distill insights for engineering productivity. DevLake analyze the repository data and represents the data using [grafana](https://grafana.com/oss/grafana/) Dashboard.
[How to Collect Data-Metric from a persistent repository using DevLake]()
## Jenkins

[Jenkins](https://www.jenkins.io/doc/pipeline/tour/getting-started/) is all about building your code testing it and deploying it. Jenkins is an open-source automation tool written in JAVA and built for continuous integration purposes. It is used to build and test software projects continuously so that it will be easier for developers to integrate changes to the project. Jenkins achieves continuous integration with help of Plugins. Plugins allow this integration of various DevOps stages. Are you want to integrate particular extensions for eg. [HTML publisher](https://plugins.jenkins.io/htmlpublisher/), [GitHub](https://plugins.jenkins.io/github/) , [Maven](https://www.jenkins.io/doc/tutorials/build-a-java-app-with-maven/) , [Amazon EC2](https://plugins.jenkins.io/ec2/).
## Terraform

[Terraform](https://www.terraform.io/docs) is an open-source Infrastructure as a tool originally developed by Hashicorp that enables you to automate and manage your infrastructure, platform, and services as well. It does all of this using a declarative language. It enables you to create ,change , improve and versioning infrastructure safely and efficiently. Terraform is the first multi-cloud Infrastructure as a code tool. It can create Infrastructure across all major infrastructure provides such as AWS, GCP, Azure, OpenStack, VMWare, IBM and more.
## How Devlake is helping increasing the productivity of developers as well as organisation.

Before knowing how exactly Devlake is increasing the productivity of development teams and developers, we need to clarify what productivity we are actually focusing on.
> What is productivity?
> The term productivity is defined as the amount of output you churn out compared to input.
So, you and your team mate can define the input of work they can put in the project but how the oraganisation maintaining the project will get to find output is proportional to input.
Here come DevLake which analyses the whole contribution process and gives you the best analytical graphical representation of the progress which contains all the important aspects of development.