brunch

You can make anything
by writing

C.S.Lewis

by Edward Yoon Jun 21. 2021

2. 컴퓨터 공학과 인터넷 서비스 공학

 이러한 인터넷 시대를 반영하여 대학교에도 90년대 후반부터 빠르게 컴퓨터 공학이나 정보통신학 관련한 전공이 신설되기 시작했다. 하지만 그 당시 컴퓨터 공학은 소프트웨어 중심이 아니고 오히려 전자공학에 가깝고 하드웨어 위주의 교육이었다. 우리나라의 반도체나 제조 중심의 발전이 결코 우연은 아닌 것이다.

 더구나 인터넷 서비스에서의 소프트웨어는 조금 다른 얘기다. 여기서 잠깐 소프트웨어보다 인터넷 서비스 그 자체를 먼저 다루고자 한다.


1.2.1. 서비스 공학의 출현


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

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

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

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



1.2.2. 인터넷 서비스의 기술 부채


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

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

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

 모든 고객의 연결을 끊고 셧다운 후에 진행하는 작업보다 복잡도가 증가할 수 밖에 없고, 이러한 과정이 반복되면 시스템 구조와 소스 코드는 서서히 꼬여가기 시작한다. 이러한 종류의 문제를 편하게 통칭하여 기술 부채라 말한다. 


  소프트웨어를 개발하는 개발자는 보통 명확한 설계도와 시작과 끝이 분명한 일정을 원하기 때문에 이러한 환경과 제약에 극심한 스트레스를 경험한다.

  대규모 온라인 서비스를 위한 “소프트웨어 아키텍처와 개발 프로세스” 챕터는 이러한 문제의 적절한 해답을 제시하고 보다 나은 인터넷 서비스 공학을 도와줄 것이다.

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