티스토리 뷰

기업에서 사용하는 정보시스템은 하나의 프로그램으로만 구성되지 않는다.

사용자·애플리케이션·데이터베이스·업무시스템이 연결된 기업 정보시스템 구조

직원이 웹 브라우저에서 업무 시스템에 접속하면 화면 뒤에서는 서버가 요청을 처리하고, 데이터베이스에서 필요한 정보를 조회하며, 사용자 계정과 권한을 확인한다. 다른 시스템의 정보가 필요하면 API나 미들웨어를 통해 데이터를 주고받기도 한다.

ERP, 그룹웨어, 인사시스템, CRM, 전자결재, 파일 서버와 같은 업무 시스템도 독립적으로 존재하는 것처럼 보이지만 실제로는 여러 인프라와 데이터, 인증 체계를 공유하거나 서로 연결되어 동작하는 경우가 많다.

기업 정보시스템을 이해하려면 특정 제품의 기능보다 먼저 다음 흐름을 이해하는 것이 중요하다.

사용자 → 네트워크 → 애플리케이션 → 데이터 → 다른 시스템

여기에 인증, 보안, 로그, 모니터링 같은 공통 기능이 추가된다.

기업 정보시스템은 여러 기술 계층이 연결된 구조다

정보시스템을 가장 단순하게 나누면 다음과 같은 계층으로 볼 수 있다.

사용자 계층 → 네트워크·접근 계층 → 애플리케이션 계층 → 데이터 계층

실제 기업 환경에서는 여기에 다음 요소가 함께 연결된다.

  • 인증과 접근권한
  • API
  • 미들웨어
  • 메시징
  • 파일·스토리지
  • 보안 시스템
  • 로그와 모니터링
  • 외부 SaaS와 클라우드

따라서 기업 정보시스템을 하나의 서버나 하나의 애플리케이션으로만 이해하면 전체 구조를 파악하기 어렵다.

사용자는 화면을 보지만 실제 처리는 여러 계층에서 이루어진다

직원이 인사시스템에서 자신의 급여명세서를 조회한다고 가정해 보자.

사용자 로그인 → 인증 시스템에서 신원 확인 → 애플리케이션 서버에서 권한 확인 → 데이터베이스에서 급여정보 조회 → 결과 가공 → 사용자 화면에 표시

이 과정에서 웹 서버, 애플리케이션 서버, 데이터베이스, 인증 시스템과 네트워크가 모두 정상적으로 동작해야 한다.

따라서 사용자가 하나의 시스템이라고 인식하는 서비스도 실제로는 여러 구성 요소가 연결된 결과다.

사용자 인터페이스는 업무 시스템의 접점이다

사용자 인터페이스는 직원이나 고객이 정보시스템과 직접 상호작용하는 영역이다.

  • 웹 브라우저
  • 모바일 앱
  • PC 프로그램
  • 관리자 콘솔
  • 외부 API 클라이언트

사용자 인터페이스는 입력값을 받아 서버에 전달하고 서버가 반환한 데이터를 사용자가 이해할 수 있는 형태로 표현한다.

이를 일반적으로 Front-end 영역이라고 부르기도 한다.

애플리케이션 계층에서는 업무 규칙을 처리한다

사용자의 요청을 실제 업무 로직으로 처리하는 영역이 애플리케이션 계층이다.

예를 들어 전자결재 시스템에는 다음과 같은 규칙이 있을 수 있다.

  • 결재금액에 따라 승인권자 결정
  • 휴가 신청 시 잔여 휴가 확인
  • 특정 부서만 특정 문서 열람
  • 승인 완료 후 회계 시스템으로 데이터 전달

사용자 요청 → 애플리케이션 서버 → 업무 규칙 처리 → 데이터 조회·변경 → 결과 반환

기업마다 업무 방식이 다르기 때문에 이 애플리케이션 로직이 정보시스템의 핵심적인 차이를 만든다.

데이터베이스는 업무 데이터의 중심 저장소 역할을 한다

기업 정보시스템에서 중요한 구성 요소 중 하나가 데이터베이스다.

  • 고객정보
  • 주문정보
  • 인사정보
  • 회계정보
  • 상품정보
  • 계약정보
  • 업무 처리 상태
  • 시스템 설정

애플리케이션은 필요한 데이터를 데이터베이스에서 읽고 업무 처리 결과를 다시 저장한다.

따라서 기업 정보시스템의 데이터는 단순한 저장 대상이 아니라 여러 업무 프로세스를 연결하는 핵심 자원이다.

모든 데이터가 하나의 데이터베이스에 저장되는 것은 아니다

기업에는 여러 업무시스템이 존재하기 때문에 데이터베이스도 여러 개 운영되는 경우가 많다.

ERP 데이터베이스 → 회계·구매·재고

CRM 데이터베이스 → 고객·영업

HR 데이터베이스 → 임직원·조직

그룹웨어 데이터베이스 → 결재·일정·게시물

각 시스템이 독립적으로 데이터를 관리하면 안정성과 책임 범위를 구분하기 쉽지만 동일한 정보가 여러 시스템에 중복 저장될 수 있다.

따라서 기업에서는 데이터 연계와 동기화가 중요한 문제가 된다.

API는 서로 다른 업무시스템을 연결하는 대표적인 방식이다

현대적인 기업 정보시스템에서는 API(Application Programming Interface)를 이용해 시스템 사이에 데이터를 전달하는 경우가 많다.

API와 미들웨어를 통해 ERP·CRM·물류·SaaS가 데이터를 교환하는 구조

API는 한 시스템이 다른 시스템의 기능이나 데이터를 일정한 규칙에 따라 호출할 수 있도록 만든 인터페이스다.

쇼핑몰 → ERP → 물류 → 결제 → 고객 알림

시스템이 서로 연결되어 있지 않다면 담당자가 같은 데이터를 여러 시스템에 반복 입력해야 할 수도 있다.

API를 이용하면 이러한 데이터를 자동으로 전달할 수 있다.

미들웨어는 시스템 사이에서 통신을 중재한다

기업의 시스템 수가 증가하면 모든 시스템을 일대일로 직접 연결하는 방식은 복잡해질 수 있다.

이를 개선하기 위해 미들웨어나 통합 플랫폼을 사용할 수 있다.

  • 데이터 전달
  • 데이터 형식 변환
  • 메시지 라우팅
  • 시스템 연결 관리
  • 오류 처리
  • 업무 프로세스 연계

미들웨어는 서로 다른 시스템 사이에서 통신을 중재하고 업무 흐름을 연결하는 역할을 할 수 있다.

실시간 연계와 비동기 연계는 구조가 다르다

동기 방식

한 시스템이 다른 시스템에 요청을 보내고 결과가 올 때까지 기다리는 방식이다.

시스템 A → 요청 → 시스템 B → 응답 → 시스템 A

실시간 처리가 필요한 업무에 적합하지만 상대 시스템의 장애가 요청 시스템에도 영향을 줄 수 있다.

비동기 방식

한 시스템이 메시지를 전송한 뒤 상대 시스템의 즉각적인 응답을 기다리지 않는 방식이다.

주문 시스템 → 메시지 큐 → 물류 시스템

수신 시스템에 일시적인 장애가 발생하더라도 메시지를 보관한 뒤 나중에 처리하는 구조를 만들 수 있다.

인증 시스템은 여러 업무시스템의 접근을 통제한다

기업에는 여러 애플리케이션이 있지만 모든 시스템이 사용자 계정을 각각 따로 관리하면 운영이 복잡해진다.

사용자 → 인증 시스템 → 신원 확인 → 업무 시스템 접근

이 과정에서는 다음 요소가 중요하다.

  • 사용자 계정
  • 비밀번호 또는 인증수단
  • MFA
  • 사용자 역할
  • 접근권한
  • 세션 관리

인증과 권한관리는 대부분의 업무 서비스가 공통적으로 의존하는 핵심 기반이다.

네트워크는 모든 정보시스템을 연결하는 통신 기반이다

애플리케이션과 데이터베이스가 정상적으로 구성되어 있어도 네트워크가 연결되지 않으면 서로 통신할 수 없다.

사용자 PC → 사용자망 → 방화벽 → 웹·애플리케이션 서버 → 데이터베이스망 → DB 서버

외부에 공개되는 서비스라면 로드밸런서, WAF, DMZ 같은 구성 요소가 추가될 수 있다.

클라우드 환경에서도 구조의 기본 원리는 유사하다.

로그와 모니터링도 정보시스템의 중요한 구성 요소다

운영 환경에서는 시스템의 상태를 지속적으로 확인할 수 있어야 한다.

  • 사용자 로그인
  • 애플리케이션 오류
  • 서버 CPU·메모리
  • 데이터베이스 상태
  • API 호출
  • 네트워크 통신
  • 보안 이벤트
  • 업무 처리 결과

로그와 모니터링이 없다면 장애가 발생했을 때 원인을 확인하기 어렵다.

따라서 Observability 역시 현대적인 정보시스템의 중요한 구성 요소로 볼 수 있다.

기업 정보시스템은 서로 의존하기 때문에 하나의 장애가 확산될 수 있다

정보시스템이 서로 연결되면 업무 자동화와 데이터 활용은 좋아지지만 의존성도 증가한다.

중앙 인증 시스템에 장애가 발생하면 여러 업무시스템의 로그인 기능이 동시에 중단될 수 있다.

따라서 다음과 같은 질문이 필요하다.

이 시스템이 중단되면 어떤 다른 시스템이 영향을 받는가.

외부 API가 응답하지 않으면 업무를 계속할 수 있는가.

인증 서버가 중단되면 기존 사용자는 계속 서비스를 이용할 수 있는가.

연계 데이터 전달 실패 시 재처리할 방법이 있는가.

레거시 시스템과 클라우드·SaaS가 함께 연결되는 경우가 많다

현대 기업의 모든 시스템이 최신 클라우드 환경에 존재하는 것은 아니다.

온프레미스 ERP + 클라우드 애플리케이션 + SaaS 협업 서비스 + 외부 고객 서비스

이러한 환경에서는 VPN이나 전용 연결, API, iPaaS, 미들웨어 등을 이용해 서로 다른 시스템을 연결할 수 있다.

Point-to-Point 연결이 많아지면 관리가 어려워질 수 있다

시스템이 적을 때는 필요한 시스템끼리 직접 연결하는 방식이 단순할 수 있다.

하지만 시스템 수가 증가하면 인터페이스와 의존 관계도 빠르게 복잡해진다.

규모가 커지면 API Gateway, ESB, 메시지 브로커, iPaaS 같은 통합 구조를 검토할 수 있다.

정보시스템 연결에서는 단순히 연결할 수 있는가보다 변경과 장애를 관리할 수 있는 구조인가가 중요하다.

보안은 정보시스템 모든 계층에 적용되어야 한다

영역 주요 보안 고려사항
사용자 계정·MFA·권한
네트워크 방화벽·망분리·접근통제
애플리케이션 인증·입력값 검증·취약점 관리
API 인증·인가·호출 제한
데이터베이스 접근권한·암호화·로그
서버 패치·계정·보안 설정
로그 위변조 방지·보존·모니터링

기업 정보시스템의 보안은 특정 장비 하나가 아니라 전체 연결 구조에서 설계해야 한다.

시스템 연계에서 데이터 기준도 중요하다

업무시스템이 많아질수록 어떤 시스템의 데이터를 기준으로 사용할 것인지 결정해야 한다.

예를 들어 직원의 부서정보가 인사시스템, 그룹웨어, ERP, 접근권한 시스템에 모두 존재할 수 있다.

이때 기준 시스템을 명확히 하지 않으면 동일한 데이터가 시스템마다 달라질 수 있다.

따라서 정보시스템 통합은 기술적인 API 연결 문제이면서 동시에 데이터 관리 문제이기도 하다.

좋은 정보시스템 구조는 업무 흐름을 기준으로 설계해야 한다

기업 정보시스템을 구성할 때 최신 기술을 많이 사용하는 것이 목적은 아니다.

  • 어떤 사용자가 이용하는가
  • 어떤 업무를 처리하는가
  • 어떤 데이터를 사용하는가
  • 어떤 다른 시스템과 연결되는가
  • 실시간 연계가 필요한가
  • 장애 발생 시 영향 범위는 어디까지인가
  • 어떤 보안 통제가 필요한가
  • 로그와 모니터링이 가능한가
  • 향후 변경과 확장이 쉬운가

좋은 정보시스템은 정상 상황에서만 동작하는 시스템이 아니라 장애와 변경, 확장까지 고려한 시스템이다.

기업 정보시스템은 데이터와 업무 흐름이 연결된 하나의 구조다

기업 정보시스템은 ERP나 그룹웨어 같은 개별 프로그램의 목록이 아니다.

사용자 요청이 인증·애플리케이션·데이터베이스·API를 거쳐 처리되는 기업 시스템 흐름

사용자가 요청을 보내고 애플리케이션이 업무 규칙을 처리하며 데이터베이스에서 정보를 읽고 쓰고, 필요한 경우 다른 시스템과 데이터를 교환하는 전체 구조다.

사용자 → 인증 → 네트워크 → 웹·애플리케이션 → 데이터베이스 → API·미들웨어 → 다른 업무시스템

그리고 이 전체 과정에 보안, 로그, 모니터링이 함께 적용된다.

기업 시스템이 복잡해질수록 중요한 것은 개별 서버의 사양보다 어떤 시스템이 어떤 데이터를 가지고 있으며 어떤 업무 흐름으로 서로 연결되는지를 파악하는 것이다.

이 구조를 이해하면 이후 API, 미들웨어, 데이터베이스, IAM, 클라우드, 보안 아키텍처와 같은 기술도 각각 독립된 기술이 아니라 하나의 기업 정보시스템을 구성하는 요소로 이해할 수 있다.

참고자료

  1. Microsoft Azure Architecture Center - Azure Application Architecture Fundamentals
  2. Microsoft Azure Architecture Center - Get Started with Web App Architecture Design
  3. Microsoft Azure Architecture Center - Basic Enterprise Integration on Azure
  4. IBM - What Is Enterprise Application Integration?
  5. IBM - What Is Middleware?