DevOps
DevOps란?
DevOps란 클라우드 데이터 센터의 운영 환경에서 소프트웨어 코드의 개발과 운영에 관련된 폭넓은 활동을 의미합니다. DevOps는 민첩한 프로젝트 관리 기법과 마이크로 서비스 지원을 중심으로 합니다. DevOps는 버전 제어 표준에 따른 자동화를 통해 소프트웨어 개발 수명주기 전체에 적용됩니다. DevOps에서 가장 흔히 사용되는 버전 제어 솔루션은 Git이며, Subversion(SVN)과 CVS가 그 뒤를 따르고 있습니다. 또한 DevOps에는 소프트웨어 수명주기, 자동화된 코드 테스팅, 컨테이너 조정, 클라우드 호스팅, 데이터 분석에 대한 CI/CD 요구 사항 관리가 포함됩니다.
관련 주제
DevOps의 이점
- 민첩한 팀 프로젝트 관리: 웹사이트 및 모바일 애플리케이션의 소프트웨어 개발에 대한 관리를 강화합니다.
- 소프트웨어 개발 프로세스 최적화: 지속적인 통합 및 지속적인 제공(CI/CD) 기능을 통해 실현됩니다. CI/CD를 통해 기업은 신속한 코드 변경을 통해 새로운 소프트웨어 기능을 출시하여 시장에 새로운 혁신을 불러일으킬 수 있습니다. 자동화된 버전 제어 시스템 및 컨테이너를 통해 웹 서버 코드 또는 애플리케이션 스크립트를 간편하게 업그레이드할 수 있습니다.
- 용이한 협업: 개발자는 Git를 통해 라인 항목을 롤백할 수 있어 팀 단위로 협업할 수 있습니다.
- 자동화를 통한 효율성: CI/CD는 기업 프로그래밍 툴, IDE, 타사 유틸리티를 통해 자동화된 코드 테스팅을 지원합니다. 소프트웨어 개발 수명주기 관리를 위해 DevOps를 도입한 기업은 데이터 센터 프로세스, 웹 서버 프로비저닝, 데이터베이스 관리, 정보 공유, 배포 스케줄링, 비즈니스 인텔리전스의 자동화를 향상할 수 있습니다.
DevOps 활동
DevOps 활동은 웹 서버 스택의 모든 계층에서 통합되며 여러 프로그래밍 팀의 협업을 실현함에 있어 탁월한 이점을 제공합니다. DevOps 팀과의 민첩한 프로젝트 관리에 흔히 사용되는 CALMS 프레임워크는 문화, 자동화, 간소화, 측정, 공유(Culture, Automation, Lean, Measurement, Sharing)의 약자입니다.
- 문화를 위해서는 모든 프로그래밍 팀 내 프로그래머, 개발자, 시스템 관리자의 라이프스타일 목표를 존중해야 합니다.
- 자동화는 특히 코드 테스팅 및 배포나 데이터 센터 관리 프로세스의 소프트웨어 개발 수명주기 전체에 걸쳐 이루어집니다.
- 간소화는 인재 및 장비 프로비저닝의 비용 관리를 의미합니다.
- 측정은 데이터 분석, 실시간 모니터링, 비즈니스 측정지표에 중점을 두어 운영 벤치마크에 대한 피드백을 제공합니다.
- 공유는 모든 규모의 비즈니스 또는 프로젝트를 위한 오픈 소스 솔루션과 코드의 이점을 강조합니다.
DevOps의 역사
DevOps는 클라우드 시대의 웹 개발과 시스템 관리의 조합을 거쳐 탄생했습니다. SaaS 애플리케이션에는 운영 환경에서 코드를 관리하고 클라우드 웹 서버로 배포하기 위해 더 복잡한 방식이 필요했습니다. DevOps에서는 컨테이너 조정과 탄력적인 웹 서버 프레임워크의 개발이 중요합니다. 민첩한 프로젝트 관리 철학은 DevOps에서 결정적인 역할을 합니다. 클라우드 로드 밸런싱, 웹 서버 혁신, 소프트웨어 수명주기 자동화는 모두 DevOps의 핵심 원칙입니다. DevOps의 모범 사례는 컴퓨터 공학 분야의 학술 연구, 클라우드 데이터 센터 기술의 혁신, 소프트웨어 개발을 통한 세계 최대 규모 기업의 산업용 애플리케이션 구현이 접목되어 이루어집니다.
DevOps 작동 방식
DevOps는 주로 분산된 여러 개발자 팀이 테스팅 환경에서 데스크톱 컴퓨터나 랩탑으로 sandbox화된 코드 작업을 하는 방식으로 운영됩니다. 개발자가 버전 제어 소프트웨어를 사용하여 코드 변경 사항을 sandbox 환경에 적용하면 커밋 프로세스 전반에서 자동화된 코드 테스팅이 구현됩니다. 코드 변경 사항 테스트가 완료되면 버전 제어를 통해 sandbox에서 웹 서버로 코드 변경 사항이 바로 적용됩니다. 컨테이너 시스템에서는 웹 서버가 디스크 이미지를 사용하여 프로비저닝됩니다. Docker 데스크톱 개발 환경은 버전 제어와 통합되어 전체 디스크 이미지 프린트를 통해 코드를 웹 서버에 퍼블리싱하고 이 디스크 이미지 프린트는 풀스택 웹 서버를 컨테이너로 로드합니다. dp디스크 이미지는 GitHub, GitLab, DockerHub, Quay 또는 기타 서비스에 보관하여 Kubernetes와 같은 자동화된 컨테이너 조정 프레임워크에 사용할 수 있습니다.
버전 제어, CI/CD, 정보 공유, 웹 서버 구성, 데이터 센터 자동화, 코드 테스팅, 아티팩트 관리, 네트워크 모니터링, 분석은 모두 대기업과 기타 복잡한 조직의 전문 프로그래밍 및 소프트웨어 개발 팀에서 사용하는 DevOps 활동의 핵심 요소로 간주됩니다.
DevOps 및 다른 접근 방식 간 비교
DevOps에 대한 다른 접근 방식으로는 민첩한 프로젝트 관리, ArchOps, 지속적인 통합/지속적인 제공(CI/CD), DataOps, WebOps, GitOps가 있습니다. 비즈니스 관리 철학과 마찬가지로, 이들은 프로젝트 관리와 팀 조직에 있어 중시하는 부분이 각각 다릅니다. 일부는 인재 솔루션에, 일부는 하드웨어 및 소프트웨어 플랫폼에 중점을 둡니다. 공통적인 요소는 주로 대기업의 대규모 웹사이트 및 모바일 애플리케이션을 위한 클라우드 데이터 센터에서의 소프트웨어 코드 개발 및 운영입니다.
DevOps를 도입하는 주체
Fortune 선정 상위 500개 기업 대부분은 산업 모범 사례로 간주되고 있는 DevOps 방법론을 이미 도입했습니다. 규모가 가장 큰 IT 회사들은 퍼블릭 클라우드 아키텍처 운영을 최적화하기 위해 DevOps의 발전을 주도하고 있습니다. DevOps는 컴퓨터 공학 분야의 학술 연구와 전문 프로그래밍 팀 내 기업 소프트웨어 개발의 조합을 바탕으로 합니다. DevOps는 모든 비즈니스가 소프트웨어 개발 및 운영에 있어 비용을 절감하고 효율성을 향상할 수 있도록 지원합니다. 많은 스타트업도 시장 우위를 확보하거나 기존 시장에 진입하기 위해 DevOps 방법론 도입에 앞장서고 있습니다. DevOps 도입은 주로 퍼블릭 클라우드 호스트에 풀스택 솔루션을 구축해야 하는 전문 프로그래머와 시스템 관리자가 주도하고 있습니다.
DevOps 배포 및 도입
대기업에서는 DevOps 배포가 증가하고 있으며 Spiral과 Waterfall 등의 중앙집중식 또는 모놀리식 프로젝트 관리 방식은 감소하고 있습니다. DevOps의 이러한 동향은 복잡한 비즈니스 조직이 지원해야 하는 마이크로 서비스의 확산에 따른 것입니다. 스타트업과 대기업 모두의 주된 관심사는 소프트웨어 개발의 속도와 보안을 향상하는 것입니다. DevOps 방법론을 통해 기업은 새로운 코드 변경 사항을 신속하게 운영 환경에 도입하고 기존 온라인 서비스를 중단하지 않고도 보안 취약성을 개선할 수 있습니다. 기업은 전자상거래 사이트에서 브랜드, 제품, 기타 서비스를 지원하기 위한 대규모 웹/모바일 애플리케이션 배포에 DevOps 기술을 사용하여 데이터 센터를 클라우드로 마이그레이션함으로써 혹은 미디어 산업의 웹 퍼블리싱 요구 사항을 충족하여 수익을 극대화하고자 합니다. 산업 제조 회사와 통신사는 제품 및 서비스 지원을 위한 대규모 프로그래밍 팀 구성원 간 협업을 증진하기 위해 DevOps를 도입합니다.
VMware DevOps 관련 제품, 솔루션, 참고 자료
하이퍼 컨버지드 인프라란?
하이퍼 컨버지드 인프라(HCI)는 플래시로 가속화된 업계 표준 서버 기반으로 핵심 데이터 서비스를 통합하는 수평 확장 소프트웨어 정의 인프라입니다. 자세한 정보
소프트웨어 정의 스토리지란?
VMware 소프트웨어 정의 스토리지는 비즈니스 및 애플리케이션 요구 사항에 부합하는 단순하면서도 지능적인 스토리지 데이터 센터 아키텍처입니다. 지금 자세히 알아보십시오.
Software-Defined Data Center: 디지털 트랜스포메이션을 위한 기반
VMware는 더 간단하고 유연한 Software-Defined Data Center(SDDC)를 구축하여 프라이빗 및 하이브리드 클라우드에 대한 당면 과제를 해결할 수 있도록 지원합니다. 무료 평가판을 사용해 보십시오.
ThinApp 배포 툴 및 옵션
네트워크 파일 공유 환경에서 배포 툴을 이용하여 캡처된 애플리케이션을 사용자 데스크톱 혹은 VMware View 환경에 기본적인 실행 파일로서 배포할 수 있습니다.
vRealize Operations Manager 솔루션에 대한 모니터링 목표 정의
vRealize Operations Manager에 추가하는 관리 팩 솔루션을 위한 정책을 생성할 수 있습니다.