BaaS는 은행 서비스에 맞는 특화 된 아키텍쳐 구조
를 말한다.
여기서 해당 포스팅은 끝났다.
밑에서부터는 짧은 경력 개발자의 개인적인 생각을 적은 것
이다. 은행 서비스나 다른 산업 서비스들도 고객에게 서비스하는 명칭만 다를뿐 대기업 회사들 외부/내부 시스템 전체 구조는 비슷한 듯 하다.
대기업 이커머스, 특화된 자체 솔루션, 내부 관리 시스템, 금융 시스템 등 대체적으로 많은 회사 서비스(시스템)들은 Http/Https 프로토콜을 이용한 외부망에 있는 사용자를 위한 Web Service 프로젝트
와 내부망에 있는 주요 업무를 처리하는 Core 프로젝트
와 전체 서비스를 지원하는 내부 관리 서비스 프로젝트
가 있다.
그리고 사용되는 프로토콜과 네트워크 구조, 레거시 시스템 등 개발 환경 구성에 따라 기술스택 및 구조가 다르기에 대체적으로 외부망과 내부망 기준으로 필요 기술이 다르고 사용되는 도구들이 다르다.
웹서비스에서는 Spring진영의 Spring Cloud Config, Spring Cloud Eureka, Spring Cloud Gateway 등 오픈소스 기술 및 도구들로 라우팅, 로드밸런싱 그리고 Kafka, RabbitMQ 등으로 시스템간에 메시지 처리 등 분산시스템에 필요한 기술로 개발하고 api-doc, Service Mesh, Service discovery, Service registry 등 도구들을 이용해 관리 및 모니터링한다.
하지만 보안이 중요하고 이기종들이 많고 레거시시스템이 존재하는 내부시스템에서는 위와 같은 기술을 활용하진 않지만 위에 모든 기능 역할을 하는 전문회사의 통합시스템 도구을 이용해서 내부 시스템을 데이터통합, 어플리케이션통합, 서비스통합을 하고 관리 및 모니터링한다.
개인적인 생각으로는 java, c, php, vue, react 등 개발언어 기준으로 front-end, back-end 개발자를 나누는게 아닌 vue, react등으로 독립 된 front 프로젝트 서비스를 개발하는 개발자를 front-end 개발자
, end-point에 가까운 웹서비스의 서비스의 프로세스를 개발하는 개발자들을 웹개발자
그리고 그 뒤에 전체적인 시스템 구조상 뒤에 위치해서 웹서비스들을 지원하는 미들웨어, 응용프로그램이나 백엔드 서비스들을 개발하는 back-end 개발자
라고 생각된다.
물론 DB, 인프라, 네트워크, 엔지니어, 데브옵스 등 여러 포지션이 있겠지만...
하여튼 느끼는 것은 하나의 개발 언어로 웹서비스를 구축해보라는 말이 틀린 말이 아니다.
[참고]