brunch

You can make anything
by writing

C.S.Lewis

by Edward Yoon Apr 20. 2021

서비스 공학과 기술 부채

서비스 공학의 출현


 인터넷 월드 와이드 웹 WWW 패러다임 이후 너도나도 혁신을 이야기한 지 20여 년이 지난 지금 자연스럽게 자리를 잡은 것은 ‘플랫폼’과 ‘서비스'다. 지능적으로 연결된 세계에서 서비스 확산은 제품이 확산되는 속도보다 월등히 빠르다. 가령, 전 세계를 상대로 물품 배달을 하는 서비스업체를 만드는 데는 인터넷이 활용될 것이며 필요한 프로세스를 탑재한 서비스를 출시하면 그만이다.


 인터넷이 세상의 모든 것을 서비스화 하는데 일조했다고 생각한다. 2008년부터 서비스 공학 (Service Engineering) 이라는 용어가 탄생하고 연구되기 시작했다. 서비스 과학(Service Science)과 공학은 세계적으로 유명한 IT 회사 IBM이 최초로 사용한 용어로서, 서비스 프로세스와 운영에 관한 혁신과 디자인을 주로 과학적인 방법으로 다룬다. 


 이 때문에 인터넷 서비스 회사는 소프트웨어 중심의 컴퓨터 공학 회사가 아니며, 인터넷 서비스 회사는 서비스 과학과 그에 맞는 서비스 소프트웨어 공학 기법을 필요로 한다.

 

 오늘날 현업에서 활동하는 많은 개발자는 이러한 서비스 과학과 서비스 소프트웨어 엔지니어링 보다는 소프트웨어 중심의 컴퓨터 공학에 익숙해서 만들어낸 실수가 기술 부채를 야기하는 경우가 있다.


서비스의 기술 부채


 인터넷 서비스 회사는 대부분 서비스 운영을 위해 엔지니어링 기술 조직을 보유하고 있다. 그 조직은 크고 작은 다양한 기술적 문제를 가지고 있는데, 이는 대부분 365일 24시간 무정지로 운영되어야만 하는 서비스를 지탱하기 위해 발생하는 문제다. 


 과거 은행의 금융 서비스 시간은 오전 10시부터 오후 5시까지였다. 사람이 하는 일이다 보니 밥도 먹어야하고 퇴근도 해야하는 것이다. 인터넷은 그러한 퇴근 자체가 없다.  ‘24시간 무정지로 운영되는 온라인 서비스’의 제약 환경에서 꾸준히 서비스를 개선하며 진행하는 소프트웨어 엔지니어링은 생각보다 어렵다.


 가령, 꾸준히 접속하는 고객을 응대하며 영업중인 서비스에는 영향이 없도록 내부에서 운영 정책을 변경하고 데이터베이스에 은밀히 반영해야하는 상황을 생각해볼 수 있다.


 모든 고객의 연결을 끊고 셧다운 후에 진행하는 작업보다 복잡도가 증가할 수 밖에 없고, 이러한 과정이 반복되면 시스템 구조와 소스 코드는 서서히 꼬여가기 시작한다. 


 통상 소프트웨어를 개발하는 개발자는 보통 명확한 설계도와 시작과 끝이 분명한 일정을 원하기 때문에 이러한 환경과 제약에 극심한 스트레스를 경험하게 한다. 이러한 종류의 문제를 편하게 통칭하여 기술 부채, 이를 타개할 모호한 솔루션을 “개발 문화”로 지목하는 경향을 본다.


 개발하는 방법과 관점을 바꿔야 한다. 점점 변하고 있는 서비스 향 “소프트웨어 아키텍처와 개발 프로세스”를 탐색하며 공부하는 것이 이러한 문제의 적절한 해답을 모색하고 보다 나은 인터넷 서비스 개발을 도와줄 것이다. 

브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari