본문 바로가기

좋아하는 것_매직IT/10.microservice

19.마이크로서비스, 마이크로서비스아키텍처에서 운영이 중요한 이유는 몰까요?

반응형

 마이크로서비스 아키텍처에서 운영이 중요한 이유?

  • 마이크로서비스 아키텍처에서의 시스템들은 단일 배포 모놀리스 구조가 아님.
  • 각각 모듈은 별도 설치 및 배포, 운영 및 모니터링 해야하는 이슈가 있음.
    • 마이크로서비스 아키텍처의 이슈
      •  프로젝트가 오랜 기간 지속될수록 코드는 더욱 많아질 수 있고, 크기가 증가 될 수 있음.
      • 위의 이슈 발생의 소지를 차단하려면?
        • 마이크로서비스의 크기가 일정하게 유지되도록 해야하고 마이크로서비스 개수가 증가할 수 있도록 신규 마이크로서비스를 구축해야 함.
        • 마이크로서비스가 개수가 증가하면 증가할수록, 운영의 어려움이 시간이 지날수록 커질 수 있음.
        • 이를 해결하는 방법은?
          • 표준화와 자동화

마이크로서비스의 분산 시스템

  • 마이크로서비스는 로컬 메소드 호출 대신 네트워크를 통해 통신함.
  • 따라서 발생할 수 있는 네트워크와 서버 하드웨어 장애 에러 건수가 증가할 수 밖에 없음. 
    • 즉, 모든 컴포넌트의 신뢰성을 담당하는 운영에 대한 요구가 증가됨. 
    • 마이크로서비스가 호출되는 과정에서 특정 마이크로서비스의 장애가 발생할 때, 장애의 근본원인을 식별하기 위한 솔루션 및 방법이 필요함.
      • 집킨(Zipkin) 사용
        • 해당 장애의 근본원인을 추적하기 위해서 주로 현재는 집킨(Zipkin)이라는 기술적 솔루션을 사용함.
      •  ELK 스택 사용
        • 로그 파일 분석을 위해서 모든 마이크로서비스의 장비에 로그인 할 수 없기때문에, 모든 마이크로서비스의 로그파일의 중앙 집중을 위해 ELK 스택 솔루션을 사용함. 
      • 프로메테우스 사용
        • 모든 마이크로서비스에 대한 메트릭을 수집하기위해서 프로메테우스라는 기술적 솔루션을 사용함.    

마이크로서비스의 동적확장

  • 동적확장은 마이크로서비스의 장점 중 하나임.
  • 현재 부하를 처리할 수 있도록 각 마이크로서비스의 인스턴스를 더 많이 또는 적게 실행할 수 있음.
    • 그러므로, 새로운 인스턴스를 시작할 수 있는 기술 및 솔루션을 사용해야함.
      • 쿠버네티스 사용
        • 쿠버네티스는 동적 확장을 수행할 수 있고, 마이크로서비스의 운영을 위해 전체 클러스터의 자원을 사용함.
  • but, 동적확장기술을 사용하더라도, 클러스터에서 사용할 수 있는 서버개수는 제한적임. 인프라가 더 유연해지더라도 확장성을 보장하려면 용량 계획이 반드시 필요함.

마이크로서비스 운영을 위한 접근 방법

    • 배포 
      • 도커 or 쿠버네티스와 같은 마이크로서비스 플랫폼 또는 PaaS(클라우드 파운드리)와 같은 기술로 해결 가능함.
    • 모니터링
      • 프로메터우스와 같은 기술적 솔루션으로 해결 가능함.
    • 로그파일분석  
      • ELK 스택과 같은 기술적 솔루션으로 해결 가능함.
    • 추적
      • 집킨(Zipkin)과 같은 기술적 솔루션으로 해결 가능함.   

마이크로서비스의 독립배포의 필요성

  • 마이크로서비스의 운영 측면의 장점
  • 마이크로서비스는 배포 모놀리스보다 훨씬 작기에 배포하기가 더 쉬움.
  • 마이크로서비스는 독립적으로 배포할 수 있어야함.
    • 왜냐하면, 마이크로서비스가 배포 중 중단되더라도 다른 마이크로서비스는 계속 실행중이기 때문에 복원력으로 인해 심각한 결과가 일어나지 않아야함.
  • 마이크로서비스는 이전 인터페이스와 신규 인터페이스를 병렬로 제공해야 함.
    • 클라이언트가 여전히 이전 인터페이스를 사용할 수 있기에 특정 시점에 새로운 인터페이스를 사용해 배포할 수 있어야함.
  • 즉, 독립배포를 위해 항상 노력해야함.  

 결론

  • 운영을 잘하지 못하면 많은 마이크로서비스를 상용환경에 투입할 수 없음.
  • 마이크로서비스 솔루션의 안정성과 성능은 운영에 크게 의존함. 
  • 즉, 운영은 마이크로서비스에서 매우 중요하다.  

  • 금일의 한마디 명언
    • 말은 뜻을 전달하면 그만이다. -공자- 『논어』
728x90
300x250