brunch

You can make anything
by writing

C.S.Lewis

by Master Seo Nov 06. 2022

21탄-3. AWS-현대화-잡코리아- MSA

잡코리아의 마이크로 서비스로 전환 과정을 정리한 내용이다.


최근 본 내용 중 가장 실무적으로 설명된  내용으로 추천합니다.


<1> 잡코리아, 알바몬   프로젝트

<2> 문제점?

<3> 개선 방향?

<4> 정리



<1> 잡코리아, 알바몬   프로젝트


1

발표?

베스핀 글로벌 CNE팀

CNE팀은 MSA 컨설팅 및 MSA 관련 솔루션 개발


2

잡코리아, 알바몬?

채용광고, 인재 검색, 아르바이트 , 해드헌팅, 교육사업, 서비스 러닝, 취업 지원 사업


3

프로젝트 3개?

데이터 레이크와 ML옵스를 위한 통합 데이터 AI플랫폼 구축

클라우드 전환 및 인프라 현대화 프로젝트

자바 및 MSA전환 프로젝트


4

클라우드 전환 및 인프라 현대화 프로젝트

도전?

잡 플랫폼 경쟁력 제고

모놀리식 개발 한계

낙후된 인프라



<2> 문제점?


1

규모가 커짐에 따라 시스템도 대형화되어, 빌드나 배포, 서버 가동시간이 오래 걸림

한두 사람의 실수 자체가 전체 빌듯이, 빌드가 안 되는 문제를 유발

프로젝트가 커질수록 점점 협업하기가 어려워짐

컴포던트들이 강하게 결합되어 있어 특정 컴포넌트나 모듈에서의 성능 문제나 장애가 다른 컴포넌트까지 영향을 주게 됨.

코드가 너무 커져서 유지보수가 어려워짐

기존 로직이나 데이터나 인터페이스 등의 변경에 대해서 영향을 파악하기도 어렵고 문제를 찾기도 힘든 상황.

배포가 잦은 경우에도 불리한 요소로 작용함.  

사소한 컴포턴트 수정인데 전체 애플리케이션을 재 컴파일해서 배포 필요함. QA도 거쳐야 해서 시간이 오래 걸림.

시스템이 기능 단위로 분리되어 있지 않다 보니 시스템 간의 연계나 증대에 대한 유연한 대응이 어려워짐

새로운 버전이나 기술을 도입하기 어려워짐.

조직이 점점 커질수록 코드가 비대해질수록 변화에 대해 점점 바꾸기가 힘들어지는 상태.

개발 검증 운영에 대한 표준을 만들고, 유사 기능이나 중복 개발로 인한 부분들에 대해  관리 포인트를 줄이고

운영 효율을 위해서 플랫폼 리뉴얼을 진행함.


2

기존 통자 구조의 서비스를 작은 기능 단위로 나누어서 개발의 경량화와 기능 간의 독립성을 얻도록 MSA방식의 애플리케이션 현대화를 추진하였습니다.


3

기존 IDC에서 EKS기반의 컨테이너로 변경하여, 자원의 효율화와 MSA 도입으로 인해 복잡해질 수 있는 인프라에 대한 관리방안 마련

고 수준의 워크로드를 지원할 수 있는 구조로 인프라 현대화 및 배포 자동화 시도.




<3> 개선 방향?


1

방향 3가지.

잡 플랫폼 리뉴얼

애플리케이션 현대화 - MSA적용

인프라 현대화, 배포 자동화


2

단계적 인프라 현재화 전략?

기능적으로 도메인 분리하여 MSA기반 마련

작게 만들고 작은 기능을 엮어서 큰 서비스를 만듦

데이터 베이스는 프로시저가 많아 마지막에 진행 예정.

EKS, ECR, ElastiCache, KMS, DirectConnect, RDS, MSK , EC2(SPOT) 사용


3

EKS기반으로 기능별로 나누어진 서비스들이 컨테이너로 운용될 수 있도록 환경을 조성하고 서비스 사이의 연계를 위해 Istio를 도입함.

자동화된 CI/CD툴을 사용하여 개발자가 GitOps를 통해 쉽게 배포할 수 있는 환경을 제공함.

디렉트 커넥트를 통해 IDC에 위치한 데이터 베이스로부터 빠르고 안정적으로 데이터를 다룰 수 있도록 함.

// 아직 데이터베이스는 IDC에 있다.


4

테라폼 코드를 통한 인프라 관리.

젠킨스, Argo CD 구성, 소나 큐브 구성함.

보안을 위한 내부 검증(코드 리뷰)

패커, 엔 서블 사용하여 골든 이미지 생성 및 관리.


5

CI/CD는 젠킨스 사용.  자동화함.

버킷 ----젠킨스---- ECR (패커와 엔시블)---- Argo CD , 스프링 부트,  App 배포

Istio(이스 티오) 정책  yaml 사용

로그 수집과 모니터링 - 데이터 독 사용


6

시스템 로그 및 기타 로그 수집?

Fluentd  및 OpenSearch서비스를 이용한 로그 수집과 S3 및  Cloudwatch에 로그를 아카이 빙하는 방안에 대해 테스트 진행됨.

그라파나에서 제공 하는 loki라는 솔루션으로 로그 수집 테스트도 진행 중


7

테라폼으로 초기 세팅


8

EC2 서버 및  EKS Node에 고객 보안 정책 및 백신 툴 설치가 필수로 요구?

해당 설정이 되어 있는 골든 이미지 필요하여 Packer와 Andible 이용하여 자동으로 골든 이미지를 생성하는 환경이 구성되어 있다.

Packer로 커스텀 환경설정을 위한 임시 서버를 생성

생성된 서버에 엔서블을 이용해 커스텀 설정을 적용한다.

설정이 완료되면 패커에서 이미지 생성 및 지정된 계정으로 공유

임시 서버를 삭제한다.


동작

비트 버킷으로 만들어진 소스가 트랜싯 게이트웨이를 통해 AWS내부로 들어온다.

베스천에 있는 패커를 통해 이미지 빌더가 이루어진다.

만들어진 이미지가 AMI의 골든 이미지로 생성되는 구조이다.



<4> 정리


1

고객의 명확한 요구사항에서 도출된 아키텍처는 뚜렷한 방향성을 보인다.

정확한 로드맵 상에서 수행 가능해짐.


2

배 스핀 글로벌은  컨설팅 서비스를 제공한다.



동영상으로 보기

https://kr-resources.awscloud.com/aws-modern-applications-innovate-kr?trkCampaign=innovate-mad-apj&trk=8159fdbd-621c-485c-97ab-e8cd038a5dff&sc_channel=em&mkt_tok=MTEyLVRaTS03NjYAAAGHz34lWJNa6J-wTjB48cYn9hm8C3prCsMi3GiZf9mvALKI976ZXQdaF7neFDqB1zdeb-wkkC6gvBSxzQ7fgYLUBbo9yXJJhZFVpvuasfTlJ9V1gDAQQ1rB




다른 기업 사례 요약 보기

https://brunch.co.kr/@topasvga/2790




감사합니다.


브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari