콘텐츠로 이동

2021 09 14

2021-09-14

구구 수업 복습

  • 서비스 개션 - 늘어나는 도메인 지식 - 변경된 사용자 요구사항 - 경쟁사 대응 - 공부하면서 알게 된 기술 적용
  • 유지보수 역량 - 만드는 것은 누구나 한다 - 서비스를 유지하고 발전하는 것이 어려움 - 기업들은 서비스 개발 마인드를 가진 개발자가 필요 - 서비스를 지속적으로 발전시키기 위한 역량 - 협업 - 리팩토링 (유지보수) - 바뀌는 상황과 참가자들의 역량에 따라 점진적인 리팩토링 필요! - 카카오뱅크 vs KB금융 - 거대한 은행 시스템은 리팩터링 불가능 - 계속 새로운 앱을 출시하는 이유
  • 레거시 극복기 1. 빅뱅 전략 - 레거시는 쓰레기 - 처음부터 다 다시 만들어! - but, 실패했을 경우 리스크 큼 - 새로 만드는 동안 비즈니스 요구사항 제한적 수용 - 운영에 서비스 되어야 발견되는 이슈 못 찾음 2. 점진적인 리팩터링 - 레거시 시스템을 단계적으로 마이그레이션 - but, 느리고 답답한 방식 - 그래도 빅뱅보단 나아! - 스트랭글러 패턴: https://johngrib.github.io/wiki/strangler-pattern/ - 다른 언어 -> 자바 - 게이트웨이 라우팅 패턴: https://docs.microsoft.com/ko-kr/azure/architecture/patterns/gateway-routing - 요청에 따라 다른 언어로 구현한 서비스로 라우팅
  • 모놀리스 -> 마이크로서비스 - Why MSA? - 장점 - 확장성, 견고성, 유연성 - 단점 - 네트워크 거치는 컴퓨터 간의 통신은 즉각적이지 않음 - 트랜잭션 처리가 힘듦 - 시스템 복잡도 올라가면서 운영 비용이 올라감 - 처음부터 도메인을 잘 이해하고 서비스 경계 나눌 수 없음! - 소규모 조직에서 감당할 수 없음 - 서비스를 먼저 성공시키는 것이 중요