DevOps

What is DevOps?

What is DevOps?

DevOps is one of system development method.

It’s indicate proceeding with development to cooperate with development team and operation team.

“DevOps” is a compound word that “Development” and “Operations”.

How to practice DevOps

https://katalon.com/resources-center/blog/devops-lifecycle

1. Plan

First, We need to plan overall procedure of project.

In planning, we do requirements definition and architecture design, etc.

And then, We need to prepare a environment to share a information each other development team and operation team.

Tool

Project Management Tool
1. Jira
2. Trello

Collaboration Tool
1. Confluence
2. Miro

2. Code

In coding, programmer create source code according to requirements definition.

Tool

Version Management System
1. GitHub
2. GitLab
3. Bitbucket

IDE
1. Visual Studio Code
2. IntelliJ IDEA

3. Build

“Build” in DevOps, It pointe to gather source code in one place and to create a software actually to work.

Build is possible to execute manually, but it’s generally used a build automation tool.

Tool

Build Automation Tool
1. Maven
2. Gradle
3. Ant

Continuous Integration Tool
1. Jenkins
2. GitLab CI/CD
3. CircleCI
4. Travis CI

Container Tool
1. Docker

4. Test

In test process, We actually work a product in test environment and check whether there are bug or not.

Tool

Auto Test Framework
1. Selenium
2. JUnit, TestNG
3. Cucumber

Code Quality Analysis Tool
1. SonarQube

5. Deploy

In deploy, We do packaging a developed software and to put source code to production environment that user can use.

In DevOps, generally use CI/CD tool and automate from created source code to this deploy process.

By doing so, We can shorten development cycle and we can efficiently proceed software development.

Tool

Artifact Management Tool
1. Artifactory
2. Nexus

Release Pipeline Tool
1. Jenkins
2. GitLab CI/CD

6. Operate

In this process, we need to share circumstances to all of team and smoothly proceed a work.

By using tool and consolidate operation working into one platform, If we occurred a incident, we can quickly response.

Tool

Configuration Management Tool
1. Ansible
2. Puppet
3. Chef

Container/Orchestration Tool
1. Kubernetes
2. Docker Swarm

Infrastructure Automation Tool
1. Terraform

7. Feedback / Monitor

After release a software, we continuously gather feedback from a user and reflect feedback in a next development.

At first glance, Monitor and Feedback are understood a cause of delay a development pace, but in the long run, it’s important process to improve development efficiency.

Tool

Operation / Infrastructure Monitor Tool
1. Nagios
2. Zabbix

Log Management Tool
1. Splunk
2. ELK Stack(Elasticsearch, Logstash, Kibana)

Performance Monitor Tool
1. New Relic
2. AppDynamics