DevOps란 | DevOps 정의

DevOps 2016. 4. 28. 11:36

요즘 DevOps의 Position 에대해서 핫 이슈로 부각되고 있고, DevOps란 타이틀로 Job 구인 광고를 흔하게 불수있는데 셀러리도 상당히 매력적이고 또한 DevOps 정도를 생각하는 회사를 보면 그 회사의 퀄러티도 어느 정도 짐작 할 수도 있는 것 같다.


현재하고 있는 일이...인프라도하고...개발도하고..아키텍트 역할도 한다면.. 내가 DevOps엔지니어라고 할 수 있을까? DevOps 타이틀로 회사를 옮겨볼까?!! 하는 생각을 하는데...그럼 DevOps가 뭐지?!! 라는 의문이 드는데...사실 알면 알수록 그 포지션의 역할이 좀 모호하고...각 회사에서 원하는 DevOps에게 원하는 리콰이먼트의 어떤 차원이 조금씩 다르다는 것을 알 수 있다.


우선 그 원인은 DevOps란 것이 어떤 특별한 포지션으로 이해하기 보다는 어떤 방법론?!! 또는 프로젝트 수행을 위한 개발과 운영에 관한 융합된 어프로치 방법론으로 이해해야지, DevOps 면 어떤 일을 해야하는거지?!! 라는 질문으로 접근하면 답이 없는 것 같다.



DevOps 란.

아래의 내용은 주로 조대협씨께서(http://bcho.tistory.com/817) 정리하신 글을 인용하여 정리된 글입니다.


근 몇 년전만 해도, 배포는 몇 달간의 개발이 끝나면 테스트를 거쳐서 특정한 날짜를 잡아서 대규모 배포를 형태가 일반적이었다. 그러나 근래에는 전체적인 IT 트렌드가 서비스를 빠르게 제공하기 위해서 업데이트 주기가 매우 짧아지고 있다. 배포 주기가 짧은 경우에는 몇 가지 더 고려할 사항이 있는데, 배포는 코드 개발보다는 인프라 관리나 빌드에 관련된 부분이 많다.  그래서 배포의 주체는 이런 운영 주체가 되는 경우가 일반적인데, 배포시 문제가 생기는 경우가 있을 시에는 개발팀의 도움이 필요하고, 배포가 정상적으로 되었을 경우에는 개발팀으로 부터의 확인등이 필요하기 때문에 조직 구조상 운영팀과 개발팀이 분리된 조직에서는 잦은 배포가 여러가지로 어려운점이 많다. 


그래서 근래에는 이런 개발과 운영 조직을 합쳐서 개발팀을 운영하는 DevOps (Development + Operation)형태의 조직구조로 전환하여 개발,배포,운영을 통합하여 관리 하는 쪽으로 이동하고 있다. 이 경우 단순히 조직을 합치는 것뿐만 아니라 개발자에게는 인프라나 운영에 대한 이해 능력을 그리고 운영팀에는 개발에 대한 어느정도 선까지의 능력을 요구하게 되고 업무 프로세스등의 변화가 필요하기 때문에 조직을 융합시키는 차원이 아니라 조금 더 높은 수준의 접근이 필요하다.


DevOps가 가능하게된 대표적인 원인을 보면 다음과 같이 볼수 있겠다.

  •   인터넷의 발전
  •   오픈 소스의 발전
  •   오픈소스 Stitching
  •   좋은 도구들
  •   클라우드의 등장



아래의 글은 Opennaru, Inc. http://www.opennaru.com/ 에서 발췌된 글입니다.


"DevOps 는 사람,역할 또는 직책이 아니다. 스스로를 DevOps 엔지니어라고 불러도 당신은 DevOps 엔지니어가 아니다. DevOps 는 기업에서 좀더 포괄적으로 커뮤니케이션과 협업을 증진하여 더욱 좋은 품질과 견고한 제품을 시장에 빨리 제공하기 위한 모든 것이다."





P.S: 프로비저닝(Provisioning)


넑게는 무엇인가 여럿 중에 최적인 것을 찾기위해 필요한 지식을 미리 준비해 놓고 요청에 맞게 공금하는 절차와 행위를 Provisioning이라고한다. 즉, 미리 정의된 정책이나 서비스를 사용자에게 내려(지원,서포트) 해주는 것을 말한다.


IT에서의 좁은 의미로는 "IT인프라 자원을 사용자 또는 비즈니스의 요구사항에 맞게 할당, 배치, 배포해서 시스템을 사용할 수 있도록 만들어 놓는 것.."이라고 정의할 수 있을것 같다. 여기서 IT인프라 자원이라하면 컴퓨팅에 필요한 CPU,Memory, OS, WAS, DBMS와 어플리케이션을 포함할 수가 있겠다.



DevOps이해하기_HP.pdf






Posted by Steven J.S Min
,