Karen
13k
2018-04-17 13:39:26 작성 2018-04-17 13:39:51 수정됨
2
2812

개발자의 삶 - DevOps 란 무엇일까?


이 글은 기술 이야기는 아닙니다. 조직 이야기입니다.

그리고, 일반론도 아닙니다. 하지만, 해당되는 분이라면 한 번쯤 고민해보셨으면 좋겠습니다.



클라우드 서비스를 하는 클라우드먼치는 이미 오래 전에 DevOps에 대한 ROI를 따졌다.
이 부문이 DevOps에 대한 필요성이 가장 높았기 때문이다.



DevOps는 그냥 “운영”이 아니다.


SI만 하던 분들은 “개발 운영”을 그냥 “운영”으로 이해합니다.

그냥 “운영”은 시스템이 멈춰 서지 않도록 관리해주는 것에 가깝습니다.

제조업이나 공장 등 산업 인프라 쪽은 그게 매우 중요합니다. 쉬지 않고 대량 생산을 해야 하니까요.


하지만, 인터넷 서비스는 그렇지 않습니다.

봄,여름,가을,겨울 계절별로 마케팅을 합니다.

사업 제휴에 따라 신규 기능이 막 추가 되기도 합니다.

규제가 생기면 거기에 맞추어 이것저것 수정을 해야 합니다.

즉, 시스템 자체가 판매 매장이기 때문에 변경이 발생될 수밖에 없습니다.


비유하자면, “시스템 신규 구축”은 백화점을 건설하는 일입니다.

반면 “시스템 운영”은 매장을 운영하는 것입니다. 진열 방식을 바꾸고 시즌별로 상품을 교체합니다. 건물의 변화는 없습니다.

하지만, 개발 운영은 “매장 운영”을 하면서, 백화점을 증축하는 일입이다. 어떤 경우는 본점보다 더 큰 별관을 뒤에 지어야 합니다.



완전히 다른 업무이다.


그래서 개발 리소스의 핸들링 방법이 아예 다릅니다.


증축 공사가 크면, 별도 개발팀을 꾸려야 합니다.

물론, 기존 건물의 설계도와 시공 정보도 함께 있어야겠지요.


증축 공사가 작아도, 계획 관리는 따로 해야 합니다.

고객들에게 불편을 끼치면 안되니까요. 먼지가 많이 나고 소리가 크면 영업에 방해가 됩니다.


같은 조직에 운영과 증축을 함께 시키면 조직의 생산성은 보통 1/4 이상으로 떨어집니다.

경영자는 비용이 줄어들거라고 생각하지만, 오히려 커지는 경우가 대부분입니다.

사업에도 집중하지 못하고, 증축 일시도 지키지 못해 사업이 어려워지기까지 합니다.


이거 잘 이해해야 합니다. 그리고 잘 설명해줘야 합니다. 경영자는 100% 헷갈리고, 개발자들도 10% 밖에 이해하지 못합니다.



사업팀과 전략팀, 개발 부서 간에 관리하는 상이한 지표들.
즉, “DeLone”, “McClean”이 이야기하는 전통적인 IT 성공 모델이 달라졌다는 것을 의미한다.



※ 참고 링크 : Delone and McClean 의 Information Systems Success Model



기술보다 업무로 이해해야 한다.


갈라진 벽면에 시멘트를 발라 보수하는 것과, 증축하는 벽면에 시멘트를 붓는 것은 같은 기술입니다.

하지만, 공법이 완전히 다릅니다. 기술이 같다고 같은 일이 아니라는 뜻입니다.


개발자 분들은 “일”을 “기술”이 아니라 “업무”TASK로 보았으면 좋겠습니다.

“금방 돼요.” 이런 이야기 안했으면 좋겠습니다.

마감도 분명 업무이고, 잡무를 처리할 기타 개발자들이 따로 있는 게 아닙니다.

거기에 들어가는 시간도 절대 공짜가 아닙니다.


경영자는 김대리의 코딩 능력이 궁금한 게 아닙니다.

비용과 기간이 얼마나 되는지 궁금합니다.

거기서 “금방 됩니다”라고 이야기하는 건 넌센스입니다.

어떻게 해야 우리 회사가 적당한 비용에 원하는 시스템을 제 때 가질 수 있는지 이야기하는 게 맞습니다.



DevOps는 사람을 줄이는 방법이 아니다.


DevOps는 운영자 두 사람을 개발자 한 사람으로 줄이는 방법이 아닙니다.

개발Dev과 운영Ops을 분리하기 힘든 비즈니스를 “잘 해나가는” 방법입니다.


그런데, 한 사람이 모든 일을 다 처리하면 업무 효율은 오르겠지만 생산성에 한계가 생깁니다.

푸쉬하면 조금 더 오르겠지만 근본적으로 바뀌지는 않습니다.


