brunch

You can make anything
by writing

C.S.Lewis

by Master Seo Nov 15. 2022

21탄-5. AWS-LGCNS -LG그룹의 MSA

<1> BuildCenter

<2> 마이크로 서비스

<3> 파이프라인을 통한 테스트 자동화

<4> 모니터링

<5> 서버리스와 MSA 프로젝트 장점, 단점

<6> 개인 정리




<1> BuildCenter


1

애자일 방식

퍼블릭 클라우드 사용

컨테이너 , 서버리스 사용



<2> 마이크로 서비스


1

모니터링, 로깅, 애플리케이션, 랜딩존, ci/cd 파이프라인

테라폼, 클라우드 포메이션

스피네이커, 슬랙


2

랜딩존 기반으로 진행함.


3

구성?

공통 인프라 - 랜딩존 (오가니제이션, IAM 보안, CI/CD , 모니터링)

공통 서비스 - EMAIL, SSO

프런트 앤드 서비스  ROUTE53 , CLOUDFRONT , S3

세션 서비스 - ELASTICACHE

백엔드 서비스 - API GATEWAY , LAMBDA

데이터 서비스 - AURORA

인터페이스 서비스 - ECS , ECR, BATCH , STEP FUNCTION

상담 녹취 데이터 - SPEECH TO TEXT  서비스

소셜 데이터를 분석 서비스

기업의 내부 데이터 분석 서비스


4

각각의 서비스는 apigw를 통해 통신한다.


5

7,000 애플리케이션 관리한다.

테라폼이나 클라우드 포메이션 사용 중.

코드에 대한 배포는 테라폼을 사용한다.


6

소스 버전 관리는 비트 버킷을 사용한다.

젠킨스 처리

테라폼으로 배포한다.

빌드 후 슬랙을 통해 노티를 받는다.

배포 시 코드 분석을 통해 보안 취약성을 검토해주는  테라스 캔을 사용한다.

WAF도 사용

클라우드 와치, CMS설루션으로 모니터링



7

프런트 앤드 서비스  ROUTE53 , CLOUDFRONT , S3

세션 서비스 - ELASTICACHE

백엔드 서비스 - API GATEWAY , LAMBDA


위 3가지는 클라우드 포메이션을 통해 개발자가 직접 배포


8

데이터 서비스 - AURORA

인터페이스 서비스 - ECS , ECR, BATCH , STEP FUNCTION

vpc 등 인프라 서비스


위 3개는 테라폼으로 데이 옵스 엔지니어가 배포한다.


9

인프라는 테라폼 사용.

개발자는 애플리케이션은 클라우드 포메이션 사용


10

개발자는 SAM(Serverless Application Model) Framework를 사용한다.

로컬에서 시에라를 통해 람다를 테스트할 수 있다.

SAM으로  서버리스를 관리한다.


11

테스트 자동화는?

개발 리소스 50%를 테스트 자동화에 쏟을 정도로 중요하게 생각한다.




<3> 파이프라인을 통한 테스트 자동화


1

정적 분석 도구 - SonarLint , SonarQube , JIRA 연동

Unit Test 도구 - jnut / jest / Mocha , Istanbul (테스트 커버리지 측정)

API TEST 도구 - Postman / Swagger

UI TEST도구 - Cypress / Selenium



2

API TEST 도구 - Postman / Swagger

Swagger를 이용한 문서 자동화

Postman을 이용한 테스트 자동화



<4> 모니터링


빌드 모니터링?

젠킨스 내에 설치된 블루오션 플러그를 통해 빌드 테스트를 시작화 해서 확인하고 있습니다.

최종 빌드 성공하면  슬랙을 개발자에게 노티가 된다.



<5> 서버리스와 MSA 프로젝트 장점, 단점


1

장점?

서 비리 스라 비용

iac로 빠른 배포



2

단점?

서버리스의 배우는데 러닝 커브

각종 자원의 리밋 - 람다는 15분 제한으로 배치 사용이 어려움.




<6> 개인 정리


테스트 자동화에 대해 자세히 설명이 된다.





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



감사합니다.






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