웹 서비스를 구축하는 방법
4차산업혁명시대에 다양한 온라인 기반 플랫폼이 등장하면서 스타트업이 등장하고 IT를 기반으로 하는 많은 서비스들이 쏟아져 나오고 있다. 기존에 오프라인 시장이라고 생각 했던 산업들이 디지털 트랜스포메이션을 통해 IT 서비스로 변화하고 있다.
그러면 웹 서비스를 어떻게 추구하는 걸까?
프로그램 개발자, 서버 엔지니어, 네트워크 엔지니어, 보안 전문가, 서비스 기획자, 품질관리자, 프로젝트 관리자, IT 서비스를 컨설팅 해주는 컨설턴트 등 다양한 전문인력들이 팀을 이루어 서비스를 개발해야 전문적이고 체계적인 웹 서비스를 만들겠지만,
여기에서는 일반적인 중견기업에서 사용하는 메인 홍보 홈페이지를 구축한다고 가정해 보자
첫번째는 인프라 구성 방향을 결정해야 한다. 서버 및 네트워크, 보안 장비 등에 대한 구성이 필요하다. 기존에 전산실을 보유하고 있는 상태에서 온프레미스 형태로 구성한다고 하면 홈페이지 회원 가입이나 게시판 등을 저장 할 수 있는 DBMS 서버, WEB 서버, WAS 서버를 도입하여 구축해야 한다. 서버를 도입할때는 정보시스템 하드웨어 규모 산정 지침을 참고하여 필요 용량을 산정하고 그에 맞는 하드웨어 장비를 구입하면 된다. 보안 장비의 경우 기존에 구축 된 장비를 활용하면 되지만 만약에 없다면 정보화 예산을 고려하여 IPS, 웹 방화벽, 방화벽 등을 구축해 주면 된다.
만약에 정보화 예산이 부족하다면 UTM 장비를 고려해 볼 수도 있다. 주로 정보화 예산이 충분하지 않는 조직에서 많이 사용되는 장비이다.
자체적으로 전산실 내에 구축하기가 어려운 환경이라면, 클라우드 서비스를 적극 이용해야 한다. 클라우드 서비스 업체를 선정하고 클라우드 SLA(Service Level Agreement)를 협의하여 서비스에 대한 품질을 보장 받아야 한다. 정기적으로 요금을 납부하여 서비스를 이용 할 수 있다.
두번째, 서비스를 위한 아키텍처를 구성해야 한다. 개발하려는 프로그래밍 언어를 선정해야 한다. 주로 php, asp, jsp를 이용하여 개발하지만 오픈 소스 기반인 jsp를 이용하여 주로 개발한다. 서블릿 형태로 개발할지 스프링 같은 별도의 개발 프레임워크를 도입해서 개발할지 결정해야 한다. WEB/WAS 에 필요한 라이선스도 구매해야 한다.
국내 제품인 제우스 등이 있으며 외산으로는 대표적으로 웹로직이 있다. 만약에 라이선스를 구매할 수 있는 여력이 안된다면 오픈 소스 기반인 톰캣을 설치하여 구성할 수도 있다. 오픈 소스를 사용하는 경우 향후 서비스 상에 문제가 생겼을때 오픈 소스 이기 때문에 제조사로 부터 기술지원을 받을 수 없다는 단점이 있다.
DBMS 도 WEB/WAS와 마찬가지로 오라클이나 MS-SQL 같은 상용소프트웨어로 설치를 할건지 MariaDB 같은 오픈소스 기반의 소프트웨어 설치를 할건지 선택 하면 된다.
선택에 있어서 정답은 없으며 서비스 주체, 조직의 정보화 예산, 환경 등을 고려하여 결정 하면 된다.
세번째, 정보보호를 위한 체계를 마련해야 한다. 정보보호를 기본적으로 관리적, 물리적, 기술적 측면에서 체계를 마련해야 한다. 일반적으로 홈페이지 같은 경우 회원 가입 기능이 구현되기 때문에 그에 따른 개인정보 수집이 발생 된다. 개인정보를 안전한 암호화 알고리즘을 통해 암호화 하여야 하며 사용자 계정 정보의 경우에 비밀번호는 단방향 암호화 알고리즘(해쉬)을 적용해야 한다.
CC(Common Criteria)인증 제품을 받은 암호화 솔루션을 구매하여 적용하는게 가장 안전한 방법이며, 그마저도 쉽지 않으면 AES, DES, SHA 등의 알고리즘을 적절히 선택해야 한다. 비밀키 기반의 알고리즘을 선택하게 되면 그에 따른 비밀키 관리체계 또한 필수적으로 고려해야 한다.
이렇게 제반 사항을 마련하고 실제 프로젝트를 진행하여 프로그램을 설계하고 개발 후 테스트를 수행한다. 테스트는 최대한 빨리 시작하는게 좋으며 예산 상에 여유가 있는 경우에는 버그바운티 형태로 적절한 보상을 주고 불특정 다수를 대상으로 테스트를 수행하는 것도 하나의 방법이다. 많은 예산을 들이지 않아도 조직의 내부 직원들을 대상으로 소액의 상품권이나 쿠폰을 제공해 주고 테스트를 임하게 하는 방법도 있을 것이다.
마지막 네번째는 유지보수 체계를 마련해야 한다. 시스템이 구축 되고 오픈이 되면 시스템 개발처럼 중요한 부분이 향후 어떤 방식으로 시스템을 잘 관리해 나가느냐가 중요하다. 시스템에 대한 형상관리자 지속적인 품질관리, 외부 환경 변화 등에 대해 지속적으로 시스템을 유지해 나갈 수 있는 방법을 마련해야 한다. 대표적으로는 ITSM(Information Technology Service Management)를 통해서 요청사항 및 수정 사항을 체계화 해 나가야 한다. 시스템에 영향이 많이 발생되는 요구 사항의 경우에는 요구사항변경관리위원회 등을 구성하여 요구사항을 적용할지에 대해 결정하는 것도 하나의 방법이다.
시스템은 개발하는것도 중요하지만 지속적으로 유지관리하는 부분도 매우 중요하며, 서비스를 지속해 나가는 동안 외부 해킹이나 정보 노출 또는 유출 부분에 대해서도 지속적으로 각별히 신경을 써야 한다.
'IT인사이트' 카테고리의 다른 글
서버, 네트워크, 스토리지 등 장비 교체시 고려사항 (0) | 2025.04.12 |
---|---|
ITSM(Information Technology Service Management)가 필요한 이유 (0) | 2023.06.14 |
IT 프로젝트에서 이해관계자가 왜 중요할까 (0) | 2023.04.26 |
IT 프로젝트가 실패하는 이유 (0) | 2023.04.07 |
정보화 사업 추진 시 일괄 발주, 상용SW직접 구매, 단계별 발주 조건 (0) | 2023.04.05 |