brunch

You can make anything
by writing

C.S.Lewis

by 한상훈 Feb 19. 2017

웹 개발 구조의 역사와 미래

지난 20년 동안의 웹, 서버, 데이터베이스 그리고 기술의 변화

초기의 웹 사이트

21세기가 오기도 전 웹사이트는 주로 C와 Perl을 이용해 개발되었다. 당시엔 데이터베이스 프레임워크가 현재처럼 있던 시절이 아니었다. 인터넷 속도는 느렸고, 서버를 설치하고 운영하는 비용이 상당했으니 데이터베이스까지 신경쓸만큼 여유가 되지 않았다. 그 결과 대부분의 웹사이트는 소위 '웹마스터'라고 불리는 사람이 제작하는 형태였다. 그러나 곧 트렌드는 변화했다.


데이터 베이스, 서버 그리고 기본적인 기술들


몇년이 지난 후 사람들은 인터넷에서 더 즐거운 것들을 하길 원했다. 이러한 욕망은 멀티미디어 웹으로 반영되었다. 플래시와 액티브X가 사용되었고, 웹 사이트 구조는 점점 더 복잡해졌다. 이에 따라 웹 개발의 역할은 웹마스터에게서 클라이언트 개발자, 서버 개발자, 그리고 웹 디자이너로 나뉘게 되었다.


웹서버 기술은 ASP, JSP, PHP를 가져왔다. 이러한 다양한 기술적 진보에 따라 인프라 구조를 담당하는 기술 역시 발전하여 여러 복잡한 요청을 처리할 수 있게 되었다. 서버사이드 프레임워크가 개발됨에 따라 더 효율적인 데이터베이스 구조를 원하게 되었고 그 결과 MySQL, SQL server등이 이를 만족시키게 된다.


AJAX를 이용한 동적 데이터 전송

구글이 전세계 웹 개발자들에게 충격을 가져왔다. 구글 맵은 페이지 변화없이 데이터를 전송하는 기능을 보여주었다. 그때까지만 해도 데이터 전송 메커니즘은 상당히 정적이었다. 그 전까지 몇몇의 개발자들은 프레임을 이용해 마치 동적으로 데이터를 전송하는 것 같은 효과를 만들었지만 그것은 페이크였다. 반면 구글은 AJAX라는 기술을 이용하여 웹이 완전히 새로워질 것을 모두에게 보여주었다.

구글 맵은 페이지 전환 없이 마우스 스크롤만으로 데이터 요청과 전송을 했다.

 AJAX는 비동기식 자바스크립트와 XML을 뜻한다. 구글의 천재적인 개발자들은 혁신적인 비동기식 데이터 처리 메커니즘을 세상에 제시했고, 이를 자바스크립트로 구현했다. 오랜 시간 자바스크립트는 여러 에러와 브라우저 호환 문제, 불안정성, 기준이 정립되지 않음 등으로 천덕꾸러기 취급을 받았다. 최초의 자바스크립트는 그저 웹에서 장식을 하는 수준으로 쓰였고, 기능도 역할도 한정적이었다. 그러나 이러한 트랜드의 변화는 다이나믹 웹(동적 웹)의 시대를 열었고, DHTML과 XHTML등에 관심을 보이게 만들었다.


웹 앱의 시대


HTML5 표준화에 따라 클라이언트 사이드 기술 역시 진보했다. 이제는 더 많은 JSON 활용과 웹서비스라 불리는 API가 출현했다. 2000년대 후반에 이르러서는 많은 프레임워크과 라이브러리가 등장하게 되고 그 중 대표적인 것들은 jQuery과 Prototype 등이다. 웹서버 분야에서는 ASP.net, JSP, PHP, Python, Ruby가 자리를 채우게 되었고 2008년 이후로 등장한 구글 Docs는 데스크탑 프로그램에서 웹 앱으로의 변화를 잘 보여준 예이다.


현재

수많은 일들이 이후로도 일어났지만 그 중 가장 중요한 사건을 꼽으라면 모바일 디바이스의 엄청난 확대와 클라우드 컴퓨팅을 빼놓을 수 없다. 소위 클라우드라고 줄여서 불리는 서비스는 네트워크를 사용하는 수많은 서비스의 비용을 수십배에서 수백배까지 줄였다고 할 수 있다. 기존의 서버는 서버 하드웨어를 구입하고, 설치하고, 연결하고, 그것을 관리하는 인력까지 고려해야하며 각각의 기술은 절대 쉬운 일이 아니었다. 반면 아마존을 필두로 발전하는 클라우드 서비스 시장은 이제 대기업들 뿐 아니라 정부 기관과 CIA 같은 곳에서도 사용하는 인프라가 되었다.


전세계에서 가장 큰 클라우드 서비스인 아마존 웹 서비스(AWS)

데이터 베이스의 트렌드 역시 지속적으로 변화했다. 큰 데이터 베이스 처리에 사용되는 NoSQL과 여전히 강력한 관계형 데이터베이스까지 복합적으로 사용된다. 꽤 긴 시간 LAMP stack이라 불리는 웹 개발 스택이 강세였지만 이것이 MEAN stack으로 옮겨져 갔고, M을 담당하던 MongoDB에서 PostgreSQL로 대체한 PEAN stack역시 많이 쓰이고 있다. 

그 뿐 아니라 Angular.js는 2버전으로 진화하면서 더 많은 엔터프라이즈가 사용하는 보편적 프레임워크가 되었으며, 페이스북에서 개발하고 지원하는 React.js 와 React Native 역시 차기 프레임워크로 전도유망하다. 


미래

내가 상상하는 미래는 웹은 더 웹 앱에 가까워지고, 데스크탑 프로그램은 줄어들 것으로 보고 있다. 어디서든 언제던 사용할 수 있는 프로그래시브 웹 앱은 모든 플렛폼과 디바이스에 호환하는 것을 목표로 한다. 이러한 프로그래시브 웹앱은 설치가 필요한 프로그램들을 하나씩 밀어낼 것으로 보인다. 또한 데이터 전송과 저장 비용은 엄청난 속도로 감소하고 있고, 이러한 가격 하락에 따라 클라우드 시장은 급속도로 성장할 수 밖에 없을 것이다. 

Github는 더 많은 오픈소스와 개발자들을 모을 것이다.

모바일 디바이스는 아직까지 안드로이드와 iOS를 바탕으로 성장했지만 앞으로는 경쟁자들을 만나게 될 것이다. 수많은 회사들이 자신만의 OS로 사람들을 끌어모으기 위해 모든 노력을 하고 있다. 그뿐 아니라 깃허브는 전세계에서 가장 큰 프로그래머 커뮤니티이며, 오픈소스 저장소이다. 이러한 오픈소스 기술은 '바퀴를 다시 발명하지 않는다.'는 개발자들의 말을 따라 빌드 과정을 가속화할 것이고, 스타트업들에게 좋은 소스로 사용될 것이다. 마이크로소프트가 그토록 밀어내려고 했던(거의 전쟁이라 선포한) 오픈소스에 도리어 그들이 앞장서는 모습을 보면 앞으로의 개발 트렌드가 어떨지 잘 보여준다 말할 수 있다.

다양한 디바이스에서 모두 인터넷을 활용하므로 웹 개발자들에게 있어선 더 많은 호환성을 가지는 제품을 웹을 바탕으로 구현해야할 것이다. 미래는 웹 개발자들과 웹 어플리케이션에게 있어 절대 닫히지 않을 만큼 열려있다.





매거진의 이전글 웹 사이트 빌드 프로세스
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari