Web 2.0 비지니스가 이슈로 떠오르면서 많은 기업들의 웹 어플리케이션에서의 아키텍쳐 모델에 변화가 일어나고 있습니다. 즉, Lightweight Architecture(이하 LA)라는 놈인데.. 많은 기업에서 이를 기반으로 하여 서비스에 적용하고 있습니다. 물론 아직까지 우리나라에서는 서비스를 하고 있는데가 있는지는 모르겠지만 거의 제 귀에서는 아직 들리지 않는 것 같습니다만. 하지만 중소 규모의 Web 2.0기업에서는 기업의 비지니스를 런칭하기 위해서는 Starting Cost를 줄여야만 하는 이유도 아키텍쳐의 변화에 타당성을 높여줍니다. 이러한 점에서 LA는 Web 2.0 기업의 비즈니스에서 중요한 부분을 차지하고 있다고 할 수 있습니다.

그래서 기존의 고가 장비로 이루어진 소수의 서버에서 다양한 업무를 수행하는 3-Tier 개념에서 저가의 리눅스 장비를 통해 비교적 가벼운 비즈니스를 지원하는 2-Tier 개념을 도입하고 장비의 Cluster화 하여 충분한 부하를 견딜 수 있도록 설계를 합니다. 이를 좀 더 자세히 살펴보기 위해 Hardware적인 측면과 Software적인 측면으로 나누어 생각할 수 있습니다.

1. Hardware 측면

3-tier

                                   그림1. 3-Tier Architecture

Architecure

                                    그림2. 2-Tier Architecture

이렇듯 기존의 3-Tier에서는 고비용이어서 Scale-up 전략을 추구하게 되는데 이는 정확한 용량 계획을 해야만 과잉 지출 등을 예방할 수 있기때문에 그에 필요한 업무 로드도 무시 못하죠. 여러분 중 용량 계획을 해 본사람들은 알 것입니다.
그리고 2-Tier방식에서는 Scale-out 전략을 구사하게 되죠. 로드 발란싱을 통해 WorkLoad를 저가 장비의 분산하는 전략을 말합니다.

2. Software 측면

Architecture

                      그림3. Lightweight Software Architecture

소프트웨어 측면에서의 전략은 기존 3-Tier 기반에서 Application은 J2EE + EJB와 같은 복잡한 Framework를 사용하여 무겁고 유지보수 비용이 높았는데 아마존이나 플리커에서 높은 개발 생산성 과 낮은 소유비용을 가지는 PHP, ruby on rails, 혹은 Struts, Spring + iBatis, Hibernate 등의 보다 가벼운 J2EE Framework으로 이전 하고 있다. 또한 개별 Service에 가장 적합한 형태의 Framework를 구축할 수 있어 개발 생산성과 유지 보수 비용면에서도 많은 효율을 보일 수 있습니다.

즉, 적재 적소에 모듈화된 비즈니스 로직을 안정적으로 제공하고, Time-to-Market을 달성하는 것이야 말로 대다수의 웹 비즈니스 기업들이 LA를 선택하는 이유이다.

+ Recent posts