메뉴 바로가기 검색 및 카테고리 바로가기 본문 바로가기

한빛출판네트워크

한빛랩스 - 지식에 가능성을 머지하다 / 강의 콘텐츠 무료로 수강하시고 피드백을 남겨주세요. ▶︎

IT/모바일

데브옵스(DevOps), 왜 필요한가요?

한빛미디어

|

2023-04-20

|

by 스티븐 친 외

14,729

IT 시장분석업체 한국IDC의 ‘국내 데브옵스 소프트웨어 툴 시장 전망 2022-2026’에 따르면 국내 데브옵스 소프트웨어 시장은 2022년 전년 대비 12.5% 성장한 1,332억 원의 시장 규모를 형성할 것이라고 예측했습니다. 민첩한 소프트웨어의 개발과 효율적인 관리, 확장이 가능한 체계가 비즈니스 경쟁력 확보의 중요한 요소로 떠오르면서 데브옵스에 대한 관심이 식지 않고 지속되는 것으로 생각되는데요.

 

데브옵스라는 용어가 탄생한 지 10년이 지났습니다. 수많은 전문가가 이를 주제로 대화하고 (간혹 언성도 높이며…) 토론하는 동안 강산은 한 번 변했고, 데브옵스 인력에 대한 기업의 수요가 기하급수적으로 증가하고 있지만 우리는 데브옵스에 대해 정확하게 설명하기 어렵습니다. 데브옵스는 무엇이고, 왜 필요할까요?

 

데브옵스(DevOps)

데브옵스(DevOps)는 소프트웨어의 개발(Development)과 운영(Operations)의 합성어로, 개발자와 운영자 간의 소통과 협업, 통합을 강조하는 개발 환경 문화입니다. 

 

 

채널H_데브옵스와 애자일 비교(1).jpg

 

 

 

그림 1-1. 데브옵스 무한 루프와 애자일 개발 주기의 그래프는 닮았습니다.

 

보통 소프트웨어 제품과 서비스를 빠른 시간에 개발 및 배포하는 것을 목적으로 하는 데브옵스는 코드, 빌드, 테스트, 릴리스, 배포, 운영, 모니터링에 이르는 프로세스를 하나의 단일 사이클로 통합하여 유기적으로 운영됩니다.

 

데브옵스(DevOps)의 필요성

데브옵스는 소프트웨어 업체 스스로의 요구뿐만 아니라 외적인 요인에 의해 수요가 발생합니다. 21세기를 살아가는 모두의 기대가 빠르게 변하고 있으며, 더욱이 IT업계에는 더 빠른 속도를 요구합니다. 자고 일어나면 새로운 트렌드가 유행하고, 소프트웨어 솔루션은 상시 개선 중인 상태를 유지해야 합니다. 정보 및 통신 격차개발 운영 간 소통 지연에 낭비할 시간 여유 따위는 없죠데브옵스가 필요한 이유, 좀 더 나누어서 살펴보겠습니다.

 

01.  규모와 속도

데브옵스의 확산을 가속하는 촉매제 중 하나는 데이터 저장과 처리량의 증가입니다. 우리가 소프트웨어에 의존하게 될수록 소프트웨어가 생성하는 데이터의 양은 엄청나게 증가할 것입니다. 10년 전 0.5제타바이트에 불과했던 전체 글로벌 데이터스피어(DataSphere)는 2020년에 거의 10제타바이트에 도달했고, 2025년까지 50제타바이트를 넘길 것으로 보고 있습니다.

 

기업들은 더 크고, 더 나은 서비스를 위해 데이터 처리량을 늘리고 있습니다. 빅 데이터 세계에 뛰어드는 기업들이 점차 늘어난다는 뜻이죠. 데이터 부하가 증가하면 서버 환경도 바뀌어야 합니다. 이제 규모나 속도 면에서 더 이상 페어 투 페어 pair-to-pair 스키마를 실현할 수 없음은 기정사실이 되어버렸죠.

 

