INSPIRATION/IT 2019. 6. 24. 20:32

DevOps

흥미롭군!

뭔데?

개발 부터 테스트를 거쳐 배포되고 운영에 이르기까지를 유연하고 역동적하나의 시스템으로 엮는 것이다.
즉 IT분야에 있어서 가장 효율적인 업무 체계를 지향하는 것이다.
전에 있던 IT회사에서는 정말 비효율적으로 일을 한다는 느낌을 많이 받았었는데, 타부서에 대한 이해부터 제품 개발/생산부터 배포되어 운영이 되기까지 전반에 걸친 이해가 필요할 것이다.

 

 

검색결과

처음 용어를 접하고 검색을 해보았더니 정말 굵직굵직한 곳에서 DevOps 관련 솔루션을 제공하고 있는 것 같다. 그리고 친절하게 용어에 대해 정의를 내리고 있다. 아래에는 출처와 DevOps에 대한 정의를 모아봤습니다.

WIKI (위키)

  • https://ko.wikipedia.org/wiki/%EB%8D%B0%EB%B8%8C%EC%98%B5%EC%8A%A4
    데브옵스(DevOps)는 소프트웨어의 개발(Development)과 운영(Operations)의 합성어로서, 소프트웨어 개발자와 정보기술 전문가 간의 소통, 협업 및 통합을 강조하는 개발 환경이나 문화를 말한다. 데브옵스는 소프트웨어 개발조직과 운영조직간의 상호 의존적 대응이며 조직이 소프트웨어 제품과 서비스를 빠른 시간에 개발 및 배포하는 것을 목적으로 한다.

AWS (아마존웹서비스)

  • https://aws.amazon.com/ko/devops/what-is-devops/
    데브옵스는 애플리케이션과 서비스를 빠른 속도로 제공할 수 있도록 조직의 역량을 향상시키는 문화 철학, 방식 및 도구의 조합입니다. 기존의 소프트웨어 개발 및 인프라 관리 프로세스를 사용하는 조직보다 제품을 더 빠르게 혁신하고 개선할 수 있습니다. 이러한 빠른 속도를 통해 조직은 고객을 더 잘 지원하고 시장에서 좀 더 효과적으로 경쟁할 수 있습니다.

Microsoft Azure (마이크로소프트 아주르)

  • https://azure.microsoft.com/ko-kr/overview/devops/
    DevOps는 5가지 핵심 방식(계획 및 추적, 개발, 빌드 및 테스트, 제공, 모니터링 및 운영)으로 개발 및 IT에서 사람, 프로세스 및 기술을 통합하는 방식입니다. 현재 활동하고 있는 DevOps, 개발, IT 운영, 품질 엔지니어링 및 보안 팀이 긴밀하게 협력하면 이전에는 고립되었던 방식을 제거할 수 있습니다. 이러한 분야의 개선된 조정 및 공동 작업으로 변경 내용이 시스템에 커밋되는 시점과 변경 내용이 프로덕션 환경에 적용되는 시점 간의 시차가 줄어듭니다. 또한 보안 및 안정성에 대한 표준이 프로세스의 일부로 충족되도록 보장합니다. 그 결과 만족도가 높아진 고객에게 더 좋은 제품이 더 빠르게 제공됩니다.

Atlassian (아틀라시안)

  • https://ko.atlassian.com/devops
    DevOps란 소프트웨어 개발팀과 IT팀이 더 빠르고 안정적으로 소프트웨어를 빌드, 테스트 및 릴리스할 수 있도록 두 팀 간의 프로세스를 자동화하는 일련의 과정입니다. DevOps의 개념은 지금까지 상대적으로 사일로된 환경에서 일해 온 팀 간에 협업 문화를 구축하는 것입니다. 이를 통해 깊은 신뢰감을 쌓고, 소프트웨어 릴리스 속도를 높이고, 크리티컬 이슈를 빠르게 해결하고, 미리 계획하지 않은 업무를 더 잘 관리할 수 있는 등의 혜택이 보장됩니다.

DevOps는 최고의 소프트웨어 개발과 IT 운영을 결합한 합성어로, Atlassian에서 '브란젤리나'(Brad Pitt와 Angelina Jolie의 합성어) 다음으로 가장 유명한 단어입니다. 그리고 '브란젤리나'와 마찬가지로 DevOps도 배경 설명이 필요합니다.

