diff --git a/_posts/2023/2023-12-11-DevOps-Definition.md b/_posts/2023/2023-12-11-DevOps-Definition.md index 6d295f1737d4..95d92994f08e 100644 --- a/_posts/2023/2023-12-11-DevOps-Definition.md +++ b/_posts/2023/2023-12-11-DevOps-Definition.md @@ -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 : 애플리케이션과 서비스를 빠른 속도로 제공할 수 있도록 조직의 역량을 향상시키는 문화 철학, 방식 및 도구의 조합 @@ -25,21 +107,10 @@ AWS : 애플리케이션과 서비스를 빠른 속도로 제공할 수 있도 * 위의 기술과 도구를 이용해 코드 배포 또는 인프라 프로비저닝과 같은 작업을 독립적으로 수행 -#### DevOps의 이점 -* 속도 -작업 속도가 빨라지므로 고객을 위해 더 빠르게 혁신하고, 시장 변화에 더 잘 적응하고, 좀 더 효율적으로 비즈니스 성과를 창출 -* 신속한 제공(CI/CD) -릴리스의 빈도와 속도를 개선하여 제품을 더 빠르게 혁신하고 개선 -* 안정성 -최종 사용자에게 지속적으로 긍정적인 경험을 제공하는 한편 더욱 빠르게 안정적으로 제공할 수 있도록 애플리케이션 업데이트와 인프라 변경의 품질을 보장 -* 확장(IaC) -규모에 따라 인프라와 개발 프로세스를 운영 및 관리합니다. 자동화와 일관성이 지원되므로 위험을 줄이면서 복잡한 시스템 또는 변화하는 시스템을 효율적으로 관리 -* 협업 강화 -주인의식 및 책임과 같은 가치를 강조하는 DevOps 문화 모델에서 좀 더 효과적인 팀을 구축 -* 보안 -제어를 유지하고 규정을 준수하면서 신속하게 진행할 수 있습니다. 자동화된 규정 준수 정책, 세분화된 제어 및 구성 관리 기술을 사용함으로써 보안을 그대로 유지하면서 DevOps 모델을 도입 - 세상은 빠르게 변화하고 있고 고객은 이러한 변화의 니즈를 충족시켜 주길 원한다. 기업은 이 니즈를 충족시키기 위해 고객의 피드백이나 새로운 서비스를 더 빠르게 개발하고 배포해야 하며 이러한 프로세스에 데브옵스가 안성맞춤인 것 같다. -참고 : https://aws.amazon.com/ko/devops/what-is-devops/ \ No newline at end of file + +## ***Reference*** +https://aws.amazon.com/ko/devops/what-is-devops/
+[Stephen Orban - 엔터프라이즈 기업의 클라우드 도입 모범 사례](https://aws.amazon.com/ko/blogs/korea/stepen-orban-an-e-book-of-cloud-best-practices-for-your-enterprise/) \ No newline at end of file diff --git a/images/2023/12/Devops.png b/images/2023/12/Devops.png new file mode 100644 index 000000000000..0c4c07f4c249 Binary files /dev/null and b/images/2023/12/Devops.png differ