웹 서비스 기술 스택이 바뀌었다
웹 서비스란 아주 단순화해서 말하자면 “사용자에게 인터넷을 통해 필요한 데이터를 보기 좋게 전달 해 주는 것”이라고 볼 수 있는데, 그렇다면 웹 서비스에 필요한 기술 스택은 당연히 아래의 세 가지로 나뉜다고 할 수 있다.
데이터 저장 데이터 조작 데이터 출력 어디서 많이 본 리스트, MVC. 웹서비스든, 앱서비스든, 인터넷을 통한 서비스를 한다면 고려할 것은 이게 전부라고 해도 과언이 아니다.
그런데, 불과 몇 년 전까지만 해도, 데이터 조작과 출력을 모두 한 단계의 웹 서버단에서 처리했는데, 이제는 데이터 조작은 서버에서, 출력은 클라이언트에서 하는 것으로 바뀌었다.
더불어 하드웨어가 발전하고, 네트웍이 빨라지고, 모바일 시대가 열리고, 브라우저의 기능이 놀랍도록 발전하면서, 데이터 조작의 주체도 바뀌게 되었다는 것이 더 중요한 변화라고 할 수 있는데, 그 주체는 바로 데이터 저장소로만 여겨졌던 DBMS와 브라우저다.
따라서, 이제 웹 서버에서 돌아가는 어플리케이션은 단순히 데이터 저장소와 브라우저간의 게이트웨이와 무결성 체크 기능이 대부분이고, 그 외의 복잡한 연산은 필요치 않게 되었다.
또한 가상 서버/환경과 관련한 기술들의 발전으로 인해 대량의 서버를 쉽게 이용할 수 있게 되면서, 데이터들과 기능의 의미 기반에 따라 웹 서비스 기술 스택을 잘게 나눠 분산시키는 형태로 바뀌었으며, 각각의 스택은 최대한 가볍고 단순한 설계를 기반으로 작성하는 것이 효율적인 시대가 되었다.
이에 따라 웹 서비스 개발을 함에 있어, 개발자의 업무는 더욱 더 분업화 될 것이며, 특히 HTTP의 기본 프로토콜의 이해와 각종 API 사용/설계를 위한 경험이 더욱 중요해지게 될 것으로 보인다.