소프트웨어는 “소프트” 하긴 하지만 “도깨비 방망이”가 아닙니다.

들쭉날쭉한 생산량으로 비용 예측을 할 수 없습니다.

인터넷 서비스는 “시스템”과 “개발팀”을 가지고 하는 사업입니다.

엄연히 원가와 비용이 있고 현금 흐름과 자금 회전 주기도 있습니다.

생산 단위 예측이 되어야 수지 타산을 맞춰볼 수 있습니다.


DevOps는 전체 절차를 줄여서 서비스의 효율성과 기민성을 높이려고 하는 것입니다.

사람을 줄여 놓고, 비용이 줄어들기를 기대하는 것은 잘못된 접근입니다.



문제를 해결하지 못하면, 도구는 짐이다.


Continuous Integration, Continuous Delivery 모두 중요하지만 그 출발점이 어디인지를 명확히 인지했으면 좋겠습니다.

인터넷 서비스를 하다보면 여러가지 문제에 부딪힙니다.

그 중 몇 개의 문제를 해결하기 위해 CI와 CD가 만들어졌습니다.

즉, CI, CD를 하면 모든 문제가 해결되는 것이 아니라는 뜻입니다.



사람이 문제를 푸는 거다.


CI와 CD가 필요한 상황까지 서비스가 발전하는 것이 첫 번째입니다.

그 상황이 되면 CI와 CD로 풀 수 없는 문제도 생기게 됩니다.

좋은 탈곡기가 들어왔다고 벼농사가 잘 되는 것은 아닙니다.

DevOps는 “툴” 중의 하나란 걸 인지하시고, 함께 일하고 있는 “사람”에게 좀 더 집중했으면 합니다.


참고로, “개발 운영”은 개발하면서 운영을 한다는 의미가 강합니다.

즉, 개발에 무게감이 더 실립니다.

반면 “운영 개발”은 운영을 위해 개발한다는 뜻이 강합니다.

즉, 운영에 무게감이 더 실립니다.

사람마다 의견이 다를 수 있지만, 저는 그렇게 느낍니다.




※ 참고글 : DevOps의 ROI를 증명하기 위한 지표는 무엇일까? (David Leanwook, 2017.2.17)


저자가 영국분이신데 운영쪽으로 입문을 해서, 지금은 컨설턴트로 일을 하고 있습니다.

석사 논문으로 운영팀의 ROI에 대한 연구를 했습니다.

조금 부럽네요. 개인적으로는 이런 연구와 시도들이 점차 IT산업의 격차를 벌릴 거라고 봅니다.






김수보 소장님 블로그 - IT의 중심에서  


5
1
  • 댓글 2

  • 로보넥스
    2018-04-19 12:09:05

    좋은 화두, 좋은 글 잘 봤습니다.


    그러나 문제의 핵심은 "개발자에게 일정을 물어본다"는 것 자체입니다.

    지금 업계의 행태는 마치 건설업체 현장소장이

    작업자에게 건축일정을 묻는 것과 같습니다.


    개발이 완료된다는 것은 기획과 UI설계, 플랫폼개발자, 디자이너까지

    전체적으로 움직여야 화면에 이미지가 뜨는 목적을 달성할 수 있는데

    그걸 프로그래머 한 사람의 결과물인 것처럼 "묻는"다는 것이죠.


    그럼 내가 프로그래머도 아닌데 어찌 일정을 아냐? 물어야지.


    그게 무엇을 뜻하나요? 바로 관리자역량부족.

    오케스트라 지휘자는 아무나 하는 것이 아닙니다.

    예전에 다녔던 글로벌기업인 EA는 그게 가능합니다.

    실 개발자에게 일정을 물어보지 않고 일정을 짭니다.

    그리고 내부적인 절차과정에 적극적으로 개입합니다.

    (내부적인 절차과정, 테이블주세요, UI이미지주세요, 프로토콜주세요..)


    0
  • H.O
    84
    2018-04-20 10:28:04

    제가 경험한 SI,SM업체의 DevOps는 이렇습니다. - _-ㅋ 

    경영자의 DevOps= 한명한테 개발 운영 다 시킴. 수정도 네가 해. 신규 개발도 네가 해. 

                                    개발자 필요해? 그럼 니가 컨설턴트 해.

                                    인건비 줄였다. 개이득.

    개발자의 DevOps= 업무 효율 극저하. 낮에 운영 밤에 개발.

                                    개발도 잘 하고 업무도 잘 하거나. 둘 다 못하거나(찔리네...;).

                                    대체로 개발은 딸리고 업무는 좀 아는 정도에서 관리자로 전환하여

                                    입 털기의 달인으로 탈바꿈.




    0
  • 로그인을 하시면 댓글을 등록할 수 있습니다.