어제 MSA를 공부하다보니... CI/CD라는 개념을 알게 되었고
이와 관련하여 개발자로 일을 하게된다면 이건 꼭 해보고 알아야겠다는 것 까지 깨달았다. =_= 나의 메타인지 수준이다.
이후 내용 추가할 예정!
왜 MSA가 선택이 아닌 필수 일까?
참고 사이트 : https://www.msaschool.io/operation/design/design-eight/
빠르게 변화하는 기술에, 사용자들의 기대와 요구도 덩달아 높아집니다.
msa는 API별로 DB가 따로 따로 되어있어요.
기존에 jsp로 했을 때는,
예를들어 우리가 대학교 강의 어플이 있따고 생각해보자.
로그인
마이페이지 api
수강신청 api
수강 목록 조회 api 등등이 있는데
수강신청날이 되면, 수강신청 쪽 서버만 다운이 되는게아니라
다같이 죽었죠. 서버 접속이 안되었습니다.
그렇게 되면 모든 개발팀이 함께 야근을 하죠.
그런데 msa를 하게되면
수강신청에 유저가 몰리면, 수강신청만 다운이되고
수강신청 개발팀만 야근을 하면 (...)됩니다.
나머지 API와 DB는 사용이 가능한거죠.
여기서, CI/CD가 왜 나왔냐면,
이건 재배포 과정에서
기존방식대로라면 프로젝트들이 한 데에 몰려있으면
버그+서버 다운이 일어났죠.
( (충돌) 야 너도 죽을래? 나도 죽을게)
매번 수십개의 프로젝트를 재배포해야 합니다.
그럼 재배포하는 과정까지도 개발자는 힘을 써야했죠. (ex: jar파일 다운받아서 매번 올리고.. 업뎃하고..)
그런데, MSA의 CI/CD는 재배포를 자동적(Automation)으로 해줄 수 있게 하면서
개발자는 개발에만 집중을 할 수 있게 된다는 구조적 이점이 생기게 된 것입니다.
'IT_정보모음' 카테고리의 다른 글
as-is / to-be란 무엇인가 (0) | 2022.12.15 |
---|---|
CI/CD란 무엇인가? (0) | 2022.12.13 |
MSA, Gateway,Load-balancing (0) | 2022.12.02 |
클라우드 서버에 대하여 (feat. 클라우드 플랫폼?) (0) | 2022.12.01 |
CDN이란 무엇인가? (0) | 2022.11.30 |