본질적으로 DevOps는 문화이자 운동이며 철학입니다.
DevOps는 사고방식의 변화, 협업 향상 및 긴밀한 통합을 강조하는, 개발팀 및 운영팀 간의 견고한 파트너십입니다. DevOps는 애자일, 지속적 배포, 자동화 등을 통합하며, 개발팀 및 운영팀이 더욱 효율적으로 작업하고 더 빠르게 혁신하며 기업과 고객을 대상으로 더 큰 가치를 제공할 수 있도록 돕습니다.

Pivotal (피보탈)

  • https://pivotal.io/kr/devops
    DevOps는 Lean 사고 및 Agile 개발과 함께 시작된 확장된 범위의 애플리케이션과 일련의 움직임이 정점을 이루어 표현된 것으로서, 궁극적으로는 신속하게 고성능 소프트웨어를 제공하는 것이 목적입니다. 일반적으로 Agile 개발은 소프트웨어 엔지니어가 중심 역할을 맡으며, 빠르고 점증적인 소프트웨어 개발에 집중합니다. 클라우드 시대의 소프트웨어는 (직접 설치되는 방식이 아니라) 하나의 서비스로 소비되는 추세입니다. 소프트웨어는 더 이상 전달 대상이 아니라 프로덕션 환경에서 실제 사용되는 대상입니다. Agile 철학을 유지하되 소프트웨어 기능의 지속적이고 점증적이며 신속한 제공을 강화하는 추세입니다. 따라서 Agile에는 필연적으로 코드 완성에서 프로덕션 지원 (예를 들어 빌드, 테스트, 프로비저닝, 구성, 배포, 지속적인 관리)에 이르는 소프트웨어 변환 활동을 아우르는 운영 측면의 속도와 품질이 확장 포함되어 왔습니다. 이처럼 빠르게 소프트웨어를 전달하려면 개발자 (Dev)와 IT 운영자 (Ops) 쌍방이 공동으로 협업해야 합니다.

DevOps 이동은 이러한 요구를 인정하고 그에 부응하는 것입니다. 그러므로 DevOps는 유연하며, 더 높은 수준의 협업, 의사 소통, 공동 책임을 통해 제품 개발측 (개발자 및 QA)과 IT 운영측 간에 존재했던 수많은 기존의 전달 갈등과 지연을 상당 부분 방지함으로써 소프트웨어의 성공적인 전달을 추구합니다.

RedHat

  • https://www.redhat.com/ko/topics/devops
    'DevOps'는 'development(개발)’와 'operations(운영)'이 합쳐진 단어이지만, 두 용어가 따로 또는 함께 사용될 때보다 훨씬 더 포괄적인 아이디어와 방식을 보여줍니다. DevOps에는 보안, 협업 방식, 데이터 분석을 비롯해 기타 여러 요소가 포함됩니다. 그렇다면 DevOps가 대체 무엇일까요?

DevOps는 하나의 아이디어(새로운 소프트웨어 기능, 개선 요청 또는 버그 수정 등)가 사용자에게 가치를 제공할 수 있도록 운영 환경에서 개발로부터 배포로 진행되는 프로세스의 속도를 높이는 접근 방식을 의미합니다. 이러한 접근 방식을 적용하려면 개발 팀과 운영 팀이 자주 커뮤니케이션하고 팀원들과 공감하면서 업무에 접근해야 합니다. 확장성과 유연한 프로비저닝도 필요합니다. DevOps를 확립하면 셀프 서비스와 자동화를 통해 다양한 이점과 경쟁력을 얻을 수 있습니다. 개발자는 IT 운영 팀과 밀접하게 협력하여 신뢰성에 지장을 주지 않으면서 소프트웨어 구축, 테스트 및 출시 속도를 높일 수 있습니다.

이는 곧 코드 변경도 더 빈번해지고 인프라도 보다 역동적으로 사용해야 한다는 의미입니다. 전통적인 관리 전략은 이러한 종류의 요구를 충족할 수 없으므로, 경쟁력을 강화하려면 몇 가지 변경이 필요합니다.