Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

edit post 데브옵스 정의 #11

Merged
merged 1 commit into from
Jul 4, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
103 changes: 87 additions & 16 deletions _posts/2023/2023-12-11-DevOps-Definition.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,91 @@ layout: single
title: "데브옵스 정의"
categories: DevOps
tag: [DevOps]
toc: true
---

#### 데브옵스란..
## DevOps 정의

### DevOps 모델

애플리케이션과 서비스를 빠른 속도로 제공할 수 있도록 조직의 역량을 향상시키는 문화 철학, 방식 및 도구의 조합

기존의 소프트웨어 개발 및 인프라 관리 프로세스를 사용하는 조직보다 제품을 더 빠르게 혁신하고 개선

빠른 속도를 통해 조직은 고객을 더 잘 지원하고 시장에서 좀 더 효과적으로 경쟁

![DevOps](/images/2023/12/Devops.png)

### 작동 방식

- 개발팀과 운영팀이 더 이상 "사일로"에 묶여 있지 않음
- 때로는 이 두 팀이 단일팀으로 병합되어 엔지니어가 개발에서 테스트, 배포, 운영에 이르기까지 전체 애플리케이션 수명 주기에 걸쳐 작업하고 단일 기능에 한정되지 않은 광범위한 기술을 개발

- 일부 DevOps 모델에서 품질 보증팀과 보안팀 또한 애플리케이션 수명 주기에 걸쳐 개발 및 운영과 좀 더 긴밀하게 통합
- DevOps 팀 전체가 보안을 중점으로 두는 경우 때때로 DevSecOps라고 불림

- DevOps 방식을 사용하여 속도가 느리고 수동으로 수행되던 프로세스를 자동화
- 애플리케이션을 안정적으로 빠르게 운영하고 개선하는 데 도움이 되는 기술 스택과 도구를 사용

→ 다른 팀의 도움이 필요했을 코드 배포 또는 인프라 프로비저닝과 같이 작업을 독립적으로 수행할 수 있으며, 따라서 팀의 작업 속도가 더욱 빨라짐

### DevOps의 이점

- **속도**
- 작업 속도가 빨라지므로 고객을 위해 더 빠르게 혁신하고, 시장 변화에 더 잘 적응하고, 좀 더 효율적으로 비즈니스 성과를 창출할 수 있음
- ex) 마이크로 서비스와 지속적 전달을 사용하면 팀에서 서비스를 주도적으로 운영하여
업데이트를 좀 더 빠르게 릴리스 가능
- **신속한 제공**
- 릴리스의 빈도와 속도를 개선하여 제품을 더 빠르게 혁신하고 개선
- 새로운 기능의 릴리스와 버그 수정 속도가 빨라질수록 고객의 요구에 더 빠르게 대응하여
경쟁 우위를 강화
- 지속적 통합과 지속적 전달은 빌드에서 배포까지 소프트웨어 릴리스 프로세스를 자동화하는 방식
- **안정성**
- 더욱 빠르게 안정적으로 제공할 수 있도록 애플리케이션 업데이트와 인프라 변경의 품질을 보장
- 지속적 통합 및 지속적 전달과 같은 방식을 사용하여 각 변경 사항이 제대로 작동하며
안전한지 테스트
- 모니터링과 로깅 방식을 통해 실시간으로 성능에 대한 정보를 얻음
- **확장**
- 규모에 따라 인프라와 개발 프로세스를 운영 및 관리
- 자동화와 일관성이 지원되므로 위험을 줄이면서 복잡한 시스템 또는 변화하는 시스템을 효율적으로 관리(휴먼 에러 방지)
- ex) 코드형 인프라를 사용하면 개발, 테스트 및 프로덕션 환경을 반복 가능하고 좀 더 효율적인 방식으로 관리
- **협업 강화**
- 주인의식 및 책임과 같은 가치를 강조하는 DevOps 문화 모델에서 좀 더 효과적인 팀을 구축
- 개발자와 운영팀은 긴밀하게 협력하고, 많은 책임을 공유하며, 워크플로를 결합
→ 비효율성을 줄이고 시간을 절약
ex) 개발자와 운영팀 간의 인도 기간 단축, 실행되는 환경을 고려한 코드 작성 등
- **보안**
- 제어를 유지하고 규정을 준수하면서 신속하게 진행
- 자동화된 규정 준수 정책, 세분화된 제어 및 구성 관리 기술을 사용함으로써 보안을 그대로 유지하면서 DevOps 모델을 도입할 수 있음
- ex) 코드형 인프라와 코드형 정책을 사용하면 규모에 따라 규정 준수를 정의하고 추적 가능


