BBUWOO'S [ LIKE UNIX ] WORLD Home > Lecture > Iservice > Iservice-2  

HOME
WHAT's BBUWOO?
LInux AnNyung
Open Source
    GitHUB
    GitHUB (for PHP)
LECTURE
MINI LECTURE
QnA BOARD
ENGLISH POEM


WARNNING

강좌의 모든 권리는 본인 김정균에게 있으며 이 강좌를 상업적 목적 으로 이용
하거나 다른 곳으로 옮길시에는 본인의 허락이 있어야 한다. 이글의 가장 최신글은
http://oops.org 에서 확인할수 있다.



2. WEB Service

현재 우리가 사용하고 있는 protocol은 http v1.1 이다. http v1.1에 대해서 우리가 알아야 할 이유는 무엇인가 부터 짚어 보겠다. 일단 우리가 http v1.1 을 사용하는지 http v1.0을 사용하는지에 대해서 알고 있는 사람들은 드물다. 그리고 이것을 몰라도 사용하는데는 전혀 지장이 없다. 그렇다면 왜 이런 주제를 끌고 나온것일까?

간단하게 말해서 브라우져의 지원여부 때문이다. 사용자 입장이라면 아무 생 각 없이 되면 사용하고 안되면 버리면 그뿐이지만, 기획자나 설계자의 입장 에서 이것을 고려하지 않는다는 것은 아주 큰 miss가 될수도 있기 때문이다.

http v1.1 에서 가장 큰 특징은 바로 가상호스트 지원 여부이다. 가상 호스트 의 여부가 가장 큰 특징이 된것은 ipv4 로 이루어진 현재의 ip address (ipv4 방식은 32bit의 구조를 가지고 있다) 가 폭발적인 인터넷 사용의 증가로 인하 여 고갈이 되기 시작했으며, 대체 ip address방식인 ipv6(48bit)으로 전환되 기 까지의 과도기를 위하여 하나의 ip address에 여러개의 domain name을 물 려서 서로 다른 시스템인것과 같이 트릭을 사용하는 방법이 주가 되었기 때문 이다.

또하나는 바로 web server daemon의 선택 여부를 들수 있다. 이는 OS의 선택 문제와도 직결이 될수가 있다.

현재 주로 사용이 되고 있는 웹서버의 종류를 들어 보면 Apache, IIS (Internet Information Server), Netscape Enterprise Server 를 들수 있으며 이들 웹 데몬들은 각각 Like Unix, Windows NT/2000, Unix 에서 주로 사용이 되어진다 고 보면 된다. 즉 위의 데몬들을 선택하면 OS가 결정이 될수가 있고 그 반대로 이루어 질수도 있다. 보통 Apache와 Netscape Enterprise Server는 서로 같은 OS에서 사용을 할수 있으므로 이건 동일하게 보도록 하고 설명을 하겠다.

현재 서버군은 Unix 계열과 Windows 계열로 양분화가 되어 있다고들 한다. 하지만 여기서 웹데몬(또는 웹OS)의 선택에 대한 결정을 하기 위해서는 각 시 스템의 특징을 알고 있어야 한다. 웹서비스의 특징은 DB와 웹프로그래밍 적인 부분과 리소스 사용 부분, 그리고 관리자 부분에서 다루어 보고자 한다.

[ 프로그래밍 관점 ]

웹프로그래밍에 주로 사용이 되는 언어에는 servlet, php, asp, rubi, perl 등의 언어가 있다. asp를 제외한 위에 열거한 언어들은 2가지 운영체제군에 서 보두 사용이 가능하지만 asp의 경우에는 windows 계열에서만 사용이 가능 하다. 물론 asp cron과 같은 언어들이 나와 unix군에서도 사용이 전혀 불가 능 한 것은 아니지만 위에 열거한 다른 언어들이 window보다 unix군에 최적 화가 되어 있듯이 window계열에서의 asp만큼 성능을 발휘하지는 못하며 많은 제약이 있다. 즉 asp를 이용하려면 windows 계열을 사용해야만 한다는 것이다.

사용가능 OS 모든 OS Only Windog System
Language Java Servlet, JSP, PHP, RUBI, PERL, C, C++ 등 ASP

[ DB 관점 ]

우리나라에서 가장 많이 사용되는 database로는 Oracle, MS-sql, mysql 정도 이다. 이중 Oracle이 현재로서는 가장 많이 사용되고 있으나 MS-SQL역시 현 재의 추세로 보아서는 상당수 Oracle을 따라잡아 가는 형편이다. mysql의 경 우에는 Linux를 사용하는 중소기업 형태나 벤쳐기업에서 웹서비스에 가장 많 이 사용을 하고 있다.

여기서도 운영체제를 비교하자면, MS-SQL의 경우에는 windows 계열에서만 사 용이 가능하다. 그리고 다른 OS에서 접근을 시도하는데 많은 제약이 있다. 호환성 부분에서는 모든 M$ 제품이 그러하듯이 상당히 폐쇄적인 면을 가지고 있다.

보통 웹프로그래밍 쪽에서는 asp+MS-SQL , mysql+PHP 가 궁합이 잘 맞는다 고 한다. 현재 내가 근무하고 있는 곳의 경우에는 mysql+PHP 와 oracle+PHP 를 적용하고 있다.