프로덕션에 올리기 전에 모든 테스트를 마칠 수 있는 행복한 시절도 있었지만, 요즘은 100%확신할 수 없는 소프트웨어가 프로덕션으로 릴리스되는 경우도 많습니다. 하지만, ‘그에 따라 혼란도 가중될 것인가?’라는 질문에 대한 대답은 ‘아니오’입니다. 신속한 릴리스, 경쟁력 확보에 대한 필요성은 새로운 혁신과 창조에 영감을 불어넣을 것입니다. 롤오버 제어, 테스트 절차, 인프로덕션 테스트 강화 등이 점진적 전달 (progressive delivery)이라는 개념 하에 구체화되고 있죠.

 

점진적 전달은 폭발 장치의 피해 반경에 비견되곤 합니다. 프로덕션 환경 배포를 일종의 폭발로 보는 개념입니다. 롤아웃을 최적화 시키면 사상자를 줄이고 폭발 반경의 크기를 가능한 한 작게 제한하는 효과를 낼 수 있다. 서버, 서비스, 프로덕션의 품질을 지속적으로 향상시켜야 달성할 수 있는 목표다. 품질이 개발자의 관심사며 품질에 대한 성취가 ‘완료’에 대한 개발자적 정의에 포함되는 데 동의한다면, 개발 완료 순간과 프로덕션 운영 사이에 중단이나 단절이 있을 수 없습니다. 버그를 고치거나, 서비스가 복원되는 바로 그 순간 새로운 개발 단계가 다시 시작되기 때문이죠

 

02.  완료의 만료

데브옵스가 표방하는 모든 것은 달라진 세상과 소프트웨어 산업 전반이 우리에게 가한 변화의 압력에서 탄생한 현실 비즈니스 차원의 대응입니다.

 

모든 이에게 새로운 책임이 부과되는 동시에 대부분의 부서는 즉각적인 대응이 가능한 수준의 전문성을 갖춰야 합니다. 이제 우리는 무중단의 세계에 들어섰습니다. 달리 표현하자면 이렇습니다.

완료에 대한 묵은 정의는 이제 시효가 만료됐다!

 

이제 완료의 새로운 정의는 사이트 신뢰성 엔지니어링 site reliability engineering (SRE)입니다. 구글이 창조한 이 용어는 개발과 운영 사이에 지속되어 왔던 인식 격차를 해소함으로써 둘을 영구히 결합합니다. SRE가 초점을 맞추는 영역은 데브옵스 등식의 양변을 모두 포함하지만 사람에 따라 한쪽에 더 집중되기도 합니다. 그러나 최근 기업들은 SRE 팀을 별도로 꾸리고 성능, 효율, 비상 대응, 모니터링, 용량 설계 등을 전담시키는 경우가 많죠. 이들은 배포를 시작으로 자동화를 점진적으로 확대하는 일을 합니다.

 

SRE가 모든 활동을 평가 및 모니터링하고 전략적으로 대응하는 동안 모든 기술 영역의 작업은 온전히 개발자의 몫입니다. 따라서 개발자는 작업을 진행하고 SRE가 ‘완료’한다는 현대적 정의가 완성됩니다.

 

03.  나비처럼 가볍게

지금까지 언급한 고려사항 외에 데브옵스와 SRE 시대의 코드를 정의하는 근본적인 특성을 알아볼 필요가 있습니다. 바로 ‘ lean’입니다. 이 지점에서 비용 절감에 대한 논의가 시작됩니다. 코드가 비용 절감과 무슨 관련이 있을까요?

 

클라우드 업체는 수많은 종류의 개별 서비스를 제공합니다. 그중 일부는 클라우드 이용 고객들이 생성한 코드가 직접적으로 비용에 영향을 미치죠. 혁신적인 개발자 툴을 창조하고 실무에 투입하거나더 나은 코드를 배포할수록 비용이 절감됩니다.

 

전 세계는 상시 개방된 소프트웨어 주도 사회로 나아가고 있습니다. 참신하고 우월한 기능과 서비스에 대한 끊임없는 열망은 데브옵스가 단지 프로덕션과 배포에만 관심을 둘 수 없음을 의미합니다. 비즈니스 자체의 수익 또한 반드시 신경 써야 할 부분입니다. 본래 자신의 영역 밖에서 던져진 짐처럼 느껴질 수도 있지만 꼭 그렇지만은 않습니다. 여러분의 상사가 비용 절감을 추진한다고 상상해보세요. 직원 해고, 급여 및 복리후생 감소등의 부정적이고 단편적인 해결책 대신, 서버리스 클라우드 전환처럼 비즈니스 프로필을 강화시키는 방식으로 긍정적이고 발전적인 해결책을 제시할 수 있을 겁니다. 아무도 해고되지 않을 뿐만 아니라 휴게실의 간식도 여전히 그 자리에 남아 있을 거에요.

 

