DevOps란?

YOBY·2023년 11월 28일
0

데브옵스(DevOps)란?

데브옵스의 정의에 대해 찾아보시면 개발과 운영을 합친 것이라는 표현을 볼 때가 있습니다. 용어부터 개발을 뜻하는 Development에서 DEV를, 운영을 뜻하는 Operations에서 OPS를 가져왔죠. 더 디테일하게 들어가면,

“단순한 개발과 운영의 통합이 아니며, 하나의 언어나 기술을 뜻하는 것도 아니며, 개발과 운영이 가지는 간극을 줄이는 시도로써 하나의 문화이자 방법론으로 볼 수 있다.”


클라우드 & 데브옵스 엔지니어 하는 일?

  1. 클라우드 마이그레이션

클라우드 마이그레이션은 기존에 물리적인 서버 인프라를 만들어서 운영하던 것을 클라우드 환경으로 이주시키는 것을 의미합니다. 삼성, LG, 대한항공 등 다양한 대기업들이 진행했었고, 진행하고 있는 영역입니다. 최근에 시작된 현대적인 구조를 가진 기업들은 처음부터 클라우드 환경에서 인프라를 구축하기도 합니다.


  1. 피크 트래픽 핸들링 스케일 아웃

피크 트래픽 핸들링과 스케일 아웃은 서비스를 이용하는 사용자가 급증할 때, 흔히들 말하는 서버가 터지는 상황이 발생하지 않고 정상적으로 작동하도록 대비하는 설계와 관련되어 있습니다.


  1. 데이터 파이프라인

데이터 파이프라인은 절차에 따라 반복적으로 수행되어야 하는 것들을 자동화해서 필요한 데이터, 리소스를 전달하는 구조를 만드는 것을 말합니다.


  1. 모니터링 시스템

모니터링 시스템은 서비스를 운영하면서 발생하는 많은 데이터를 파악할 수 있도록 시각화합니다. 모니터링된 데이터들을 통해서 데이터 기반의 의사결정을 가능하게 함으로써, 시스템을 보완하거나 앞으로의 방향성을 위한 통찰력에 도움을 줍니다.


  1. 네트워크 보안

네트워크 보안은 시스템에 접근해야 하는 사람들만 접근이 가능하게 하고, 악의적인 접근은 방지하기 위해서 퍼블릭 영역과 프라이빗 영역을 구분하거나 연결하는 일을 합니다.


  1. 코드를 통한 인프라 관리

서비스 규모가 커지면서 서비스를 작동시키고 관리하기 위한 인프라의 규모도 커졌습니다. 이러한 인프라 구조를 파악하고, 관련 작업자들이 현 상황을 공유하고, 버전관리를 쉽게 하기 위해 IaC(Infrastructure as Code)의 필요성이 증가했습니다.


데브옵스(DevOps) 중요성이 커지는 이유?

앞서 소개한 데브옵스 엔지니어가 하는 일의 공통점은 “현대의 모든 서비스(APP)가 겪을 수밖에 없는 문제를 해결하기 위한 시도”라는 것입니다.

필수적인 단계의 문제를 해결하는 데브옵스 솔루션

기업은 여러 가지 서비스를 제공하고, 사용자는 애플리케이션을 통해서 서비스를 소비하는 것이 현대의 일반적인 패턴이라고 할 수 있습니다. 서비스 제공자(기업)는 자신들의 서비스를 애플리케이션 사용자(고객)에게 전달하기 위해서 반드시 겪을 수밖에 없는 과정들이 있습니다. 이러한 과정은 기업의 비즈니스가 채팅 서비스든, 음식을 배달하는 것이든, 중고 거래를 하는 것이든, 그 어떤 비즈니스 영역을 다루는지와 상관없이 모두 겪게 됩니다. 그리고 그 과정들에는 해결해야 하는 문제가 존재하고 데브옵스 기반의 기술이 이 문제를 해결하는 데 도움이 되기 때문에 시간이 갈수록 수요가 증가하고 있는 것입니다.


  1. 개발, 배포, 운영의 목적
  • 개발 : 필요한 걸 만들자
  • 배포 : 많은 사람들에게 전달하자
  • 운영 : 지속 가능하게 관리하자
  1. 개발, 배포, 운영의 목적을 달성하기 위한 과제
  • 개발 : 기능 추가, 테스트
  • 배포 : 인프라 구축
  • 운영 : 피드백 확보, 분석 및 관리
  1. 개발, 배포, 운영 과제에서 겪는 문제
  • 개발 : 반복되는 업무와 휴먼에러
  • 배포 : 인프라 확장 축소에 따른 비용 문제
  • 운영 : 데이터 관리, 서비스 중단 상황에 대한 대처
  1. 개발, 배포, 운영의 문제를 해결하기 위한 솔루션
  • 개발 : CI/CD 파이프라인, 자동화
  • 배포 : 탄력적인 인프라 설계
  • 운영 : 데이터 모니터링, 무중단 서비스

0개의 댓글