### DevOps가 중요한 이유

20세기에 실제 상품을 제조하는 기업이 산업 자동화를 통해 제품의 설계, 생산 및 전달 방법을 혁신한 것과 마찬가지로, 오늘날의 기업은 소프트웨어를 구축하고 제공하는 방법을 혁신해야 함

## DevOps 모델을 도입하는 방법

**DevOps 문화 철학**

- DevOps는 기존에 사일로에 묶여 있던 개발과 운영이라는 두 팀 간의 장벽을 없애줌
일부 조직에서는 개발팀과 운영팀이 나뉘어 있지 않고 엔지니어가 두 업무를 모두 수행할 수도
- DevOps에서는 두 팀이 함께 작업하여 개발자의 생산성과 운영의 안정성을 모두 최적화
- DevOps 모델을 사용하는 조직은 어떻게 구성되어 있든, 전체 개발 및 인프라 수명 주기를 스스로의 책임으로 간주하는 팀들로 구성

**DevOps 방식 설명**

개발과 인프라 관리 프로세스의 자동화 및 간소화를 통해 더 빠르게 혁신할 수 있도록 → 적절한 도구

- 기본 방식 중 하나는 *소규모 업데이트*를 자주 수행하는 것
- 기존 릴리스 방식에서 수행되는 낮은 빈도의 업데이트보다 일반적으로 좀 더 증분적인 특성
- 소규모로 자주 업데이트하면 각 배포의 위험이 줄어듬
- 팀에서 오류의 원인이 되는 최근 배포를 확인할 수 있으므로 더 빠르게 버그를 해결 가능
- 기존 소프트웨어 개발 방식을 사용하는 조직보다 훨씬 더 자주 업데이트를 배포
- *마이크로 서비스 아키텍처*를 사용하여 애플리케이션의 유연성과 혁신의 속도를 높일 수 있음


### 기업에서의 정의

Red Hat : 신속한 고품질 서비스 제공을 통해 비즈니스 가치를 높이고 대응 능력을 개선할 목적으로 기업 문화, 자동화, 플랫폼 설계에 접근하는 방식
AWS : 애플리케이션과 서비스를 빠른 속도로 제공할 수 있도록 조직의 역량을 향상시키는 문화 철학, 방식 및 도구의 조합
Expand All @@ -25,21 +107,10 @@ AWS : 애플리케이션과 서비스를 빠른 속도로 제공할 수 있도
* 위의 기술과 도구를 이용해 코드 배포 또는 인프라 프로비저닝과 같은 작업을 독립적으로 수행


#### DevOps의 이점
* 속도
작업 속도가 빨라지므로 고객을 위해 더 빠르게 혁신하고, 시장 변화에 더 잘 적응하고, 좀 더 효율적으로 비즈니스 성과를 창출
* 신속한 제공(CI/CD)
릴리스의 빈도와 속도를 개선하여 제품을 더 빠르게 혁신하고 개선
* 안정성
최종 사용자에게 지속적으로 긍정적인 경험을 제공하는 한편 더욱 빠르게 안정적으로 제공할 수 있도록 애플리케이션 업데이트와 인프라 변경의 품질을 보장
* 확장(IaC)
규모에 따라 인프라와 개발 프로세스를 운영 및 관리합니다. 자동화와 일관성이 지원되므로 위험을 줄이면서 복잡한 시스템 또는 변화하는 시스템을 효율적으로 관리
* 협업 강화
주인의식 및 책임과 같은 가치를 강조하는 DevOps 문화 모델에서 좀 더 효과적인 팀을 구축
* 보안
제어를 유지하고 규정을 준수하면서 신속하게 진행할 수 있습니다. 자동화된 규정 준수 정책, 세분화된 제어 및 구성 관리 기술을 사용함으로써 보안을 그대로 유지하면서 DevOps 모델을 도입

세상은 빠르게 변화하고 있고 고객은 이러한 변화의 니즈를 충족시켜 주길 원한다.
기업은 이 니즈를 충족시키기 위해 고객의 피드백이나 새로운 서비스를 더 빠르게 개발하고 배포해야 하며 이러한 프로세스에 데브옵스가 안성맞춤인 것 같다.

참고 : https://aws.amazon.com/ko/devops/what-is-devops/

## ***Reference***
https://aws.amazon.com/ko/devops/what-is-devops/<br/>
[Stephen Orban - 엔터프라이즈 기업의 클라우드 도입 모범 사례](https://aws.amazon.com/ko/blogs/korea/stepen-orban-an-e-book-of-cloud-best-practices-for-your-enterprise/)
Binary file added images/2023/12/Devops.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.