사용가능 OS 모든 OS Only Windog System
DB Oracle, MySQL, INFORMIX, SYBASE 등 MS-SQL serise

[ 리소스 사용 관점 ]

이 부분은 웹서비스시에 어떠한 운영체제를 선택하느냐를 따질수 있다. 일단 동일 사양에 튜닝을 동일하게 했을 경우 (대용량 서버의 경우는 여기 서 배제하도록 한다. 이는 튜닝을 어떻게 하느냐에 따라 결과값이 너무 달 라지며, 각 진영 마다 서로 지들이 잘났다고 선전하고 있다 ^^) 를 놓고 하드웨어 적으로 설명을 해 보겠다.

일단 아무서비스도 하지 않을 경우의 리소스 사용률은 windows 계열이 월 등하게 높다. 즉 쓸데없이 사용하는 리소스 사용률이 높다는 것이다. 이는 windows계열이 GUI(Graphic User Interface)를 운영하기 위해 기본적으로 리소스를 많이 할당을 하기 때문이다. 물론 unix계열도 GUI를 사용하기는 한다. 하지만 unix의 경우에는 GUI를 application의 차원으로 사용을 하 고 있기 때문에 windows 계열 보다는 리소스 사용률이 월등하게 낮다.

이렇게만 본다면 왜 windows 계열을 사용하느냐는 지적이 나올수도 있다. 하지만 이것은 여러가지 관점을 무시한채 단순히 리소스 사용률만 따지고 있기 때문이다.

NOS (Network Operation System)을 선택을 할때에 고려를 해야 할 부분 에는 관리자가 어느 부분에 능통한가, 개발환경은 어떤것으로 할것인가, 즉 위의 프로그래밍분야와 DB쪽을 고려를 해야 한다는 것이다. 즉 이것 은 unix군이 windows군 보다 리소스가 낳다고 하지만 동영상 서비스 분 야를 보면 unix군이 windows군보다 성능이 월등하게 떨어지는 것과 같은 각각의 영역을 구축하고 있다고 생각을 해야 한다.

[ 관리자적 관점]

위에서 열거한 내용들도 상당히 고려를 해야 할 부분이지만 가장 고려를 많이 해야 할 부분이 관리자적 관점이다. 즉 아무리 Linux가 좋다고 해도 또는 Windog System이 좋다고 해도 관리자가 다룰줄을 모르면 그것은 꽝 인것이다. 현재 Windog System이 높은 성장률을 보이고 있는 이유는 말 그대로 친숙한 Interface로 인한 관리를 쉽게 배울수 있다는 장점이 존재 하기 때문이다.

하지만 대형 서비스로 나아갈 경우 친숙한 Interface로 인해 배우시 쉽 다는 이득은 없어지게 되고, Windog System에서도 고급 튜닝 기법과 보 안 정책이 보강이 되어야 한다. 이쯤되면 전문적인 관리자가 필요하게 되 는 것이다.

여기 까지는 관리자의 존재 여부의 필요성에 대한것 이었고 다시 본론으 로 들어가서, 먼저 기획자는 회사의 관리자가 어느 OS에 능통한가를 살 펴 보아야 한다. 즉 아무리 Windog System이 우월하다고 해도 관리자가 Linux밖에 모른다면 Windog System은 자기의 능력의 10%정도도 제대로 발휘를 하지 못하기 때문이다. 그렇다면 리눅스의 능력이 windog의 60% 정도 밖에 안된다고 해도 오히려 능력이 딸리는 리눅스를 이용하는 것이 50%정도의 효율이 높을수 밖에 없는 것이다. 그렇기 때문에 관리자가 어 느 OS계통인지도 알아 두어야 한다.

또한 관리자가 부재가 될경우 쉽게 구할수 있는 관리자 계통의 OS를 선 택 하는 것이 현명한 일이다. 즉 귀하면 귀할수록 몸값이 비싸지고 이 것은 그대로 운영비용을 늘어나게 하는 요소가 되는 것이다.

이때 까지 몇몇 관점을 따로따로 각각 분석을 해 봤다. 그렇다면 이제 정리를 해야 할때도 된것 같다. 실제로 각각의 중요성이 다 있지만 상 반되는 부분도 상당히 많다. 이것을 잘 조율을 할수 있는 기획자야 말 로 비싼 몸값을 받을수 있는 기획자가 될수 있는 것이다.

여기서 내가 결론을 내리기는 힘들것 같다. 나도 나름대로의 전공이 존재하고 그렇기 때문에 내가 내 전공보다 모르는 OS에 대해서는 평가 절하를 할수 밖에 없기 때문이다. 다만.. 여기서 내가 적고자 하는 바는 관리자겸 개발자로서 기획에 참여해 오면서 기획자들이 고려를 해 주지 않는 또는 지식이 상대적으로 부족한 기술적인 부분에 대한 지식을 기획자들에게 전달이 될수 있으면 하는 바램이다.



>> 이전 : NAME Service



    



 Home > Lecture > Iservice > Iservice-2

Copyright 1997-2024 JoungKyun Kim 
LAST MODIFIED: 2017/01/18