린 개발은 비용 절약 효과뿐만 아니라 기업의 시장 영향력 강화 기회도 제공합니다. 인력 절감 없이 효율을 높여야 팀의 역량도 최적의 수준을 유지할 수 있습니다. 충분히 보상하고 지속적으로 관리할수록 최고의 성과를 내려는 동기도 강화됩니다. 팀이 성공적인 결과를 낸다면 고객의 얼굴에도 웃음꽃이 필테죠. 우수한 신기능을 지속적으로 개발하고 빠른 배포를 통해 고객에게 선보인다면, 재방문이 이어지고 입소문은 더욱 널리 퍼질 것입니다. 수익이 늘어나면 구성원에게 돌아가는 보상도 늘어나고, 결과적으로 회사의 재정이 풍족해지는 선순환이 시작됩니다.

 

04.  무결성, 인증, 가용성

모든 데브옵스 활동을 빠짐없이 확인하고 연동하는 것은 보안 기술의 영원한 과제입니다. 물론 최고 정보 보안 책임자를 선정하여 이 과정을 대체하는 업체도 있습니다. 사고가 발생했을 때 무조건 책임을 물을 사람을 마련해두는 것은 나름 훌륭한 방법이죠. 그러나 더 나은 해결책은 데브옵스 프레임워크안에서 모든 구성원이 함께 고민하는 것입니다. 직원 개인, , 더 나아가 회사 전체가 함께 보안 강화 방식을 고민해야 합니다.

 

취약점, 버그, SQL주입, 버퍼 오버플로 등은 더 이상 새로운 위협이 아닙니다. 최근 발견되는 위협들은 등장 속도 및 발견 횟수가 증가했을 뿐만 아니라, 악의적으로 접근하는 개인이나 개체의 영리함도 이전과 매우 다릅니다. 놀랄 필요는 없어요. 코드 릴리스가 늘어날수록 당연히 문제도 그만큼 많이 발생하기 마련이니까요. 유형에 따라 차별화된 대응책을 준비하면 됩니다.

 

배포 속도가 빨라질수록 위험과 위협에 더욱 신속하게 대응해야 합니다. 2018년에 등장한 멜트 다운 (Meltdown) 및 스펙터 (Spectre) 취약점은 원천적으로 방지할 수 없는 위협이 존재한다는 사실을 세상에 알렸습니다. 보안은 ‘경쟁’ 입니다. 유일한 승리 비결은 최대한 신속하게 수정 사항을 배포하는 것뿐입니다.

 

05.  시의성

데브옵스는 진화론적 압력의 산물이며, 다음과 같은 목표를 나타내는 상징입니다.

 

● 고품질

● 비용 절감

● 배포 가속화

● 보안 강화

 

이제 데브옵스는 선호의 영역을 벗어났습니다. 

 

 


 

이 글은  도서  『자바 개발자를 위한 데브옵스 툴』 내용 중 일부를 편집하여 작성되었습니다. 자고 일어나면 모든 것이 변하는 세상에서 데브옵스는 선택이 아니라 필수가 되었습니다. 물론 데브옵스는 실패하기 쉽습니다. 기술적인 면에 집중한 나머지 관계와 협업을 등한시하는 경우가 많기 때문이죠하지만 현재의 발전상과 더불어 모범 사례를 체계적으로 집대성한 자료와 함께 시작할 수 있다면 실패 확률은 현저히 낮아질 것입니다.

 

데브옵스가 아직 낯선 노련한 경력자, 컨테이너와 클라우드 지식을 바탕으로 데브옵스에 뛰어들려는 초심자 모두를 데브옵스의 올바른 길로 이끌어 줄 자바 개발자를 위한 데브옵스 툴에서 더 많은 내용을 확인할 수 있습니다.

 

입체표지_투명배경_자바 개발자를 위한 데브옵스 툴.jpg

자바 개발자를 위한 데브옵스 툴

 

댓글 입력
자료실

최근 본 상품0