본문 바로가기

쉽게 풀어본 IT 기술

DevOps는 시너지이다.

DevOps는 Development와 Operation의 합성어이다. 개발과 운영 함께 잘해보겠다는 것이다.

왜 이런 개념이 나왔을까?
원래 구축을 하고 운영으로 인수인계를 한다. 구축하는 사람들을 개발팀이라고 부르고, 그 구축된 시스템을 운영해주고 유지보수 해주는 팀을 운영팀이라고 부른다. 소프트웨어 개발은 사람이 하기에 사람에 대한 이해가 필요하다.

각각 소속된 사람은 어떤 심리를 가지고 있을까?
구축팀은 어떻게든 납기 내에 고객이 원하는 시스템을 구축을 해야 한다. 부실공사라고 하더라도 목에 칼이 들어와도 일정 준수가 목표이다. 조금 불편한 정도는 내가 알바가 아니다. 목숨걸로 일정을 준수하려고 한다. 운영팀의 느낌은 어떨까? 어떤 사람들이 무언가 시스템을 만들었는데, 개떡 같은 느낌이다.

운영을 해야 하는데, 뭐가 뭔지 모르겠고, 시스템도 엉망인데다가 소스도 엉망인데, 어딜 손대야 할지도 모르겠는데, 메뉴얼 마저 부실하다. 그리고 개발팀 사람들은 개발이 끝났다고 어디론가 하나둘 도망가기에 바쁘다. 이게 현실이다. 그래서 운영팀은 욕을 하면서 어떻게든 운영은 해야 하니 소스를 손봐가면서 어떻게든 끌고간다. 기능들은 어떻게든 동작은 되는데, 뭐 하나 하려면 왜 이렇게 느린지. 그리고 무슨 기능을 하려고 하는데, 낯선 것들 투성이다.

왜 이렇게 만들었을까? 실제 사용할 사람들에 대한 배려는 전혀 없다. 왜 이렇게 되었을까? 그들은 고객의 요구사항에 촛점을 맞추고, 그 요구사항을 구현하기에 바빴다. 운영자들이 어떻게 사용하지에 그리고 어떤식으로 일하는지는 들어볼 새도 없었다. 운영자들이 시스템을 하다 보면 너무 번거롭거나, 버튼의 위치가 불편하거나 너무 느리거나 불편하기 짝이 없다.

그래서 개발팀과 운영팀이 하나가 되어 움직이는 것이다.
운영팀이 실제 운영 시 필요한 것들을 개발에 넣고, 개발팀은 운영관점에서 개발을 하고 구축이 끝나고 운영 시작이 아니라 구축을 하면서 운영을 하는 것이다. 애자일하게 개발을 하고, 그것을 운영에 반영하는 것이다. (CI) 애자일과 CI가 같이 돌아가면서 운영 중심의 개발이 되는 것이다. CI나 애자일은 다시 한번 다루기로 한다. DevOps의 취지는 그러하다. 방법론 자체가 중요한 것이 아니라 개발을 하되 운영 관점에서 개발을 해보자는 취지이다. 많은 곳에서 시도를 하고 있다. 자칫 운영도 하고 개발도 하는 애매한 모습의 팀이 만들어지지기는 하지만, 필요한 방향이라고 본다.

책처럼 전체를 보기를 원하시면 아래 링크를 클릭하시고 북마크 하셔서 보시면 편리합니다. 

https://wikidocs.net/22341